mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [GIT PULL v2] nohz: Posix cpu timers handling on full dynticks
@ 2013-04-19 14:51 Frederic Weisbecker
  2013-04-19 14:51 ` [PATCH 1/3] nohz: New APIs to re-evaluate the tick on full dynticks CPUs Frederic Weisbecker
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Frederic Weisbecker @ 2013-04-19 14:51 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: LKML, Frederic Weisbecker, Chris Metcalf, Christoph Lameter,
	Geoff Levand, Gilad Ben Yossef, Hakan Akkan, Kevin Hilman,
	Li Zhong, Oleg Nesterov, Paul E. McKenney, Paul Gortmaker,
	Peter Zijlstra, Steven Rostedt, Thomas Gleixner

Ingo,

Please pull this second version of the dynticks handling of posix cpu
timers from:

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
	timers/nohz-posix-timers-v2

This fixes an issue with a race between run_posix_cpu_timers() and full
dynticks CPUs that we found while discussing a patch with Olivier Langlois.

As a bonus, it also provides the other side of posix cpu timers handling
in dynticks with the new helper to check before stopping the tick.

Thanks.

Frederic Weisbecker (3):
  nohz: New APIs to re-evaluate the tick on full dynticks CPUs
  posix_timers: Kick full dynticks CPUs when a posix cpu timer is armed
  posix_timers: New API to prevent from stopping the tick when timers
    are running

 include/linux/posix-timers.h |    2 +
 include/linux/tick.h         |    4 ++
 kernel/posix-cpu-timers.c    |   76 +++++++++++++++++++++++++++++++++---------
 kernel/time/Kconfig          |    1 +
 kernel/time/tick-sched.c     |   51 ++++++++++++++++++++++++++++
 5 files changed, 118 insertions(+), 16 deletions(-)

-- 
1.7.5.4


^ permalink raw reply	[flat|nested] 6+ messages in thread
* [RFC GIT PULL] nohz: Posix cpu timers handling on full dynticks
@ 2013-04-18 17:23 Frederic Weisbecker
  2013-04-18 17:23 ` [PATCH 1/3] nohz: New APIs to re-evaluate the tick on full dynticks CPUs Frederic Weisbecker
  0 siblings, 1 reply; 6+ messages in thread
From: Frederic Weisbecker @ 2013-04-18 17:23 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: LKML, Frederic Weisbecker, Chris Metcalf, Christoph Lameter,
	Geoff Levand, Gilad Ben Yossef, Hakan Akkan, Kevin Hilman,
	Li Zhong, Oleg Nesterov, Paul E. McKenney, Paul Gortmaker,
	Peter Zijlstra, Steven Rostedt, Thomas Gleixner

Ingo,

Please consider the following branch:

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
	timers/nohz-posix-timers

Posix cpu timers, perf events tick and sched clock tick need to be
handled in two parts:

1) When a posix cpu timer is enqueued, a list head in perf rotation list is added
or the sched clock is marked unstable, we need to kick the full dynticks CPUs by way
of IPIs so that they reconsider their tick state.

2) Before a full dynticks CPU decides to stop its tick, check if there are posix cpu timers
in the queue, that perf rotation list isn't empty and that sched clock is stable before
shutting down the tick.

This branch handles the first part (which is the trickiest) for posix cpu timers
and also settles the necessary infrastructure to do the same for perf and sched clock
in further pull requests.

As usual, the approach can be further optimized but it's not yet optimization time.

Thanks.

Frederic Weisbecker (3):
  nohz: New APIs to re-evaluate the tick on full dynticks CPUs
  posix_timers: Defer per process timer stop after timers processing
  posix_timers: Kick full dynticks CPUs when a posix cpu timer is armed

 include/linux/tick.h      |    4 +++
 kernel/posix-cpu-timers.c |   35 ++++++++++++++++++++++++++++--
 kernel/time/Kconfig       |    1 +
 kernel/time/tick-sched.c  |   51 +++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 88 insertions(+), 3 deletions(-)

-- 
1.7.5.4


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

end of thread, other threads:[~2013-04-21  9:26 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-19 14:51 [GIT PULL v2] nohz: Posix cpu timers handling on full dynticks Frederic Weisbecker
2013-04-19 14:51 ` [PATCH 1/3] nohz: New APIs to re-evaluate the tick on full dynticks CPUs Frederic Weisbecker
2013-04-19 14:51 ` [PATCH 2/3] posix_timers: Kick full dynticks CPUs when a posix cpu timer is armed Frederic Weisbecker
2013-04-19 14:51 ` [PATCH 3/3] posix_timers: New API to prevent from stopping the tick when timers are running Frederic Weisbecker
2013-04-21  9:26 ` [GIT PULL v2] nohz: Posix cpu timers handling on full dynticks Ingo Molnar
  -- strict thread matches above, loose matches on Subject: below --
2013-04-18 17:23 [RFC GIT PULL] " Frederic Weisbecker
2013-04-18 17:23 ` [PATCH 1/3] nohz: New APIs to re-evaluate the tick on full dynticks CPUs Frederic Weisbecker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®