calcru question

Murty, Ravi ravi.murty at intel.com
Thu Jul 3 16:26:05 UTC 2008


Hello All,

 

I have a rather simple question.  I am running the 6.2 kernel and calru
is called when top is run in a loop. One of the things calcru does is
walk to threads of a process and checks if the thread is running and if
it asserts that its tdoncpu field be anything but NOCPU. In our case,
one in a great while, this assertion fails and the kernel panics. The
assertion makes perfect sense, but I can't seem to figure out how this
can be happening. The td->td_oncpu field is set to NOCPU when the thread
is being kicked off a CPU (sched_switc()) which means it is not running
and all of this happens with sched_lock held which calcru also grabs.

 

Thanks,

Ravi

 



More information about the freebsd-hackers mailing list