Skip site navigation (1)Skip section navigation (2)
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>