[tip:timers/core] timekeeping: Move clock sync work to power efficient workqueue

From: tip-bot for Shaibal Dutta
Date: Fri Feb 07 2014 - 09:40:49 EST


Commit-ID: e8b175946c16d7001b22620f52d78ab497efc9d0
Gitweb: http://git.kernel.org/tip/e8b175946c16d7001b22620f52d78ab497efc9d0
Author: Shaibal Dutta <shaibal.dutta@xxxxxxxxxx>
AuthorDate: Fri, 31 Jan 2014 11:18:24 -0800
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitDate: Fri, 7 Feb 2014 15:34:28 +0100

timekeeping: Move clock sync work to power efficient workqueue

For better use of CPU idle time, allow the scheduler to select the CPU
on which the CMOS clock sync work would be scheduled. This improves
idle residency time and conserver power.

This functionality is enabled when CONFIG_WQ_POWER_EFFICIENT is selected.

Signed-off-by: Shaibal Dutta <shaibal.dutta@xxxxxxxxxxxx>
[zoran.markovic@xxxxxxxxxx: Added commit message. Aligned code.]
Signed-off-by: Zoran Markovic <zoran.markovic@xxxxxxxxxx>
Cc: John Stultz <john.stultz@xxxxxxxxxx>
Link: http://lkml.kernel.org/r/1391195904-12497-1-git-send-email-zoran.markovic@xxxxxxxxxx
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
---
kernel/time/ntp.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
index af8d1d4..419a52c 100644
--- a/kernel/time/ntp.c
+++ b/kernel/time/ntp.c
@@ -514,12 +514,13 @@ static void sync_cmos_clock(struct work_struct *work)
next.tv_sec++;
next.tv_nsec -= NSEC_PER_SEC;
}
- schedule_delayed_work(&sync_cmos_work, timespec_to_jiffies(&next));
+ queue_delayed_work(system_power_efficient_wq,
+ &sync_cmos_work, timespec_to_jiffies(&next));
}

void ntp_notify_cmos_timer(void)
{
- schedule_delayed_work(&sync_cmos_work, 0);
+ queue_delayed_work(system_power_efficient_wq, &sync_cmos_work, 0);
}

#else
--
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/