Bug in calcru in he 6.2 and 6.3 kernels

Kris Kennaway kris at FreeBSD.org
Mon Jul 7 18:33:57 UTC 2008


Murty, Ravi wrote:
> Hello everyone,
> 
>  
> 
> Finally found what my last problem was. We were running top in a loop
> and running some workloads that called sched_bind() to bind threads to
> specific CPUs. The problem was that (and I am using ULE) sched_bind
> calls a function to notify another CPU of a thread and then mi_switches
> out of it. Since mi_switch sets the "oncpu" field of the thread to NOCPU
> and given the thread is still running, calcru would come in and assert
> the fact that "If I am running I better no be on NOCPU".. It appears
> that in other parts of the kernel (e.g. forward_signal) this is
> acceptable (i.e. it is okay to be running and oncpu is NOCPU). 
> 
>  
> 
> Thanks
> Ravi

Don't use ULE in 6.x, it's broken and will not be fixed.

Kris


More information about the freebsd-hackers mailing list