Re: [PATCH v2 2/2] ksm: Provide support to use deferrable timers for scanner thread

From: Chintan Pandya
Date: Thu Jul 31 2014 - 01:37:54 EST


On 07/31/2014 03:17 AM, Andrew Morton wrote:
On Fri, 25 Jul 2014 20:18:18 +0530 Chintan Pandya<cpandya@xxxxxxxxxxxxxx> wrote:

KSM thread to scan pages is scheduled on definite timeout. That wakes
up CPU from idle state and hence may affect the power consumption.
Provide an optional support to use deferrable timer which suites
low-power use-cases.

Typically, on our setup we observed, 10% less power consumption with
some use-cases in which CPU goes to power collapse frequently. For
example, playing audio while typically CPU remains idle.

To enable deferrable timers,
$ echo 1> /sys/kernel/mm/ksm/deferrable_timer

This could not have been the version which you tested. What's up?

My bad :( I will be careful next time

--- a/mm/ksm.c~ksm-provide-support-to-use-deferrable-timers-for-scanner-thread-fix-fix-2
+++ a/mm/ksm.c
@@ -1720,8 +1720,6 @@ static int ksmd_should_run(void)

static int ksm_scan_thread(void *nothing)
{
- signed long to;
-
set_freezable();
set_user_nice(current, 5);

@@ -1735,7 +1733,9 @@ static int ksm_scan_thread(void *nothing
try_to_freeze();

if (ksmd_should_run()) {
- timeout = msecs_to_jiffies(ksm_thread_sleep_millisecs);
+ signed long to;
+
+ to = msecs_to_jiffies(ksm_thread_sleep_millisecs);
if (use_deferrable_timer)
schedule_timeout_deferrable_interruptible(to);
else
_



--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a
member of the Code Aurora Forum, hosted by The Linux Foundation
--
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/