cvs commit: src/sys/i386/i386 pmap.c

John Baldwin jhb at FreeBSD.org
Fri Oct 29 12:50:44 PDT 2004


On Friday 29 October 2004 03:10 pm, Alan Cox wrote:
> alc         2004-10-29 19:10:47 UTC
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/i386/i386        pmap.c
>   Log:
>   Implement per-CPU SYSMAPs, i.e., CADDR* and CMAP*, to reduce lock
>   contention within pmap_zero_page() and pmap_copy_page().

Cool.  One note: I think you have to move the sched_pin before the lookup in 
the sysmaps_pcpu[] table so you don't migrate to another CPU if you get an 
interrupt after you've locked the sysmap.  I'm curious if can get rid of the 
sysmaps lock altogether actually.  It might require a critical section to do 
so though, and zero'ing page(s) is probably too long to defer interrupts.

-- 
John Baldwin <jhb at FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org


More information about the cvs-src mailing list