From owner-freebsd-current@FreeBSD.ORG Mon Feb 14 22:01:28 2005 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1333716A61F for ; Mon, 14 Feb 2005 22:01:24 +0000 (GMT) Received: from mail24.sea5.speakeasy.net (mail24.sea5.speakeasy.net [69.17.117.26]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9F9D343D2F for ; Mon, 14 Feb 2005 22:01:24 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: (qmail 11792 invoked from network); 14 Feb 2005 22:01:24 -0000 Received: from server.baldwin.cx ([216.27.160.63]) (envelope-sender )AES256-SHA encrypted SMTP for ; 14 Feb 2005 22:01:24 -0000 Received: from [10.50.40.202] (gw1.twc.weather.com [216.133.140.1]) (authenticated bits=0) by server.baldwin.cx (8.13.1/8.13.1) with ESMTP id j1EM0w7V046745; Mon, 14 Feb 2005 17:01:18 -0500 (EST) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: Julian Elischer Date: Mon, 14 Feb 2005 16:32:57 -0500 User-Agent: KMail/1.6.2 References: <200502111148.45976.jhb@FreeBSD.org> <420FFEC1.9030003@elischer.org> In-Reply-To: <420FFEC1.9030003@elischer.org> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200502141632.57792.jhb@FreeBSD.org> X-Spam-Status: No, score=-102.8 required=4.2 tests=ALL_TRUSTED, USER_IN_WHITELIST autolearn=failed version=3.0.2 X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on server.baldwin.cx cc: Alan Cox cc: current@FreeBSD.org Subject: Re: HEADSUP: Turn off cpu_idle_hlt on SMP for now on x86 X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Feb 2005 22:01:28 -0000 On Sunday 13 February 2005 08:28 pm, Julian Elischer wrote: > John Baldwin wrote: > > I figured out a deadlock I got on a 4 CPU testbox last night and I think > > I have tracked it down to a bug in 4BSD that can be worked around by > > turning off idle halt via the machdep.cpu_idle_hlt sysctl. Specifically, > > it involves waking up halted CPUs when a thread it is pinned or bound to > > a specific CPU is made runnable. The details of what I saw today are > > below: > > did you try setting the sysctl that makes the idle IPI get sent to > ALL idle cpus and not just the one that is selected? No, but the fact that this is a bug that might explain all the various "livelock" conditions people like Peter Holm and others have noticed means that the problem needs to be addressed. It should seem obvious from simple code inspection that 4BSD doesn't handle the pinning case well as described. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org