On Tue, Jan 09, 2018 at 05:44:48AM -0800, Tejun Heo wrote: > Hello, Paul. > > On Mon, Jan 08, 2018 at 08:20:16PM -0800, Paul E. McKenney wrote: > > OK, so I can put WQ_MEM_RECLAIM on the early boot creation of RCU's > > workqueue_struct as shown below, right? > > Yes, this looks good to me. Just one question. > > > +struct workqueue_struct *rcu_gp_workqueue; > > + > > void __init rcu_init(void) > > { > > int cpu; > > @@ -4298,6 +4300,10 @@ void __init rcu_init(void) > > rcu_cpu_starting(cpu); > > rcutree_online_cpu(cpu); > > } > > + > > + /* Create workqueue for expedited GPs and for Tree SRCU. */ > > + rcu_gp_workqueue = alloc_workqueue("rcu_gp", WQ_MEM_RECLAIM, 0); > > + WARN_ON(!rcu_gp_workqueue); > > The code was previously using both system_power_efficient_wq and > system_workqueue (for the expedited path). I guess the options were > either using two workqueues or dropping POWER_EFFICIENT. I have no > idea how big an impact this will make or whether it'd even be > noticeable but maybe it'd be worthwhile to mention that in the > description? Good point! How about if I change the last paragraph of the commit log to read as follows? Thanx, Paul ------------------------------------------------------------------------ This commit also causes SRCU to use this new RCU-specific workqueue_struct. Note that SRCU's use of workqueues never blocks them waiting for readers, so this should be safe from a forward-progress viewpoint. Note that this moves SRCU from system_power_efficient_wq to a normal workqueue. In the unlikely event that this results in measurable degradation, a separate power-efficient workqueue will be creates for SRCU. -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html