freebsd-dev/sys/i386/include
peter 156ac8e9c7 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 Add PCI BIOS function codes for IRQ routing fetch and route. 2000-10-19 08:02:46 +00:00
_limits.h Our SHRT_MIN definition was actually 4 bits too big. 2000-11-04 21:01:44 +00:00
ansi.h Fixed disordering in previous commit. "Fixed" a null comment in previous 2001-02-17 03:57:38 +00:00
apic.h Remove the leading underscore from all symbols defined in x86 asm 2001-02-25 06:29:04 +00:00
apicreg.h Remove the leading underscore from all symbols defined in x86 asm 2001-02-25 06:29:04 +00:00
apm_bios.h Add output of per battery information to apm(1). 2000-08-13 17:05:27 +00:00
apm_segments.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
asc_ioctl.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
asm.h Fixed the profiling version ALTENTRY(). Again. The previous version 2000-01-25 09:01:55 +00:00
asmacros.h Always use the ELF naming after the demise of asnames.h. 2001-02-25 07:23:03 +00:00
atomic.h RIP <machine/lock.h>. 2001-02-11 10:44:09 +00:00
bootinfo.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
bus_at386.h version 1.7 made some changes to correct problems identifed by compiling 2001-03-02 05:33:53 +00:00
bus_dma.h version 1.7 made some changes to correct problems identifed by compiling 2001-03-02 05:33:53 +00:00
bus_memio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
bus_pc98.h Merged from sys/i386/include/bus_at386.h revision 1.13. 2001-03-02 08:31:38 +00:00
bus_pio_ind.h Added indirect pio into the bus space stuff for the NEC PC-98. bus.h 2000-03-29 03:15:22 +00:00
bus_pio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
bus.h Added indirect pio into the bus space stuff for the NEC PC-98. bus.h 2000-03-29 03:15:22 +00:00
cdk.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
clock.h Move DELAY() from <machine/clock.h> to <sys/systm.h> 2000-10-15 09:51:49 +00:00
comstats.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
cpu.h Changed the aston() family to operate on a specified process instead of 2001-02-19 04:15:59 +00:00
cpufunc.h Assembler fixes. 2000-11-21 20:16:49 +00:00
cputypes.h First shot at identifying the Pentum 4 acording to our reading of the 2000-09-29 04:38:35 +00:00
cronyx.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
db_machdep.h Fix style bug: order includes 1999-10-04 13:55:35 +00:00
dvcfg.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 Spell what was originally "unsigned long" as "unsigned long" again, 2001-03-06 11:35:04 +00:00
exec.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
float.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
floatingpoint.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
frame.h Interrupt frames don't include the saved cpl anymore since cpl is dead. 2000-10-06 01:57:28 +00:00
globaldata.h Activate USER_LDT by default. The new thread libraries are going to 2001-02-23 01:25:02 +00:00
globals.h Implement optimized PCPU accessors. These are necessary to support a 2001-01-21 03:11:03 +00:00
gsc.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
i4b_cause.h update to i4b version 0.95.04 2000-10-09 13:18:17 +00:00
i4b_debug.h Add a debug flag bit for a new driver. 2000-10-18 08:39:24 +00:00
i4b_ioctl.h Add experimental support for Eicon.Diehl DIVA 2.0 and 2.02 ISA PnP cards. 2001-01-26 13:12:56 +00:00
i4b_isppp.h update to i4b version 0.95.04 2000-10-09 13:18:17 +00:00
i4b_rbch_ioctl.h update to isdn4bsd beta release 0.90 1999-12-14 20:54:38 +00:00
i4b_tel_ioctl.h update to i4b version 0.95.04 2000-10-09 13:18:17 +00:00
i4b_trace.h update to i4b version 0.95.04 2000-10-09 13:18:17 +00:00
ieeefp.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
if_wl_wavelan.h Fix typo: compatability -> compatibility. 2001-02-06 12:05:58 +00:00
iic.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
in_cksum.h These files are mpsafe. 2000-11-25 03:01:05 +00:00
ioctl_bt848.h Fix typo in comments 2000-10-31 14:30:29 +00:00
ioctl_ctx.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +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 Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
ipl.h - Overhaul the software interrupt code to use interrupt threads for each 2000-10-25 05:19:40 +00:00
legacyvar.h Get out the roto-rooter and clean up the abuse of nexus ivars by the 2000-09-28 00:37:32 +00:00
limits.h Our SHRT_MIN definition was actually 4 bits too big. 2000-11-04 21:01:44 +00:00
md_var.h Remove the last of the MD netisr code. It is now all MI. Remove 2000-12-05 00:36:00 +00:00
mpapic.h Remove the NCPU, NAPIC, NBUS, NINTR config options. Make NAPIC, 2000-09-22 23:40:10 +00:00
mptable.h Kill the 4MB kernel limit dead. [I hope :-)]. 2001-03-15 05:10:06 +00:00
mtpr.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +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
nexusvar.h Get out the roto-rooter and clean up the abuse of nexus ivars by the 2000-09-28 00:37:32 +00:00
npx.h Declare or #define per-cpu globals in <machine/globals.h> in all cases. 2000-10-27 08:30:59 +00:00
param.h Fix CMSG and ALIGN macro usage. 2000-11-08 16:59:25 +00:00
pcaudioio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
pcb_ext.h Activate USER_LDT by default. The new thread libraries are going to 2001-02-23 01:25:02 +00:00
pcb.h Activate USER_LDT by default. The new thread libraries are going to 2001-02-23 01:25:02 +00:00
pci_cfgreg.h Add types and prototypes. 2000-10-16 19:49:30 +00:00
pcpu.h Activate USER_LDT by default. The new thread libraries are going to 2001-02-23 01:25:02 +00:00
pcvt_ioctl.h Add support for "green" saver mode. 2000-03-31 08:29:21 +00:00
pecoff_machdep.h Add PECOFF (WIN32 Execution file format) support. 2000-12-20 12:51:08 +00:00
perfmon.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
physio_proc.h Use queue macros. 2001-01-24 00:01:42 +00:00
pmap.h Increase NKPT from 17 to 30. This fixes the 4GB ram boot panic on both 2000-11-30 01:53:02 +00:00
proc.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
profile.h Change and clean the mutex lock interface. 2001-02-09 06:11:45 +00:00
psl.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +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 Add a couple of debug register helper functions to assist in setting 2000-09-21 17:07:27 +00:00
reloc.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
resource.h * Implement bus_set/get/delete_resource for pci. 1999-10-14 21:38:33 +00:00
segments.h Declare or #define per-cpu globals in <machine/globals.h> in all cases. 2000-10-27 08:30:59 +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
sigframe.h Fix type of sf_addr. 1999-12-04 10:40:24 +00:00
signal.h Make MINSIGSTKSZ machine dependent, and have the sigaltstack 2000-11-09 08:25:48 +00:00
smb.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
smp.h Defer assignment of low level interrupt handlers for PCI interrupts 2001-01-28 01:07:54 +00:00
smptests.h Zap last remaining references to (and a use use of) of simple_locks. 2001-01-31 04:29:52 +00:00
speaker.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
specialreg.h Add the CR4 values for P3 SIMD enabling support. FXSR tells the cpu that 1999-09-10 15:51:44 +00:00
spigot.h Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 04:46:21 +00:00
stdarg.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
sysarch.h Add a couple of debug register helper functions to assist in setting 2000-09-21 17:07:27 +00:00
trap.h Removed all traces of T_ASTFLT (except for gaps where it was). It became 2001-02-19 15:47:38 +00:00
tss.h Declare or #define per-cpu globals in <machine/globals.h> in all cases. 2000-10-27 08:30:59 +00:00
types.h Use a generic implementation of the Fowler/Noll/Vo hash (FNV hash). 2001-03-17 09:31:06 +00:00
uc_device.h Update sysinstall to use struct uc_device instead of struct isa_device 2000-03-24 22:24:09 +00:00
ucontext.h Add a per-signal flag to mark handlers registered with osigaction, so we 1999-10-11 20:33:17 +00:00
varargs.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
vm86.h Some reorganization of sysarch() interface: 1999-09-02 20:59:50 +00:00
vmparam.h Make sysv-style shared memory tuneable params fully runtime adjustable 2000-03-30 07:17:05 +00:00
wtio.h $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00