All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/9] Reduce timekeeping lock hold time v2
@ 2012-03-02  7:12 John Stultz
  2012-03-02  7:12 ` [PATCH 1/9] time: Condense timekeeper.xtime into xtime_sec John Stultz
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: John Stultz @ 2012-03-02  7:12 UTC (permalink / raw)
  To: lkml
  Cc: John Stultz, Ingo Molnar, Thomas Gleixner, Eric Dumazet,
	Richard Cochran

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


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2012-03-03  5:54 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-02  7:12 [PATCH 0/9] Reduce timekeeping lock hold time v2 John Stultz
2012-03-02  7:12 ` [PATCH 1/9] time: Condense timekeeper.xtime into xtime_sec John Stultz
2012-03-02 21:13   ` Christoph Lameter
2012-03-03  5:54     ` Richard Cochran
2012-03-02  7:12 ` [PATCH 2/9] time: Rework timekeeping functions to take timekeeper ptr as argument John Stultz
2012-03-02  7:12 ` [PATCH 3/9] time: Split timekeeper lock into separate reader/writer locks John Stultz
2012-03-02  7:12 ` [PATCH 4/9] time: Update timekeeper structure using a local shadow John Stultz
2012-03-02  7:38   ` Ingo Molnar
2012-03-02  7:53     ` John Stultz
2012-03-02  8:07       ` Ingo Molnar
2012-03-02  7:12 ` [PATCH 5/9] time: Shadow cycle_last in timekeeper structure John Stultz
2012-03-02  7:12 ` [PATCH 6/9] time: Reduce timekeeper read lock hold time John Stultz
2012-03-02  7:12 ` [PATCH 7/9] time: Convert the timekeeper's wlock to a raw_spin_lock John Stultz
2012-03-02  7:12 ` [PATCH 8/9] time: Whitespace cleanups per Ingo's requests John Stultz
2012-03-02  7:12 ` [PATCH 9/9] time: Explicitly use u32 instead of int for shift values John Stultz

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.