linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] nohz: Tick dependency mask v2
@ 2015-07-23 16:42 Frederic Weisbecker
  2015-07-23 16:42 ` [PATCH 01/10] nohz: Remove idle task special case Frederic Weisbecker
                   ` (9 more replies)
  0 siblings, 10 replies; 59+ messages in thread
From: Frederic Weisbecker @ 2015-07-23 16:42 UTC (permalink / raw)
  To: LKML
  Cc: Frederic Weisbecker, Peter Zijlstra, Thomas Gleixner,
	Preeti U Murthy, Christoph Lameter, Ingo Molnar, Viresh Kumar,
	Rik van Riel

Currently in nohz full configs, the tick dependency is checked
asynchronously by nohz code from interrupt and context switch for each
concerned subsystem with a set of function provided by these. These
functions are made of many conditions and details that can be heavyweight:
sched_can_stop_tick(), posix_cpu_timer_can_stop_tick(),
perf_event_can_stop_tick()...

Thomas suggested a few month ago to make that tick dependency check                                                                    
synchronous. Instead of checking subsystems details from each interrupt
to guess if the tick can be stopped, every subsystem that may have a tick                                                                      
dependency should set itself a flag specifying the state of that                                                                      
dependency. This way we can verify if we can stop the tick with a single                                                              
lightweight mask check.

There is still a last bit of work to do (add static keys on
tick_dependency APIs) but it's overall complete.

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
	timers/core-v4

HEAD: 2e9d80bececd2cb49aeddaf61660de76730559f9

Thanks,
	Frederic
---

Frederic Weisbecker (10):
      nohz: Remove idle task special case
      nohz: Restart nohz full tick from irq exit
      nohz: Move tick_nohz_restart_sched_tick() above its users
      nohz: Remove useless argument on tick_nohz_task_switch()
      nohz: New tick dependency mask
      perf: Migrate perf to use new tick dependency mask model
      sched: Migrate sched to use new tick dependency mask model
      posix-cpu-timers: Migrate to use new tick dependency mask model
      sched-clock: Migrate to use new tick dependency mask model
      nohz: Remove task switch obsolete tick dependency check


 include/linux/perf_event.h     |   6 --
 include/linux/posix-timers.h   |   3 -
 include/linux/sched.h          |   3 -
 include/linux/tick.h           |  36 ++++---
 kernel/events/core.c           |  19 +---
 kernel/sched/clock.c           |   5 +
 kernel/sched/core.c            |  14 +--
 kernel/sched/sched.h           |  56 ++++++++---
 kernel/time/posix-cpu-timers.c |  92 +++++++++---------
 kernel/time/tick-sched.c       | 215 ++++++++++++++++++++++++++---------------
 kernel/time/tick-sched.h       |   1 +
 11 files changed, 265 insertions(+), 185 deletions(-)

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

end of thread, other threads:[~2015-08-10 16:41 UTC | newest]

Thread overview: 59+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-23 16:42 [PATCH 00/10] nohz: Tick dependency mask v2 Frederic Weisbecker
2015-07-23 16:42 ` [PATCH 01/10] nohz: Remove idle task special case Frederic Weisbecker
2015-07-23 16:42 ` [PATCH 02/10] nohz: Restart nohz full tick from irq exit Frederic Weisbecker
2015-07-23 16:42 ` [PATCH 03/10] nohz: Move tick_nohz_restart_sched_tick() above its users Frederic Weisbecker
2015-07-23 16:42 ` [PATCH 04/10] nohz: Remove useless argument on tick_nohz_task_switch() Frederic Weisbecker
2015-08-03 12:39   ` Peter Zijlstra
2015-08-03 12:49     ` Frederic Weisbecker
2015-08-03 13:04       ` Peter Zijlstra
2015-07-23 16:42 ` [PATCH 05/10] nohz: New tick dependency mask Frederic Weisbecker
2015-07-24 16:55   ` Chris Metcalf
2015-07-24 17:16     ` Frederic Weisbecker
2015-07-24 17:43       ` Chris Metcalf
2015-08-03 12:48         ` Peter Zijlstra
2015-08-03 12:43   ` Peter Zijlstra
2015-08-03 13:05     ` Frederic Weisbecker
2015-08-03 13:24       ` Peter Zijlstra
2015-08-03 13:49         ` Frederic Weisbecker
2015-08-03 12:57   ` Peter Zijlstra
2015-08-03 13:09     ` Frederic Weisbecker
2015-08-03 13:29       ` Peter Zijlstra
2015-08-03 13:55         ` Frederic Weisbecker
2015-08-03 14:11           ` Peter Zijlstra
2015-07-23 16:42 ` [PATCH 06/10] perf: Migrate perf to use new tick dependency mask model Frederic Weisbecker
2015-07-23 16:42 ` [PATCH 07/10] sched: Migrate sched " Frederic Weisbecker
2015-07-23 16:55   ` Frederic Weisbecker
2015-07-24 16:56   ` Chris Metcalf
2015-07-29 13:01     ` Frederic Weisbecker
2015-08-03 14:00   ` Peter Zijlstra
2015-08-03 14:50     ` Frederic Weisbecker
2015-08-03 17:09       ` Peter Zijlstra
2015-08-03 17:30         ` Frederic Weisbecker
2015-08-04  7:41           ` Peter Zijlstra
2015-08-10 14:02             ` Juri Lelli
2015-08-10 14:16               ` Frederic Weisbecker
2015-08-10 14:28                 ` Peter Zijlstra
2015-08-10 15:11                   ` Peter Zijlstra
2015-08-10 15:29                     ` Frederic Weisbecker
2015-08-10 15:43                       ` Juri Lelli
2015-08-10 16:41                       ` Peter Zijlstra
2015-08-10 15:33                 ` Christoph Lameter
2015-07-23 16:42 ` [PATCH 08/10] posix-cpu-timers: Migrate " Frederic Weisbecker
2015-07-24 16:57   ` Chris Metcalf
2015-07-29 13:23     ` Frederic Weisbecker
2015-07-29 17:24       ` Chris Metcalf
2015-07-30  0:44         ` Frederic Weisbecker
2015-07-30 14:31           ` Luiz Capitulino
2015-07-30 14:46             ` Frederic Weisbecker
2015-07-30 19:35           ` Chris Metcalf
2015-07-30 19:45             ` Frederic Weisbecker
2015-07-30 19:52               ` Chris Metcalf
2015-07-31 14:49                 ` Frederic Weisbecker
2015-08-03 15:59                   ` Chris Metcalf
2015-08-03 18:01                     ` Frederic Weisbecker
2015-08-03 17:12                   ` Peter Zijlstra
2015-08-03 17:39                     ` Frederic Weisbecker
2015-08-03 19:07                       ` Peter Zijlstra
2015-08-06 17:13                       ` Chris Metcalf
2015-07-23 16:42 ` [PATCH 09/10] sched-clock: " Frederic Weisbecker
2015-07-23 16:42 ` [PATCH 10/10] nohz: Remove task switch obsolete tick dependency check Frederic Weisbecker

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).