mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Frederic Weisbecker <fweisbec@gmail.com>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Preeti U Murthy <preeti@linux.vnet.ibm.com>,
	Christoph Lameter <cl@linux.com>, Ingo Molnar <mingo@kernel.org>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Rik van Riel <riel@redhat.com>
Subject: [PATCH 00/10] nohz: Tick dependency mask v2
Date: Thu, 23 Jul 2015 18:42:05 +0200	[thread overview]
Message-ID: <1437669735-8786-1-git-send-email-fweisbec@gmail.com> (raw)

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

             reply	other threads:[~2015-07-23 16:42 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-23 16:42 Frederic Weisbecker [this message]
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

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=1437669735-8786-1-git-send-email-fweisbec@gmail.com \
    --to=fweisbec@gmail.com \
    --cc=cl@linux.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=preeti@linux.vnet.ibm.com \
    --cc=riel@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=viresh.kumar@linaro.org \
    /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

all inboxes | Powered by JetHome®