> > I'm saying that extending the time of critical sections is a concern, because > it's more likely to miss the unplug event and it's just not necessary. You grab > the guard, do a few I/O ops and drop it -- simple. At least for nova-core I've realised I got this partly wrong, https://gitlab.freedesktop.org/nouvelles/kernel/-/blob/nova-core-experiments/drivers/gpu/nova-core/falcon.rs?ref_type=heads#L305 However in this case I expect the sleeps small enough to end up in udelay perhaps instead of actual sleeps, but I wouldn't be too worried about the overhead of adding a bit of extra code in the wake up from sleep path, the sleep is going to take the time, a few extra instructions in the poll won't be noticeable. Dave.