lkml.org 
[lkml]   [2009]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [v3 PATCH 4/4] timers: logic to move non pinned timers
    * Thomas Gleixner <tglx@linutronix.de> [2009-03-17 14:01:00]:

    > On Tue, 17 Mar 2009, Arun R Bharadwaj wrote:
    > > * Thomas Gleixner <tglx@linutronix.de> [2009-03-17 11:22:24]:
    > > > Let's assume we are on CPU0 and try to enqueue the timer on CPU1,
    > > > where the next timer expiry is 5ms away. The timer which we enqueue
    > > > is due in 500us. So you introduce 4.5ms latency.
    > > >
    > > We are moving timers to the ilb which wakes up every jiffy.
    > > So we can move the timer to the ilb only if it's expiry
    > > time is greater than 1 jiffy. Else we can fire on the same CPU.
    >
    > Please do not start to add some obscure jiffies magic. The correct
    > check is whether the new timers expiry time is before the first timers
    > expiry time on the target CPU.
    >

    Hi Thomas,

    Currently, there is a function get_next_timer_interrupt() which
    returns the next timer's expiry on the CPU. This is used by
    tick_nohz_stop_sched_tick() in order to reprogram the timer device
    before stopping the tick.

    get_next_timer_interrupt() returns the earliest between the
    next timer expiry and the next hrtimer expiry.

    In case of the hrtimer expiry, the ktime is rounded off to the next
    jiffie and returned.

    So using the current infrastructure, there is no benefit in finding
    out when the next timer is going to fire on the target cpu over just
    checking if the current hrtimer which we are migrating is firing
    before the next jiffie or not. If it is firing after 1 jiffie, it can
    be migrated and the target cpu (idle load balancer) will reprogram
    its timer device accordingly.

    --arun
    > Thanks,
    >
    > tglx


    \
     
     \ /
      Last update: 2009-03-30 07:03    [W:0.024 / U:29.936 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site