HEADSUP: Turn off cpu_idle_hlt on SMP for now on x86

Kris Kennaway kris at obsecurity.org
Tue Feb 22 22:59:35 GMT 2005


On Tue, Feb 22, 2005 at 04:20:27PM -0500, John Baldwin wrote:
> On Friday 11 February 2005 11:48 am, John Baldwin wrote:
> > Thus, my theory is that when the pinned thread was preempted and put back
> > on the run queue, the scheduler didn't IPI the CPU it was pinned to to wake
> > it up in case it was idle.  The IPI is only needed if the CPUs are halted,
> > which is why I think turning the idle halt off might work as a workaround. 
> > I don't know if ULE has this same issue, but I've cc'd Jeff and hopefully
> > he can look into it.
> 
> Nevermind, I don't think cpu_idle_hlt will help (though it has seemed to help 
> locally oddly enough).  Presumably the CPU that the preempted thread owning 
> the vm page queues lock would have run the pinned thread before going idle.  
> In this case, that means that the thread must be pinned to CPU 0 which is 
> running a make process that is just spinning.  Unfortunately we currently 
> don't have a good way of looking at the stack for an thread on another CPU.

I'm running into this with deadlocks I'm seeing on a quad-cpu RELENG_5
sparc machine.

Unfortunately, I can't even dump because of yet more locking assertion
failures in the dump path (CAM, elsewhere).

Kris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20050222/20e0369f/attachment-0001.bin


More information about the freebsd-current mailing list