freebsd-dev/sys/i386
Scott Long 88591e04af The run_filter() procedure is a means of working around DMA engine bugs in
old/broken hardware.  Unfortunately, it adds cache pressure and possible
mispredicted branches to the fast path of the bus_dmamap_load collection of
functions.  Since it's meant for slow path exception processing, de-inline
it and allow its conditions to be pre-computed at tag_create time and thus
short-circuited at runtime.

While here, cut down on the size of _bus_dmamap_load_buffer() by pushing the
bounce page logic into a non-inlined function.  Again, this helps with
cache pressure and mispredicted branches.

According to the TSC, this shaves off a few cycles on average.  Unfortunately,
the data varies quite a bit due to interrupts and preemption, so it's hard to
get a good measurement.  Real world measurements of network PPS are welcomed.
A merge to amd64 and other arches is pending more testing.
2006-09-11 06:48:53 +00:00
..
acpica Refine previous revision to allow acpi_wakecode.h to be safely built 2006-09-06 14:23:40 +00:00
bios APM was calling the suspend process from a timeout. This meant that 2006-05-25 23:06:38 +00:00
compile
conf Eliminate one set of XBOX #ifdefs. The Xbox code just needs to set a 2006-08-09 23:47:38 +00:00
cpufreq Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
i386 The run_filter() procedure is a means of working around DMA engine bugs in 2006-09-11 06:48:53 +00:00
ibcs2 Regen to propogate <prefix>_AUE_<mumble> changes as well as the earlier 2006-08-15 17:37:01 +00:00
include First pass at allowing memory to be mapped using cache modes other than 2006-08-11 19:22:57 +00:00
isa Eliminate one set of XBOX #ifdefs. The Xbox code just needs to set a 2006-08-09 23:47:38 +00:00
linux Change futex lock from mutex to sx. Make futex_get atomic (protected by the 2006-09-09 16:25:25 +00:00
pci - Make pcib_devclass private to sys/dev/pci/pci_pci.c and change all the 2006-01-06 19:22:19 +00:00
svr4 Use svr4_si_{addr,code,errno,signo,trap} in preference to si_{...}. 2005-10-19 14:59:54 +00:00
xbox - Fix typo in #error pragma: compitable -> compatible 2006-08-15 20:10:49 +00:00
Makefile