linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Stultz <john.stultz@linaro.org>
To: LKML <linux-kernel@vger.kernel.org>
Cc: John Stultz <john.stultz@linaro.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Eric Dumazet <eric.dumazet@gmail.com>,
	Richard Cochran <richardcochran@gmail.com>
Subject: [PATCH 00/16] Timekeeping cleanups and locking changes
Date: Mon, 14 Nov 2011 20:03:50 -0800	[thread overview]
Message-ID: <1321329846-14755-1-git-send-email-john.stultz@linaro.org> (raw)

Hey Thomas,

THIS IS PATCHWAR!

After your 7 patch patchbomb reworking much of the timekeeping locking
from this morning, I decided such aggression will not stand.

So here's 16 patches, some are your patches, just lobbed back, targeting
strategic locations of your inbox.

Its all pretty rough, and the whole set likely needs some refactoring, but
I wanted to let you see my take on your approach. Much of this are changes
I've intended to get to, but have just been too busy of late.

I also included a similar shadow-update trick to reduce the lock 
hold times, but as noted in the patch, I'm still worried about the
likely race there, and we need to do some further vetting to ensure
it really can't cause trouble (as well as warnings to anyone trying 
to later understand the rational there).

I also still need to refactor the update_vsyscall implementations to
utilize the xsec_nsec, so we can avoid truncation issues without 
mucking with the ntp_error code.

Anyway, let me know what you think.

-john

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


Patches are also available here:
(Fair warning, I may rebase the following branch)

 git://git.linaro.org/people/jstultz/linux.git dev/xtime-breakup


John Stultz (14):
  time: Move total_sleep_time into the timekeeper structure
  time: Move wall_to_monotonic into the timekeeper structure
  time: Move xtime into timekeeeper structure
  time: Move raw_time into timekeeper structure
  time: Cleanup global variables and move them to the top
  time: Add timekeeper lock
  ntp: Cleanup timex.h
  ntp: Access tick_length variable via ntp_tick_length()
  ntp: Add ntp_lock to replace xtime_locking
  time: Remove most of xtime_lock usage in timekeeping.c
  time: Condense timekeeper.xtime into xtime_sec
  time: Rework timekeeping functions to take timekeeper ptr as argument
  time: Update tiemkeeper structure using a local shadow
  time: Rework update_vsyscall to pass timekeeper

Thomas Gleixner (2):
  time: Reorder so the hot data is together
  time: Move common updates to a function

 arch/ia64/kernel/time.c       |   28 ++--
 arch/powerpc/kernel/time.c    |   25 +-
 arch/s390/kernel/time.c       |   18 +-
 arch/x86/kernel/vsyscall_64.c |   21 +-
 include/linux/clocksource.h   |    9 -
 include/linux/timekeeper.h    |   75 +++++++
 include/linux/timex.h         |   17 +--
 kernel/time/ntp.c             |   83 ++++++--
 kernel/time/timekeeping.c     |  494 +++++++++++++++++++++--------------------
 9 files changed, 442 insertions(+), 328 deletions(-)
 create mode 100644 include/linux/timekeeper.h

-- 
1.7.3.2.146.gca209


             reply	other threads:[~2011-11-15  4:04 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-11-15  4:03 John Stultz [this message]
2011-11-15  4:03 ` [PATCH 01/16] time: Move total_sleep_time into the timekeeper structure John Stultz
2011-11-15  4:03 ` [PATCH 02/16] time: Move wall_to_monotonic " John Stultz
2011-11-15  4:03 ` [PATCH 03/16] time: Move xtime into timekeeeper structure John Stultz
2011-11-15  4:03 ` [PATCH 04/16] time: Move raw_time into timekeeper structure John Stultz
2011-11-15  4:03 ` [PATCH 05/16] time: Cleanup global variables and move them to the top John Stultz
2011-11-15  4:03 ` [PATCH 06/16] time: Add timekeeper lock John Stultz
2011-11-15  4:03 ` [PATCH 07/16] ntp: Cleanup timex.h John Stultz
2011-11-15  4:03 ` [PATCH 08/16] ntp: Access tick_length variable via ntp_tick_length() John Stultz
2011-11-15  4:03 ` [PATCH 09/16] ntp: Add ntp_lock to replace xtime_locking John Stultz
2011-11-15  4:04 ` [PATCH 10/16] time: Remove most of xtime_lock usage in timekeeping.c John Stultz
2011-11-15  4:04 ` [PATCH 11/16] time: Reorder so the hot data is together John Stultz
2011-11-15  4:04 ` [PATCH 12/16] time: Move common updates to a function John Stultz
2011-11-15  4:04 ` [PATCH 13/16] time: Condense timekeeper.xtime into xtime_sec John Stultz
2011-11-15  4:04 ` [PATCH 14/16] time: Rework timekeeping functions to take timekeeper ptr as argument John Stultz
2011-11-15  4:04 ` [PATCH 15/16] time: Update tiemkeeper structure using a local shadow John Stultz
2011-11-17 22:03   ` John Stultz
2011-11-15  4:04 ` [PATCH 16/16] time: Rework update_vsyscall to pass timekeeper John Stultz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1321329846-14755-1-git-send-email-john.stultz@linaro.org \
    --to=john.stultz@linaro.org \
    --cc=eric.dumazet@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=richardcochran@gmail.com \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).