[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140210184729.GL4250@linux.vnet.ibm.com>
Date: Mon, 10 Feb 2014 10:47:29 -0800
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: Lai Jiangshan <laijs@...fujitsu.com>
Cc: Zoran Markovic <zoran.markovic@...aro.org>,
linux-kernel@...r.kernel.org,
Shaibal Dutta <shaibal.dutta@...adcom.com>,
Dipankar Sarma <dipankar@...ibm.com>, fweisbec@...il.com,
tj@...nel.org
Subject: Re: [RFC PATCH] rcu: move SRCU grace period work to power efficient
workqueue
On Mon, Feb 10, 2014 at 06:08:31PM +0800, Lai Jiangshan wrote:
> Acked-by: Lai Jiangshan <laijs@...fujitsu.com>
Thank you all, queued for 3.15.
We should also have some facility for moving the SRCU workqueues to
housekeeping/timekeeping kthreads in the NO_HZ_FULL case. Or does
this patch already have that effect?
Thanx, Paul
> On 02/01/2014 03:53 AM, Zoran Markovic wrote:
> > From: Shaibal Dutta <shaibal.dutta@...adcom.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@...fujitsu.com>
> > Cc: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
> > Cc: Dipankar Sarma <dipankar@...ibm.com>
> > Signed-off-by: Shaibal Dutta <shaibal.dutta@...adcom.com>
> > [zoran.markovic@...aro.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);
> > }
> >
> > /*
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists