Messages in this thread | | | Date | Mon, 10 Feb 2014 18:08:31 +0800 | From | Lai Jiangshan <> | Subject | Re: [RFC PATCH] rcu: move SRCU grace period work to power efficient workqueue |
| |
Acked-by: Lai Jiangshan <laijs@cn.fujitsu.com>
On 02/01/2014 03:53 AM, Zoran Markovic wrote: > From: Shaibal Dutta <shaibal.dutta@broadcom.com> > > For better use of CPU idle time, allow the scheduler to select the CPU > on which the SRCU grace period work would be scheduled. This improves > idle residency time and conserves power. > > This functionality is enabled when CONFIG_WQ_POWER_EFFICIENT is selected. > > Cc: Lai Jiangshan <laijs@cn.fujitsu.com> > Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> > Cc: Dipankar Sarma <dipankar@in.ibm.com> > Signed-off-by: Shaibal Dutta <shaibal.dutta@broadcom.com> > [zoran.markovic@linaro.org: Rebased to latest kernel version. Added commit > message. Fixed code alignment.] > --- > kernel/rcu/srcu.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/kernel/rcu/srcu.c b/kernel/rcu/srcu.c > index 3318d82..a1ebe6d 100644 > --- a/kernel/rcu/srcu.c > +++ b/kernel/rcu/srcu.c > @@ -398,7 +398,7 @@ void call_srcu(struct srcu_struct *sp, struct rcu_head *head, > rcu_batch_queue(&sp->batch_queue, head); > if (!sp->running) { > sp->running = true; > - schedule_delayed_work(&sp->work, 0); > + queue_delayed_work(system_power_efficient_wq, &sp->work, 0); > } > spin_unlock_irqrestore(&sp->queue_lock, flags); > } > @@ -674,7 +674,8 @@ static void srcu_reschedule(struct srcu_struct *sp) > } > > if (pending) > - schedule_delayed_work(&sp->work, SRCU_INTERVAL); > + queue_delayed_work(system_power_efficient_wq, > + &sp->work, SRCU_INTERVAL); > } > > /*
| |