From owner-cvs-all@FreeBSD.ORG Thu Aug 5 22:01:10 2004 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 75BC116A4D5 for ; Thu, 5 Aug 2004 22:01:07 +0000 (GMT) Received: from mail2.speakeasy.net (mail2.speakeasy.net [216.254.0.202]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4C1F943D54 for ; Thu, 5 Aug 2004 22:01:07 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: (qmail 4188 invoked from network); 5 Aug 2004 22:01:06 -0000 Received: from dsl027-160-063.atl1.dsl.speakeasy.net (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) encrypted SMTP for ; 5 Aug 2004 22:01:05 -0000 Received: from 10.50.40.208 (gw1.twc.weather.com [216.133.140.1]) (authenticated bits=0) by server.baldwin.cx (8.12.11/8.12.11) with ESMTP id i75M0vUU044456; Thu, 5 Aug 2004 18:00:58 -0400 (EDT) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: Alan Cox Date: Thu, 5 Aug 2004 12:44:30 -0400 User-Agent: KMail/1.6 References: <200408042031.i74KVKUf039025@repoman.freebsd.org> <20040804213236.GA58239@green.homeunix.org> <20040804214057.GC10853@cs.rice.edu> In-Reply-To: <20040804214057.GC10853@cs.rice.edu> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200408051244.30081.jhb@FreeBSD.org> X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on server.baldwin.cx cc: Brian Fundakowski Feldman cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org cc: cvs-src@FreeBSD.org Subject: Re: cvs commit: src/sys/i386/i386 pmap.c src/sys/kern subr_witness.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Aug 2004 22:01:10 -0000 On Wednesday 04 August 2004 05:40 pm, Alan Cox wrote: > 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. I'm not sure he can completely remove the IPI, just reduce the the likelihood of having to do so, but perhaps I'm not remembering correctly. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org