Re: [PATCH] Call get_time() only when necessary in run_hrtimer_queue

Andrew Morton
2006-03-24T22:26:37Z

Dimitri Sivanich <sivanich@sgi.com> wrote:
>
> It seems that run_hrtimer_queue() is calling get_time() much more often
> than it needs to.
>
> With this patch, it only calls get_time() if there's a pending timer.
>
> Following is from a profile done without the patch:
> kernel ticks: 30841 1.02 %
> 13572 44.01 44.01 time_interpolator_get_offset
> 155 0.50 96.91 hrtimer_run_queues
>
> And with the patch:
> kernel ticks: 18334 0.58 %
> 74 0.40 97.81 hrtimer_run_queues
> 43 0.23 98.63 time_interpolator_get_offset
>
>

This code has been extensively redone in -mm and I am planning on sending
all that to Linus within a week.

The hrtimer rework in -mm might fix this performance problem, although from
a quick peek, perhaps not.

So could you please verify that the problem still needs fixing in
2.6.16-mm1 and if so, raise a patch against that?

Thanks.