On Mon, 23 Dec 2019 08:15:00 -0700 Jens Axboe wrote: > > On 12/22/19 7:41 PM, Hillf Danton wrote: > > > > Reschedule the current IO worker if it is becoming a cpu hog. > > Might make more sense to put this a bit earlier, to avoid the > awkward lock juggle. In theory it shouldn't make a difference > if we do it _before_ doing new work, or _after_ doing work. We > should only be rescheduling if it's running for quite a while. > > How about putting it after the flushing of signals instead? All right, thanks. Hillf --->8--- From: Hillf Danton <hdanton@xxxxxxxx> Subject: [RFC PATCH] io-wq: kill cpu hog worker Reschedule the current IO worker to cut the risk that it is becoming a cpu hog. Signed-off-by: Hillf Danton <hdanton@xxxxxxxx> --- --- a/fs/io-wq.c +++ b/fs/io-wq.c @@ -432,6 +432,8 @@ next: if (signal_pending(current)) flush_signals(current); + cond_resched(); + spin_lock_irq(&worker->lock); worker->cur_work = work; spin_unlock_irq(&worker->lock); --