Re: [RFC PATCH] rcu: move SRCU grace period work to power efficientworkqueue

From: Lai Jiangshan
Date: Mon Feb 10 2014 - 05:06:23 EST


Acked-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>

On 02/01/2014 03:53 AM, Zoran Markovic wrote:
> From: Shaibal Dutta <shaibal.dutta@xxxxxxxxxxxx>
>
> 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@xxxxxxxxxxxxxx>
> Cc: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
> Cc: Dipankar Sarma <dipankar@xxxxxxxxxx>
> Signed-off-by: Shaibal Dutta <shaibal.dutta@xxxxxxxxxxxx>
> [zoran.markovic@xxxxxxxxxx: 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/