[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <AANLkTime0pid_ToCSmPW1duW+G+RFNKK+UxdtiN-VaLq@mail.gmail.com>
Date: Mon, 30 Aug 2010 11:27:13 +0800
From: Yong Zhang <yong.zhang0@...il.com>
To: Arjan van de Ven <arjan@...ux.intel.com>
Cc: linux-kernel@...r.kernel.org, tglx@...utronix.de,
akpm@...ux-foundation.org, mingo@...e.hu, a.p.zijlstra@...llo.nl,
tj@...nel.org, oleg@...hat.com
Subject: Re: [RFC PATCHSET 0/6] timer/hrtimer/timer_stats: Improvement on timer_stats
On Sun, Aug 29, 2010 at 11:44 PM, Arjan van de Ven
<arjan@...ux.intel.com> wrote:
> On 8/29/2010 8:05 AM, Yong Zhang wrote:
>>
>> Hi,
>>
>> This patchset focus on two problem:
>>
>> 1)timer_stats_timer_*_start_info() should belong to timer core only.
>> It should not be seen by outsider, such as workqueue. And should
>> not resident in timer.h.
>> Patch-0001~0003 first remove the only explicit out call, then move
>> timer_stats_timer_*_start_info() from timer.h to timer.c.
>>
>> 2)call site recorded by timer_stats sometimes show the timer core
>> functions
>> instead of the real call site.
>> Now /proc/timer_stats is like below on my machine:
>> ---now---
>>
>
>
> one question; have you tested this with powertop? (powertop being one of the
> prime consumers of this interface)
>
Now, vanilla kernel with powtop is
Top causes for wakeups:
49.4% (250.3) kworker/0:0 : hrtimer_start_range_ns (tick_sched_timer)
49.4% (250.3) <kernel core> : hrtimer_start_range_ns (tick_sched_timer)
0.4% ( 2.0) <kernel core> : clocksource_watchdog (clocksource_watchdog)
0.4% ( 1.8) <interrupt> : eth1
0.2% ( 1.0) kworker/0:0 : add_timer (tg3_timer)
0.1% ( 0.3) <kernel core> : dev_watchdog (dev_watchdog)
0.0% ( 0.2) sendmail : hrtimer_start_range_ns (hrtimer_wakeup)
0.0% ( 0.2) init : hrtimer_start_range_ns (hrtimer_wakeup)
0.0% ( 0.1) <kernel core> : bdi_arm_supers_timer (sync_supers_timer_fn)
0.0% ( 0.1) flush-0:13 : bdi_writeback_thread (process_timeout)
0.0% ( 0.1) <kernel core> : __enqueue_rt_entity (sched_rt_period_timer)
And the patched kernel:
Top causes for wakeups:
34.9% ( 2.0) kworker/0:0 : clocksource_watchdog (clocksource_watchdog)
29.1% ( 1.7) <interrupt> : eth1
17.4% ( 1.0) kworker/0:0 : tg3_timer (tg3_timer)
3.5% ( 0.2) sendmail : schedule_hrtimeout_range_clock
(hrtimer_wakeup)
3.5% ( 0.2) <kernel core> : dev_watchdog (dev_watchdog)
3.5% ( 0.2) init : schedule_hrtimeout_range_clock
(hrtimer_wakeup)
2.3% ( 0.1) <kernel core> : bdi_arm_supers_timer (sync_supers_timer_fn)
2.3% ( 0.1) flush-0:13 : bdi_writeback_thread (process_timeout)
1.2% ( 0.1) <kernel core> : __enqueue_rt_entity (sched_rt_period_timer)
1.2% ( 0.1) syslogd : do_setitimer (it_real_fn)
The difference is tick_sched_timer() is gone in the patches version.
And after taking a look at powertop, I think you want to get rid of the tick
events, right? Or maybe I'm missing something?
Thanks,
Yong
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists