lkml.org 
[lkml]   [2005]   [Jan]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] dynamic tick patch
    On Wed, Jan 19, 2005 at 09:13:23AM -0800, Tony Lindgren wrote:
    > HZ=100 does not allow improving the idle loop much further
    > from what we have. We should be able to take advantage of the
    > longer idle/sleep periods inbetween the skipped ticks.

    OTOH servers aren't just doing idle power saving, if you're computing
    wasting 1% of your cpu isn't always desiderable.

    You'd need to trap into add_timer to make it a truly dynamic timer, only
    then it would obsolete the HZ=100. So if there's no timer you run at
    HZ=100, while if there's some timer pending in the next 10 timer queues
    you run at HZ=1000.

    The main problem I can see with your patch is the accuracy issue with
    the system time. I couldn't fix the algorithm you're depending on to get
    accurate system time, and I can guarantee such algorithm never worked
    accurately here and worst of all it doesn't printk anything (which is
    why it doesn't printk for your patch), so you only see system time go in
    the future at an excessive rate (minutes per hour IIRC).

    Pavel posted the cli/sti script, that should allow to reproduce the
    inaccuracy of the algorithm. I had to set HZ=100 by hand to workaround
    the usb modem irq latency that is about 3/4 msec.

    Once in a while such algorithm overstates the number of ticks that have
    been missed, and so the system time goes 1msec in the future when that
    happens. I still suspect there might be a bug in such code though.
    There's an unfixable window between the latch read and the tsc
    read where an error can happen, but as long as the window is below
    0.5msec, it should always be possible to regenerate the accurate timing
    with the current algo, but in practice it fails to be accurate...
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:09    [W:4.665 / U:0.220 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site