freebsd-skq/sys/i386/i386
Alan Cox 85f5b24573 In the common case, pmap_enter_quick() completes without sleeping.
In such cases, the busying of the page and the unlocking of the
containing object by vm_map_pmap_enter() and vm_fault_prefault() is
unnecessary overhead.  To eliminate this overhead, this change
modifies pmap_enter_quick() so that it expects the object to be locked
on entry and it assumes the responsibility for busying the page and
unlocking the object if it must sleep.  Note: alpha, amd64, i386 and
ia64 are the only implementations optimized by this change; arm,
powerpc, and sparc64 still conservatively busy the page and unlock the
object within every pmap_enter_quick() call.

Additionally, this change is the first case where we synchronize
access to the page's PG_BUSY flag and busy field using the containing
object's lock rather than the global page queues lock.  (Modifications
to the page's PG_BUSY flag and busy field have asserted both locks for
several weeks, enabling an incremental transition.)
2004-12-15 19:55:05 +00:00
..
apic_vector.s Avoid more than two pending IPI interrupt vectors per local APIC 2004-12-07 20:15:01 +00:00
atomic.c
autoconf.c
bios.c PNP BIOS devices are fundamentally different than ISA PNP devices. 2004-12-07 05:30:02 +00:00
bioscall.s
busdma_machdep.c Don't flag alignment constraints as a reason for bouncing. This fixes the 2004-11-29 14:49:27 +00:00
critical.c
db_disasm.c
db_interface.c
db_trace.c
dump_machdep.c
elan-mmcr.c
elf_machdep.c
exception.s
gdb_machdep.c Change gdb_cpu_setreg() to not take the value to which to set the 2004-12-01 06:40:35 +00:00
genassym.c
geode.c
i686_mem.c
identcpu.c Move the author's copyright notice to match the initial LongRun import 2004-12-12 05:53:57 +00:00
in_cksum.c
initcpu.c
intr_machdep.c Allow fast interrupts to cause preemption. 2004-12-06 22:25:01 +00:00
io_apic.c
io.c
k6_mem.c
legacy.c NEC PC-98 machines do not have and cannot have an EISA bus. They have 2004-12-07 15:36:19 +00:00
local_apic.c
locore.s
longrun.c Move the author's copyright notice to match the initial LongRun import 2004-12-12 05:53:57 +00:00
machdep.c Don't include sys/user.h merely for its side-effect of recursively 2004-11-27 06:51:39 +00:00
mem.c
mp_clock.c
mp_machdep.c Avoid more than two pending IPI interrupt vectors per local APIC 2004-12-07 20:15:01 +00:00
mp_watchdog.c
mpboot.s
mptable_pci.c
mptable.c
nexus.c
p4tcc.c
perfmon.c
pmap.c In the common case, pmap_enter_quick() completes without sleeping. 2004-12-15 19:55:05 +00:00
support.s
swtch.s
symbols.raw
sys_machdep.c Don't include sys/user.h merely for its side-effect of recursively 2004-11-27 06:51:39 +00:00
trap.c
tsc.c
uio_machdep.c
vm86.c Don't include sys/user.h merely for its side-effect of recursively 2004-11-27 06:51:39 +00:00
vm86bios.s
vm_machdep.c If the parent process has the trap bit set (i.e. a debugger had single 2004-12-08 19:03:55 +00:00