On 10/12/20(Thu) 18:47, Mark Kettenis wrote: > [...] > Sensor drivers that are "good citizens" should probably continue to > use the sensor thread. Butfor things like asmc(4) that handle a > largish bundle of sensors, a separate thread would be fine. And I > suspect that thread could run unlocked.
Using a separate thread won't help as long as it is KERNEL_LOCK()'d. What allows the rest of the kernel to make progress in this case is the fact that tsleep(9) releases the lock. If one is going to do some work to make sure asmc_update() is safe to be executed w/o KERNEL_LOCK() then it would be easier to start by releasing the lock in this function.
