cvs commit: src/sys/i386/i386 pmap.c src/sys/kern subr_witness.c
alc at cs.rice.edu
Wed Aug 4 14:40:59 PDT 2004
On Wed, Aug 04, 2004 at 05:32:36PM -0400, Brian Fundakowski Feldman wrote:
> On Wed, Aug 04, 2004 at 04:34:03PM -0400, John Baldwin wrote:
> > 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.
> "No feedback is good feedback" -- those changes have caused no problems
> for me during non-PREEMPTION-only testing on my dual Athlon.
Peter's recent changes to where and when we call pmap_release() signal
the intention to eliminate this code.
More information about the cvs-src