cvs commit: src/sys/i386/i386 pmap.c src/sys/kern subr_witness.c
Alfred Perlstein
alfred at freebsd.org
Sat Aug 7 22:33:22 PDT 2004
* Kris Kennaway <kris at obsecurity.org> [040807 21:28] 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.
>
> Isn't this the patch I tested for you and reported that it did not fix
> the problem?
Y'know there's some existing research on these sort of low level
deadlocks, ie. how to do TLB shootdown without deadlock in:
"UNIX Internals: The New Frontiers"
--
- Alfred Perlstein
- Research Engineering Development Inc.
- email: bright at mu.org cell: 408-480-4684
More information about the cvs-src
mailing list