lkml.org 
[lkml]   [2007]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: init_timer_deferrable conversion
On Sun, 16 Dec 2007 22:00:23 -0500 (EST)
Parag Warudkar <parag.warudkar@gmail.com> wrote:

> In my quest to get the wake-ups from idle per second down to bare minimum,
> I noticed 3 places in the kernel that could benefit from
> using init_timer_deferrable() instead of init_timer() -
>
> a) drivers/net/sky2.c - watchdog_timer. This was showing up high on
> Powertop's list of things that cause routine wakeups from idle. After
> converting to init_timer_deferrable() the wakeups went down and this one
> no longer shows up in powertop's list. 25% reduction.
>
> b) kernel/time/clocksource.c - watchdog_timer - same story as sky2.c
>
> c) net/core/neighbour.c - gc_timer - Most benefit from deferrable timer.

neigh_periodic_timer() is actually doing almost nothing per round, since it
looks only one slot of hash table. We could probably convert it to a
workqueue and scan whole table at once.

>
> I am running a kernel with above changes and haven't noticed any immediate
> problems and the wakeups-from-idle have gone down from 5-7 to mere 1-2 per
> second.
>
> Is there any reason not to make the above timers deferrable - corner
> cases, other side effects? If not then I will submit a patch.
>
> Thanks
>
> Parag
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>


\
 
 \ /
  Last update: 2007-12-17 11:01    [W:0.237 / U:0.780 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site