Re: [RFC PATCH 0/1]: timers: Timer Migration

From: Andi Kleen
Date: Tue Sep 16 2008 - 08:45:20 EST


On Tue, Sep 16, 2008 at 02:42:31PM +0530, Arun R Bharadwaj wrote:
> Hi,
>
> An idle cpu on which device drivers have initialized timers, has to be frequently woken up to service the timers. So, consolidation of timers onto a fewer number of cpus is important. Migration of
> timers from idle cpus onto lesser idle cpus is necessary. Currently, timers are migrated during the cpu offline operation. However cpu-hotplug for the sake of idle system power management is too
> heavy. So, this patch implements a lightweight timer migration framework.


Who would trigger such migrations?

I'm not sure it's a good idea to make it fully manually triggered. It would be nicer
if it was bound to the scheduler's power saving heuristic. So if the scheduler consolidates
threads on a single package for power saving the timers should follow too.

>
> Also, in a multi-core, multi-package system, it is always desirable to have all the timers firing on the cpus present in the same package. This would enable us to place the idle package in deep sleep
> state. So, migration of timers is required for this.
>
> A per_cpu sysfs hook is created at /sys/devices/system/cpu/cpuX/timer_migration. By echo-ing 1 to cpuX/timer_migration, all regular and hrtimers from cpuX are migrated to cpu0. The fact that all
> timers are migrated from cpuX to cpu0 is demonstrated by making a note of /proc/interrupts.


I suspect moving all to cpu 0 is too inflexible as Peter already mentioned.

(haven't looked at the actual code yet sorry)

-Andi
--
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/