Messages in this thread Patch in this message | | | Date | Wed, 30 Jul 2014 14:47:52 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH v2 2/2] ksm: Provide support to use deferrable timers for scanner thread |
| |
On Fri, 25 Jul 2014 20:18:18 +0530 Chintan Pandya <cpandya@codeaurora.org> 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?
--- 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 _
| |