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

Don Lewis truckman at FreeBSD.org
Mon Nov 10 21:03:05 PST 2003


On 25 Oct, Alan Cox wrote:
> On Sat, Oct 25, 2003 at 11:14:48PM -0400, Jeff Roberson wrote:
>> 
>> Uhm, dumb question, why don't we just allocate one page of kva per
>> processor and avoid the mutex, the switchin/out, etc?  To save KVA? At 3
>> pages per processor and a max of 8 processors on intel, that's 192k.  We
>> can probably spare it.  I just saved that much with some UMA tuning.
>> 
> 
> The mutex and the switchin mechanism are addressing two distinct needs.
> 
> The mutex exists because there is a single KVA for some low-level pmap
> functions on i386.  (This could be changed, eliminating the need for
> the mutex.)
> 
> If, however, you eliminate the need for the mutex, you still require
> the switchin mechanism as a means of handling preemption,
> specifically, migration of the preempted thread between CPUs.  The
> alternative is to make pmap_zero_page() and the like critical
> sections.

Why not allow preemption, but just mark the thread as being ineligable
for migration while it is executing pmap_zero_page() and similar bits of
code?  The thread might have to wait longer to get the CPU again after
it was preempted, but so what.



More information about the cvs-all mailing list