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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]