On 8/24/18 11:14 AM, Eduardo Valentin wrote: >> + if (lock) { >> + spin_unlock_irq(lock); >> + io_schedule(); >> + spin_lock_irq(lock); >> + } else >> + io_schedule(); > > Nitpick but, shouldn't this look like: > > + if (lock) { > + spin_unlock_irq(lock); > + io_schedule(); > + spin_lock_irq(lock); > + } else { > + io_schedule(); > + } Depends on who you ask... I prefer the former. > And another random though, it would be good to have some sort of > tracing of this. wbt does have tracing, but we've never had tracing on the sleep/wakeup parts. But that's pretty much completely orthogonal to the issue, that should be done as a separate patch, if useful. BTW, I've now tested this and it seems to work fine for me. -- Jens Axboe