summaryrefslogtreecommitdiff
path: root/sys/net/pfkeyv2.c
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@cvs.openbsd.org>2020-07-15 11:33:13 +0000
committerDarren Tucker <dtucker@cvs.openbsd.org>2020-07-15 11:33:13 +0000
commitc76181738a2a65481c6c32f004dc4d0965f49e09 (patch)
tree5f3a4ae12f048c4c574ea03be4541fbd288ba81a /sys/net/pfkeyv2.c
parent471f25e1cb99ab2dd9b8707bdf84d1edd151c1e6 (diff)
Run the sxitemp(4) at IPL_SOFTCLOCK instead of IPL_VM. Prevents "panic:
mtx ...: locking against myself" on Orange Pi Zero. Analysis by patrick@: "The thermal sensor framework uses its own taskq with IPL_SOFTCLOCK. sxitemp(4) calls thermal_sensor_update() from interrupt context, and sxitemp(4) is using IPL_VM (memory allocation?!) for its interrupt. IPL_VM is obviously higher than IPL_SOFTCLOCK, so it ends up being able to interrupt the taskq. Even though we're in msleep_nsec, I think we have *not yet* given up the mutex, that we are holding while looking for more work, only releasing it while sleeping. Thus, the interrupt runs task_add(), which tries to grab the taskq's mutex, even though the taskq already holds it!" ok patrick@ kettenis@
Diffstat (limited to 'sys/net/pfkeyv2.c')
0 files changed, 0 insertions, 0 deletions