Bug in calcru in he 6.2 and 6.3 kernels

Murty, Ravi ravi.murty at intel.com
Mon Jul 7 18:30:42 UTC 2008


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

 



More information about the freebsd-hackers mailing list