Now
MAIN commitmail json YAML
src/sys/kern/kern_softint.c@1.70
/
diff
/
nxr@1.70
src/sys/kern/kern_timeout.c@1.69 / diff / nxr@1.69
src/sys/kern/kern_timeout.c@1.69 / diff / nxr@1.69
kern: Assert softint does not net acquire kernel locks.
This redoes previous change where I mistakenly used the CPU's biglock
count, which is not necessarily stable -- the softint lwp may sleep
on a mutex, and the lwp it interrupted may start up again and release
the kernel lock, so by the time the softint lwp wakes up again and
the softint function returns, the CPU may not be holding any kernel
locks. But the softint lwp should never hold kernel locks except
when it's in a (usually, non-MPSAFE) softint function.
Same with callout.
This redoes previous change where I mistakenly used the CPU's biglock
count, which is not necessarily stable -- the softint lwp may sleep
on a mutex, and the lwp it interrupted may start up again and release
the kernel lock, so by the time the softint lwp wakes up again and
the softint function returns, the CPU may not be holding any kernel
locks. But the softint lwp should never hold kernel locks except
when it's in a (usually, non-MPSAFE) softint function.
Same with callout.