freebsd-dev/sys/alpha/include
Peter Wemm 6eb39ac8fc Use a generic implementation of the Fowler/Noll/Vo hash (FNV hash).
Make the name cache hash as well as the nfsnode hash use it.

As a special tweak, create an unsigned version of register_t.  This allows
us to use a special tweak for the 64 bit versions that significantly
speeds up the i386 version (ie: int64 XOR int64 is slower than int64
XOR int32).

The code layout is a little strange for the string function, but I was
able to get between 5 to 10% improvement over the original version I
started with. The layout affects gcc code generation choices and this way
was fastest on x86 and alpha.

Note that 'CPUTYPE=p3' etc makes a fair difference to this.  It is
around 45% faster with -march=pentiumpro on a p6 cpu.
2001-03-17 09:31:06 +00:00
..
pc Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
_limits.h Move all VCS ids to a consistent location. 2000-12-28 18:21:32 +00:00
alpha_cpu.h Implement inline assembler wrappers for PALcode calls and for alpha 1999-11-29 19:57:51 +00:00
ansi.h Correct disordering which is corresponding to bde's fix to 2001-02-17 14:51:11 +00:00
asm.h Fix problems booting large kernels on alphas. The symptom is that the kernel 2000-10-16 20:15:43 +00:00
atomic.h Only use 1 set of memory barrier operations with the atomic_*_{acq,rel}_ptr 2000-10-25 00:15:21 +00:00
bootinfo.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
bus_memio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
bus_pio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
bus.h The alpha architecture is 64 bits, so bus_addr_t && bus_size_t should really 2001-01-09 18:17:48 +00:00
bwx.h * Completely rewrite the alpha busspace to hide the implementation from 2000-08-28 21:48:13 +00:00
chipset.h * Completely rewrite the alpha busspace to hide the implementation from 2000-08-28 21:48:13 +00:00
clock.h Move DELAY() from <machine/clock.h> to <sys/systm.h> 2000-10-15 09:51:49 +00:00
clockvar.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
cpu.h Rename switch_trampoline() to fork_trampoline() on the alpha and ia64. 2001-02-22 16:56:53 +00:00
cpuconf.h Next phase in the PCI subsystem cleanup. 2000-12-08 22:11:23 +00:00
cpufunc.h Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
db_machdep.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
elf.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
endian.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
exec.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
float.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
floatingpoint.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
fpu.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
frame.h * Move exception_return to exception.s which is a more logical home for it. 2001-02-02 10:20:30 +00:00
globaldata.h - Make astpending and need_resched process attributes rather than CPU 2001-02-10 02:20:34 +00:00
globals.h - Remove compatibility macros for accessing per-cpu variables. 2001-01-11 14:46:26 +00:00
ieee.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ieeefp.h Finish moving all IEEE fp types to be the same on all arch's. 2000-05-10 19:41:40 +00:00
in_cksum.h Make in_cksum() a macro call to in_cksum_skip(), since it provides the 2000-05-06 18:18:32 +00:00
inst.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
intr.h Use the MI ithread helper functions in the alpha hardware interrupt code. 2001-02-09 17:53:23 +00:00
intrcnt.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ioctl_bt848.h Merge from i386: Add MSP ioctl 2000-10-27 07:07:24 +00:00
ioctl_fd.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ioctl_meteor.h Add include files to alpha/include directory. 2000-04-15 08:07:56 +00:00
ipl.h Wrap the IPI definitions and function prototypes in #ifdef SMP. 2001-01-24 10:25:09 +00:00
limits.h Move all VCS ids to a consistent location. 2000-12-28 18:21:32 +00:00
md_var.h Next phase in the PCI subsystem cleanup. 2000-12-08 22:11:23 +00:00
mutex.h Fix mtx_legal2block. The only time that it is bad to block on a mutex is 2001-03-09 07:24:17 +00:00
pal.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
param.h Fix CMSG and ALIGN macro usage. 2000-11-08 16:59:25 +00:00
pcb.h - Don't call clear_resched() in userret(), instead, clear the resched flag 2001-02-20 05:26:15 +00:00
pcpu.h - Make astpending and need_resched process attributes rather than CPU 2001-02-10 02:20:34 +00:00
pmap.h Move MAXCPU from machine/smp.h to machine/param.h to fix breakage 2000-09-23 12:18:06 +00:00
proc.h Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
profile.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
prom.h Alpha 8200: Add prototype from promcnattach. 2000-03-18 08:00:51 +00:00
psl.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
pte.h Zap some latent problems hidden by differences between KERNEL and _KERNEL. 1999-11-22 15:14:56 +00:00
ptrace.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
reg.h Remove offensive language. 2000-06-25 09:30:53 +00:00
reloc.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
resource.h * Implement bus_set/get/delete_resource for pci. 1999-10-14 21:38:33 +00:00
rpb.h Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
setjmp.h Work around a bug by adding struct tags. gcc-2.95 apparently gets the 2000-10-06 11:53:32 +00:00
sgmap.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
sigframe.h sigset_t change (part 3 of 5) 1999-09-29 15:06:27 +00:00
signal.h Make MINSIGSTKSZ machine dependent, and have the sigaltstack 2000-11-09 08:25:48 +00:00
smp.h Catch up to moving headers: 2000-10-20 07:58:15 +00:00
stdarg.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
swiz.h * Completely rewrite the alpha busspace to hide the implementation from 2000-08-28 21:48:13 +00:00
sysarch.h The kernel side of per-process unaligned access control (printing, fixing & 2000-01-16 07:07:33 +00:00
types.h Use a generic implementation of the Fowler/Noll/Vo hash (FNV hash). 2001-03-17 09:31:06 +00:00
ucontext.h Don't include <machine/frame.h>. 1999-10-08 09:09:13 +00:00
varargs.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vmparam.h Make sysv-style shared memory tuneable params fully runtime adjustable 2000-03-30 07:17:05 +00:00