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