lkml.org 
[lkml]   [2012]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH 0/9] Reduce timekeeping lock hold time v2
    Date
    Once again, here is the second half of the timekeeping cleanups (the
    first half are already in -tip) as well as some changes to reduce the
    timekeeping lock hold times.

    This work grew out of some of Eric Dumazet's and Thomas Gleixner's
    suggestions, after they noticed the xtime_lock hold time could be
    on the long side.

    The basic idea is that we keep a shadow copy of the timekeeper
    stucture, which can be updated while readers are accessing the
    time. Then we only have to block readers as we switch to the
    newly updated structure.

    Changelog:
    v2:
    This revsion includes some formatting changes suggested by Ingo,
    as well as a patch converting shift values from ints to u32 to
    avoid any unintended extra effort caused by the compiler. There
    is also a few minor bug fixes that I caught with some additional
    testing.

    Let me know if you have any further issues with the patchset.

    If not, feel free to pull the tree from:
    git://git.linaro.org/people/jstultz/linux.git fortglx/3.4/time

    John Stultz (9):
    time: Condense timekeeper.xtime into xtime_sec
    time: Rework timekeeping functions to take timekeeper ptr as argument
    time: Split timekeeper lock into separate reader/writer locks
    time: Update timekeeper structure using a local shadow
    time: Shadow cycle_last in timekeeper structure
    time: Reduce timekeeper read lock hold time
    time: Convert the timekeeper's wlock to a raw_spin_lock
    time: Whitespace cleanups per Ingo's requests
    time: Explicitly use u32 instead of int for shift values

    kernel/time/timekeeping.c | 506 ++++++++++++++++++++++++++-------------------
    1 files changed, 290 insertions(+), 216 deletions(-)

    CC: Ingo Molnar <mingo@elte.hu>
    CC: Thomas Gleixner <tglx@linutronix.de>
    CC: Eric Dumazet <eric.dumazet@gmail.com>
    CC: Richard Cochran <richardcochran@gmail.com>
    --
    1.7.3.2.146.gca209



    \
     
     \ /
      Last update: 2012-03-02 08:17    [W:2.956 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site