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

John Baldwin jhb at FreeBSD.org
Wed Aug 4 14:12:45 PDT 2004


On Wednesday 04 August 2004 04:31 pm, John Baldwin wrote:
> jhb         2004-08-04 20:31:19 UTC
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/i386/i386        pmap.c
>     sys/kern             subr_witness.c
>   Log:
>   Remove a potential deadlock on i386 SMP by changing the lazypmap ipi and
>   spin-wait code to use the same spin mutex (smp_tlb_mtx) as the TLB ipi
>   and spin-wait code snippets so that you can't get into the situation of
>   one CPU doing a TLB shootdown to another CPU that is doing a lazy pmap
>   shootdown each of which are waiting on each other.  With this change,
> only one of the CPUs would do an IPI and spin-wait at a time.

Both this patch and the previous I have tested locally and also sent out to 
current@ for testing.  However, I received zero feedback (not even useless 
feedback), so they may theoretically be risky.

-- 
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-all mailing list