[lkml]   [2009]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[v3 PATCH 0/4] timers: Framework for migration of timers

    In an SMP system, tasks are scheduled on different CPUs by the
    scheduler, interrupts are managed by irqbalancer daemon, but timers
    are still stuck to the CPUs that they have been initialised. Timers
    queued by tasks gets re-queued on the CPU where the task gets to run
    next, but timers from IRQ context like the ones in device drivers are
    still stuck on the CPU they were initialised. This framework will
    help move all 'movable timers' using a sysctl interface.

    Iteration v2 of this patch can be found at

    Changelog: v2->v3

    -removed the sysfs interface for enabling timer migration
    and instead created a /proc/sys sysctl, which can turn off
    timer_migration when CONFIG_SCHED_DEBUG =y.(as suggested by Ingo)

    -modified the interface to identify pinned regular timers,
    made it cleaner and simpler to understand.(as suggested by Oleg)

    The following patches are included:
    PATCH 1/4 - framework to identify pinned timers.
    PATCH 2/4 - identifying the existing pinned hrtimers.
    PATCH 3/4 - /proc/sys sysctl hook to enable timer migration.
    PATCH 4/4 - logic to enable timer migration.

    The patchset is based on the latest tip/master.

    Timer migration is enabled by default as suggested by Ingo.
    It can be turned off when CONFIG_SCHED_DEBUG=y by

    echo 0 > /proc/sys/kernel/timer_migration

    Benchmark tested: Kernbench

    Kernbench results on an 2-socket, quad-core machine
    Averaged over 3 iterations.
    sched_mc_power_savings = 2

    |No. of Time taken(s) Time Taken(s) Time Taken(s) |
    |Threads Patch Not Applied (Migration Disabled) (Migration Enabled) |
    | |
    | 32 64.02 64.05 63.73 |
    | 16 63.31 63.71 62.91 |
    | 8 67.20 67.38 67.32 |
    | 4 115.67 114.72 114.54 |
    | 2 222.21 220.63 218.13 |


    -Yet to implement Oleg's comment on my previous post PATCH 4/4.
    Current code seems to be working fine. Working on it to implement
    what has been suggested.

    Please let me know your comments.


     \ /
      Last update: 2009-03-16 12:13    [W:0.027 / U:6.624 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site