Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 Oct 2004 15:49:17 -0400
From:      John Baldwin <jhb@FreeBSD.org>
To:        Alan Cox <alc@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/i386/i386 pmap.c
Message-ID:  <200410291549.17355.jhb@FreeBSD.org>
In-Reply-To: <200410291910.i9TJAlNf089795@repoman.freebsd.org>
References:  <200410291910.i9TJAlNf089795@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200410291549.17355.jhb>