[lkml]   [2008]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [RFC PATCH 0/1]: timers: Timer Migration
    On Tue, 2008-09-16 at 14:42 +0530, Arun R Bharadwaj wrote:
    > Hi,

    80 char lines please.

    > 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.
    > 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.

    This seems like an exceedingly dumb idea - cpu 0 might be a long long
    way from x and by pushing all timers to cpu0 you might actually overload
    cpu 0.

    Initially you talked about packages an moving timers to busy cpus -
    which is something else altogether.

    > $:echo 1 > /sys/devices/system/cpu/cpu3/timer_migration
    > $:cat /proc/interrupts > file1; sleep 30 ; cat /proc/interrupts >
    > file2
    > $:diff file1 file2 | grep LOC
    > < LOC: 5276 2100 2676 1647 2415
    > 1803 2275 2977 Local timer interrupts
    > > LOC: 6991 2195 2774 1647 2562
    > 1900 2497 3075 Local timer interrupts
    > As we can observe, first we are enabling timer migration in cpu3. As a
    > result, the number of local timer interrupts on cpu3 over the next 30
    > seconds are zero. cpu3 has been totally rid of all regular
    > and hrtimers.
    > Please refer to the following paper for details:

    If there's anything worth reading in there it should have been mentioned
    in this email and preferably in some comment in the code and Kconfig
    help as well.

     \ /
      Last update: 2008-09-16 14:09    [W:0.022 / U:2.084 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site