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. -- John Baldwin <jhb_at_FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.orgReceived on Tue Feb 22 2005 - 21:18:17 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:28 UTC