lkml.org 
[lkml]   [2012]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[GIT PULL][PATCH 0/7] Reduce timekeeping lock hold time
Date
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.

I've done some limited testing, but it would be good to get
this in -tip early, so we can be sure it gets enough testing
before 3.4 is released.

CC: Thomas Gleixner <tglx@linutronix.de>
CC: Eric Dumazet <eric.dumazet@gmail.com>
CC: Richard Cochran <richardcochran@gmail.com>

thanks
-john

Thomas,

These patches are available in the git repository at:
git://git.linaro.org/people/jstultz/linux.git fortglx/3.4/time

John Stultz (7):
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

kernel/time/timekeeping.c | 414 ++++++++++++++++++++++++++-------------------
1 files changed, 243 insertions(+), 171 deletions(-)
--
1.7.3.2.146.gca209



\
 
 \ /
  Last update: 2012-02-28 01:33    [from the cache]
©2003-2011 Jasper Spaans