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

From: Andrew Morton
Date: Fri Mar 24 2006 - 17:23:44 EST


Dimitri Sivanich <sivanich@xxxxxxx> 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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/