Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Aug 2004 22:33:21 -0700
From:      Alfred Perlstein <alfred@freebsd.org>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        John Baldwin <jhb@FreeBSD.org>
Subject:    Re: cvs commit: src/sys/i386/i386 pmap.c src/sys/kern subr_witness.c
Message-ID:  <20040808053321.GD57908@elvis.mu.org>
In-Reply-To: <20040808042703.GA64746@xor.obsecurity.org>
References:  <200408042031.i74KVKUf039025@repoman.freebsd.org> <200408041634.03998.jhb@FreeBSD.org> <20040808042703.GA64746@xor.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help
* Kris Kennaway <kris@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@mu.org cell: 408-480-4684



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