Date: Mon, 14 Feb 2005 16:32:57 -0500 From: John Baldwin <jhb@FreeBSD.org> To: Julian Elischer <julian@elischer.org> Cc: current@FreeBSD.org Subject: Re: HEADSUP: Turn off cpu_idle_hlt on SMP for now on x86 Message-ID: <200502141632.57792.jhb@FreeBSD.org> In-Reply-To: <420FFEC1.9030003@elischer.org> References: <200502111148.45976.jhb@FreeBSD.org> <420FFEC1.9030003@elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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 <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200502141632.57792.jhb>