On 2/19/21 8:47 PM, Pavel Begunkov wrote: > On 20/02/2021 03:40, Jens Axboe wrote: >> On 2/19/21 6:39 PM, Pavel Begunkov wrote: >>> There is a short window where percpu_refs are already turned zero, but >>> we try to do resurrect(). Play nicer and wait for all users to leave RCU >>> section. >> >> We need to do something better than synchronize_rcu() here, that can >> take a long time on a loaded box. I'll try and think about this one. > > It only happens when it can't be drained and there are task_works or > signals. I have another patch, doing it via tryget, but it's uglier and > I'd rather prefer synchronize_rcu for stable. Right, but the task_work coming in may not be unlikely. So it's not strictly an error path. -- Jens Axboe