Messages in this thread | | | Date | Mon, 1 May 2017 14:44:02 -0400 | From | Tejun Heo <> | Subject | Re: WARN_ON_ONCE() in process_one_work()? |
| |
Hello, Paul.
On Mon, May 01, 2017 at 11:38:07AM -0700, Paul E. McKenney wrote: > On Mon, May 01, 2017 at 09:57:47AM -0700, Paul E. McKenney wrote: > > Hello! > > > > I am hitting this WARN_ON_ONCE() in process_one_work() and am wondering > > what I did wrong to make this happen: > > Oh, wait... Rescuer, it says. Might this be due to the fact that RCU's > expedited grace periods block within a workqueue handler? Might this > in turn run the system out of workqueue kthreads? If this is the likely > cause, my approach would be to rework the expected-grace-period workqueue > handler to return when waiting for the grace period to complete, and to > replace the current wakeup with a schedule_work() or something similar.
That should be completely fine. It could just be that the rescuer path has a bug around CPU hotplug handling. Can you please confirm either way on the cpuset usage?
Thanks.
-- tejun
| |