Do that rename in order to normalize the hrtick namespace.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Paul E. McKenney
Cc: Peter Zijlstra
Cc: Rik van Riel
Cc: Thomas Gleixner
Cc: Wanpeng Li
Cc: Ingo Molnar
Document the interface to offload the 1Hz scheduler tick in full
dynticks mode. Also improve the comment about the existing "nohz" flag
in order to differentiate its behaviour.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Luiz Capitulino
Cc: Mike
HEAD: 4b07980eaca4012852b5f02c2a55b1114c475804
Thanks,
Frederic
---
Frederic Weisbecker (5):
sched: Rename init_rq_hrtick to hrtick_rq_init
sched/isolation: Add scheduler tick offloading interface
nohz: Allow to check if remote CPU tick is stopped
sched/isol
This check is racy but provides a good heuristic to determine whether
a CPU may need a remote tick or not.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Paul E. McKenney
Cc: Peter Zijlstra
Cc: Rik van Riel
Cc: Thomas
Add the boot option that will allow us to offload the 1Hz scheduler tick
to the housekeeping CPU.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Paul E. McKenney
Cc: Peter Zijlstra
Cc: Rik van Riel
Cc: Thomas Gleixner
oft interrupt to the
> conditions in tick_nohz_stop_sched_tick() which avoid calling
> get_next_timer_interrupt(). That keeps the tick sched timer on the tick and
> prevents a repetitive programming of an already expired timer.
>
> Signed-off-by: Thomas Gleixner
> Cc: Peter
On Fri, Dec 22, 2017 at 03:51:13PM +0100, Thomas Gleixner wrote:
> The conditions in irq_exit() to invoke tick_nohz_irq_exit() are:
>
> if ((idle_cpu(cpu) && !need_resched()) || tick_nohz_full_cpu(cpu))
>
> This is too permissive in various aspects:
>
> 1) If need_resched() is set, then the
al.
>
> Fixes: 500462a9de65 ("timers: Switch to a non-cascading wheel")
> Signed-off-by: Anna-Maria Gleixner
> Signed-off-by: Thomas Gleixner
> Cc: sta...@vger.kernel.org
> Cc: r...@linutronix.de
Nice catch!
Reviewed-by: Frederic Weisbecker
Thanks!
Document the interface to offload the 1Hz scheduler tick in full
dynticks mode. Also improve the comment about the existing "nohz" flag
in order to differentiate its behaviour.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Luiz Capitulino
Cc: Mike
This check is racy but provides a good heuristic to determine whether
a CPU may need a remote tick or not.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Paul E. McKenney
Cc: Peter Zijlstra
Cc: Rik van Riel
Cc: Thomas
l now outsource
these scheduler ticks to the global workqueue so that a housekeeping CPU
handles that tick remotely.
Note it's still up to the user to affine the global workqueues to the
housekeeping CPUs through /sys/devices/virtual/workqueue/cpumask or
domains isolation.
Signed-off-by: Fre
Add the boot option that will allow us to offload the 1Hz scheduler tick
to the housekeeping CPU.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Paul E. McKenney
Cc: Peter Zijlstra
Cc: Rik van Riel
Cc: Thomas Gleixner
-v2
HEAD: bde624c847147fe500fa65e9c78850e43b933d2d
Thanks,
Frederic
---
Frederic Weisbecker (5):
sched: Rename init_rq_hrtick to hrtick_rq_init
sched/isolation: Add scheduler tick offloading interface
nohz: Allow to check if remote CPU tick is stopped
sched
Do that rename in order to normalize the hrtick namespace.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Paul E. McKenney
Cc: Peter Zijlstra
Cc: Rik van Riel
Cc: Thomas Gleixner
Cc: Wanpeng Li
Cc: Ingo Molnar
2017-12-19 10:08 UTC+01:00, Peter Zijlstra :
> On Tue, Dec 19, 2017 at 04:23:54AM +0100, Frederic Weisbecker wrote:
>> Let's debloat some more core.c
>> Also we are going to expand the tick code even further to introduce
>> scheduler tick offloading.
>
> Not a
2017-12-19 17:03 UTC+01:00, Christopher Lameter :
> On Tue, 19 Dec 2017, Frederic Weisbecker wrote:
>
>> Adding the boot parameter "isolcpus=nohz_offload" will now outsource
>> these scheduler ticks to the global workqueue so that a housekeeping CPU
>> handles
2017-12-19 10:19 UTC+01:00, Peter Zijlstra :
> On Tue, Dec 19, 2017 at 04:23:57AM +0100, Frederic Weisbecker wrote:
>> When a CPU runs in full dynticks mode, a 1Hz tick remains in order to
>> keep the scheduler stats alive. However this residual tick is a burden
>> for Real-
Do that rename in order to normalize the hrtick namespace.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Paul E. McKenney
Cc: Peter Zijlstra
Cc: Rik van Riel
Cc: Thomas Gleixner
Cc: Wanpeng Li
Cc: Ingo Molnar
Add the boot option that will allow us to offload the 1Hz scheduler tick
to the housekeeping CPU.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Paul E. McKenney
Cc: Peter Zijlstra
Cc: Rik van Riel
Cc: Thomas Gleixner
eduler ticks to the global workqueue so that a housekeeping CPU
handles that tick remotely.
Note it's still up to the user to affine the global workqueues to the
housekeeping CPUs through /sys/devices/virtual/workqueue/cpumask or
domains isolation.
Signed-off-by: Frederic Weisbecker
C
s boot option to offload the
residual 1Hz tick.
For quick testing, say on CPUs 1-7:
"isolcpus=nohz_offload,domain,1-7"
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
timers/0z
HEAD: a9366794579a4ff71ec3546b9983536a669fbfb9
Thanks,
Freder
Document the interface to offload the 1Hz scheduler tick in full
dynticks mode. Also improve the comment about the existing "nohz" flag
in order to differentiate its behaviour.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Luiz Capitulino
Cc: Mike
Let's debloat some more core.c
Also we are going to expand the tick code even further to introduce
scheduler tick offloading.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Paul E. McKenney
Cc: Peter Zijlstra
Cc
Commit-ID: d94d105329e4a8a874853b5bd854b6587c41adda
Gitweb: https://git.kernel.org/tip/d94d105329e4a8a874853b5bd854b6587c41adda
Author: Frederic Weisbecker
AuthorDate: Thu, 14 Dec 2017 19:18:27 +0100
Committer: Ingo Molnar
CommitDate: Mon, 18 Dec 2017 13:46:42 +0100
sched/isolation
Commit-ID: 2c43838c99d9d23f17eb2bdadafcb2879cca6995
Gitweb: https://git.kernel.org/tip/2c43838c99d9d23f17eb2bdadafcb2879cca6995
Author: Frederic Weisbecker
AuthorDate: Thu, 14 Dec 2017 19:18:26 +0100
Committer: Ingo Molnar
CommitDate: Mon, 18 Dec 2017 13:46:42 +0100
sched/isolation
The "isolcpus=" and "nohz_full=" boot parameters depend on CPU Isolation
support. Let's document that.
Signed-off-by: Frederic Weisbecker
Cc: Paul E. McKenney
Cc: Thomas Gleixner
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Linus Torvalds
Cc: Luiz Capitulino
Cc:
for those who want to tinify their kernels.
Signed-off-by: Frederic Weisbecker
Cc: Paul E. McKenney
Cc: Thomas Gleixner
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Linus Torvalds
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Rik van Riel
Cc: Wanpeng Li
Cc: Ingo Molnar
Ingo,
Please pull the nohz/fixes-v2 branch that can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
nohz/fixes-v2
HEAD: 5ecdec22346b99967e8b4e8d78a5b4d23bf216f9
Thanks,
Frederic
---
Frederic Weisbecker (2):
sched/isolation: Enable
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Rik van Riel
Cc: Wanpeng Li
Cc: Ingo Molnar
Cc: John Stultz
Signed-off-by: Frederic Weisbecker
---
kernel/time/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig
index e776fc8..f
2017-12-14 15:14 UTC+01:00, Frederic Weisbecker :
> Ingo,
>
> Please pull the nohz/fixes branch that can be found at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
> nohz/fixes
>
> HEAD: 11c3146353bb83028ace8ad089a911c390395986
Sor
e previous behaviour but keep it
optable for those who want to tinify their kernels.
Signed-off-by: Frederic Weisbecker
Cc: Paul E. McKenney
Cc: Thomas Gleixner
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Linus Torvalds
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Rik van
From: "Paul E. McKenney"
The "isolcpus=" and "nohz_full=" boot parameters depend on CPU Isolation
support. Let's document that.
Signed-off-by: Frederic Weisbecker
Cc: Paul E. McKenney
Cc: Thomas Gleixner
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Linu
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Peter Zijlstra
Cc: Rik van Riel
Cc: Wanpeng Li
Cc: Ingo Molnar
Cc: John Stultz
Signed-off-by: Frederic Weisbecker
---
kernel/time/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig
index e776fc8..f
Ingo,
Please pull the nohz/fixes branch that can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
nohz/fixes
HEAD: 11c3146353bb83028ace8ad089a911c390395986
Thanks,
Frederic
---
Paul E. McKenney (3):
sched/isolation: Make NO_HZ_FULL se
2017-12-11 11:59 UTC+01:00, Bartosz Golaszewski :
> 2017-11-27 11:52 GMT+01:00 Bartosz Golaszewski :
> It's been a couple months since I first posted this patch. Can it be
> applied for 4.16?
>
> @Frederic: I noticed you picked up some irq_work patches in the past
> so I'm Cc'ing you.
Sure, I'll t
e we're at it: use the BIT() macro for all flags.
>
> Signed-off-by: Bartosz Golaszewski
Nice!
Acked-by: Frederic Weisbecker
2017-12-07 18:29 UTC+01:00, Paul E. McKenney :
> On Thu, Dec 07, 2017 at 05:14:54PM +0100, Frederic Weisbecker wrote:
>> 2017-12-04 18:16 UTC+01:00, Paul E. McKenney
>> :
>> > On Mon, Dec 04, 2017 at 04:53:15PM +0100, Frederic Weisbecker wrote:
>> >> 2017-12-
2017-12-04 18:16 UTC+01:00, Paul E. McKenney :
> On Mon, Dec 04, 2017 at 04:53:15PM +0100, Frederic Weisbecker wrote:
>> 2017-12-02 20:24 UTC+01:00, Paul E. McKenney
>> I would prefer to keep it. It's useful for automated boot testing
>> based on configs such as 0-day
2017-12-02 20:24 UTC+01:00, Paul E. McKenney :
> On Sat, Dec 02, 2017 at 02:59:12PM +0100, Frederic Weisbecker wrote:
>> 2017-11-30 21:20 UTC+01:00, Paul E. McKenney
>> :
>> > Commit 5c4991e24c69 ("sched/isolation: Split out new
>> > CONFIG_CPU_ISOLATION
2017-11-30 21:20 UTC+01:00, Paul E. McKenney :
> Commit 5c4991e24c69 ("sched/isolation: Split out new
> CONFIG_CPU_ISOLATION=y config from CONFIG_NO_HZ_FULL") can result in RCU
> CPU stall warnings when running rcutorture with CONFIG_NO_HZ_FULL_ALL=y
> and CONFIG_CPU_ISOLATION=n. These warnings ar
Commit-ID: b04db8e19fc2e9131524dec43057c1b96d5ba3ba
Gitweb: https://git.kernel.org/tip/b04db8e19fc2e9131524dec43057c1b96d5ba3ba
Author: Frederic Weisbecker
AuthorDate: Mon, 6 Nov 2017 16:01:30 +0100
Committer: Ingo Molnar
CommitDate: Wed, 8 Nov 2017 11:13:55 +0100
rcu: Use lockdep to
Commit-ID: a69682200db9c2c26594188f81dd2df560af4683
Gitweb: https://git.kernel.org/tip/a69682200db9c2c26594188f81dd2df560af4683
Author: Frederic Weisbecker
AuthorDate: Mon, 6 Nov 2017 16:01:28 +0100
Committer: Ingo Molnar
CommitDate: Wed, 8 Nov 2017 11:13:54 +0100
timers/posix-cpu
Commit-ID: af0733937317e1e03b60f3af8cf9cd59d665593c
Gitweb: https://git.kernel.org/tip/af0733937317e1e03b60f3af8cf9cd59d665593c
Author: Frederic Weisbecker
AuthorDate: Mon, 6 Nov 2017 16:01:29 +0100
Committer: Ingo Molnar
CommitDate: Wed, 8 Nov 2017 11:13:54 +0100
netpoll: Use lockdep
Commit-ID: 2c11dba00a39007b457c7607c1b1a4db95ca04bc
Gitweb: https://git.kernel.org/tip/2c11dba00a39007b457c7607c1b1a4db95ca04bc
Author: Frederic Weisbecker
AuthorDate: Mon, 6 Nov 2017 16:01:27 +0100
Committer: Ingo Molnar
CommitDate: Wed, 8 Nov 2017 11:13:53 +0100
sched/clock, sched
Commit-ID: 3c7169a3bf8216a56761a8edf775072dd36a00a0
Gitweb: https://git.kernel.org/tip/3c7169a3bf8216a56761a8edf775072dd36a00a0
Author: Frederic Weisbecker
AuthorDate: Mon, 6 Nov 2017 16:01:26 +0100
Committer: Ingo Molnar
CommitDate: Wed, 8 Nov 2017 11:13:52 +0100
irq_work: Use
Commit-ID: a934d4d15f040cdd254350e7270b35cc7521e12e
Gitweb: https://git.kernel.org/tip/a934d4d15f040cdd254350e7270b35cc7521e12e
Author: Frederic Weisbecker
AuthorDate: Mon, 6 Nov 2017 16:01:25 +0100
Committer: Ingo Molnar
CommitDate: Wed, 8 Nov 2017 11:13:52 +0100
irq/timings: Use
Commit-ID: 164446455a5d3f1402b5a0ea42acce33fd576ed7
Gitweb: https://git.kernel.org/tip/164446455a5d3f1402b5a0ea42acce33fd576ed7
Author: Frederic Weisbecker
AuthorDate: Mon, 6 Nov 2017 16:01:24 +0100
Committer: Ingo Molnar
CommitDate: Wed, 8 Nov 2017 11:13:51 +0100
perf/core: Use
Commit-ID: 7a10e2a9190628a4024ea394ce7bd641ae40ffd1
Gitweb: https://git.kernel.org/tip/7a10e2a9190628a4024ea394ce7bd641ae40ffd1
Author: Frederic Weisbecker
AuthorDate: Mon, 6 Nov 2017 16:01:23 +0100
Committer: Ingo Molnar
CommitDate: Wed, 8 Nov 2017 11:13:50 +0100
x86: Use lockdep to
Commit-ID: 83efcbd028ad3aec36b5a3882cfa32490c135df7
Gitweb: https://git.kernel.org/tip/83efcbd028ad3aec36b5a3882cfa32490c135df7
Author: Frederic Weisbecker
AuthorDate: Mon, 6 Nov 2017 16:01:22 +0100
Committer: Ingo Molnar
CommitDate: Wed, 8 Nov 2017 11:13:50 +0100
smp/core: Use
Commit-ID: 53bef3fd47f69e40b52c9f9acd3551dfff9f8702
Gitweb: https://git.kernel.org/tip/53bef3fd47f69e40b52c9f9acd3551dfff9f8702
Author: Frederic Weisbecker
AuthorDate: Mon, 6 Nov 2017 16:01:21 +0100
Committer: Ingo Molnar
CommitDate: Wed, 8 Nov 2017 11:13:49 +0100
timers/hrtimer: Use
Commit-ID: ebf3adbad012b89c4a51a3beae718a587d988a3a
Gitweb: https://git.kernel.org/tip/ebf3adbad012b89c4a51a3beae718a587d988a3a
Author: Frederic Weisbecker
AuthorDate: Mon, 6 Nov 2017 16:01:20 +0100
Committer: Ingo Molnar
CommitDate: Wed, 8 Nov 2017 11:13:49 +0100
timers/nohz: Use
Commit-ID: 8e8eb730759f9cfd7a761b0b4ee41d714e720993
Gitweb: https://git.kernel.org/tip/8e8eb730759f9cfd7a761b0b4ee41d714e720993
Author: Frederic Weisbecker
AuthorDate: Mon, 6 Nov 2017 16:01:19 +0100
Committer: Ingo Molnar
CommitDate: Wed, 8 Nov 2017 11:13:48 +0100
workqueue: Use
Commit-ID: f71b74bca637fca7de78f1d44eaefde5bc900f9f
Gitweb: https://git.kernel.org/tip/f71b74bca637fca7de78f1d44eaefde5bc900f9f
Author: Frederic Weisbecker
AuthorDate: Mon, 6 Nov 2017 16:01:18 +0100
Committer: Ingo Molnar
CommitDate: Wed, 8 Nov 2017 11:13:48 +0100
irq/softirqs: Use
Commit-ID: f54bb2ec02c839f6bfe3e8d438cd93d30b4809dd
Gitweb: https://git.kernel.org/tip/f54bb2ec02c839f6bfe3e8d438cd93d30b4809dd
Author: Frederic Weisbecker
AuthorDate: Mon, 6 Nov 2017 16:01:17 +0100
Committer: Ingo Molnar
CommitDate: Wed, 8 Nov 2017 11:13:47 +0100
locking/lockdep: Add
Use lockdep to check that IRQs are enabled or disabled as expected. This
way the sanity check only shows overhead when concurrency correctness
debug code is enabled.
Signed-off-by: Frederic Weisbecker
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: Paul E. McKenney
---
kernel
lags state.
Thanks,
Frederic
---
Frederic Weisbecker (14):
lockdep: Add IRQs disabled/enabled assertion
irq: Use lockdep to assert IRQs are disabled/enabled
workqueue: Use lockdep to assert IRQs are disabled/enabled
nohz: Use lockdep to assert IRQs are disabl
its
machinery. This will allow us to get rid of the flags pop and check
overhead from fast path when kernel is built for production.
Suggested-by: Peter Zijlstra
Signed-off-by: Frederic Weisbecker
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: Paul E. McKenney
---
include/linux
Use lockdep to check that IRQs are enabled or disabled as expected. This
way the sanity check only shows overhead when concurrency correctness
debug code is enabled.
Signed-off-by: Frederic Weisbecker
Acked-by: Tejun Heo
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: Paul E
Use lockdep to check that IRQs are enabled or disabled as expected. This
way the sanity check only shows overhead when concurrency correctness
debug code is enabled.
Signed-off-by: Frederic Weisbecker
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: Paul E. McKenney
---
kernel
Use lockdep to check that IRQs are enabled or disabled as expected. This
way the sanity check only shows overhead when concurrency correctness
debug code is enabled.
Signed-off-by: Frederic Weisbecker
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: Paul E. McKenney
---
kernel
Use lockdep to check that IRQs are enabled or disabled as expected. This
way the sanity check only shows overhead when concurrency correctness
debug code is enabled.
Signed-off-by: Frederic Weisbecker
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: Paul E. McKenney
---
kernel
Use lockdep to check that IRQs are enabled or disabled as expected. This
way the sanity check only shows overhead when concurrency correctness
debug code is enabled.
Signed-off-by: Frederic Weisbecker
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: Paul E. McKenney
---
kernel
Use lockdep to check that IRQs are enabled or disabled as expected. This
way the sanity check only shows overhead when concurrency correctness
debug code is enabled.
Signed-off-by: Frederic Weisbecker
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: Paul E. McKenney
---
kernel/irq
Use lockdep to check that IRQs are enabled or disabled as expected. This
way the sanity check only shows overhead when concurrency correctness
debug code is enabled.
Signed-off-by: Frederic Weisbecker
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: Paul E. McKenney
---
kernel
Lockdep now has an integrated IRQs disabled/enabled sanity check. Just
use it instead of the ad-hoc RCU version.
Signed-off-by: Frederic Weisbecker
Acked-by: Paul E. McKenney
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Thomas Gleixner
---
kernel/rcu/tree.c| 16
kernel
Use lockdep to check that IRQs are enabled or disabled as expected. This
way the sanity check only shows overhead when concurrency correctness
debug code is enabled.
Signed-off-by: Frederic Weisbecker
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: Paul E. McKenney
---
kernel
Use lockdep to check that IRQs are enabled or disabled as expected. This
way the sanity check only shows overhead when concurrency correctness
debug code is enabled.
Signed-off-by: Frederic Weisbecker
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: Paul E. McKenney
Cc: David S
Use lockdep to check that IRQs are enabled or disabled as expected. This
way the sanity check only shows overhead when concurrency correctness
debug code is enabled.
Signed-off-by: Frederic Weisbecker
Cc: Peter Zijlstra
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: Paul E. McKenney
---
kernel
. And to quote
Peter Zijlstra:
The whole if !disabled, disable logic is uber paranoid programming,
but I don't think we've ever seen that WARN trigger, and if it does
(and then burns the kernel) we at least know what happend.
Signed-off-by: Frederic Weisbecker
2017-10-22 11:20 UTC+02:00, Peter Zijlstra :
> On Fri, Oct 20, 2017 at 02:56:04AM +0200, Frederic Weisbecker wrote:
>> diff --git a/arch/x86/entry/common.c b/arch/x86/entry/common.c
>> index 03505ff..b4f3a55 100644
>> --- a/arch/x86/entry/common.c
>> +++ b/arch/x86/
Commit-ID: b0d40d2b22fe48cfcbbfb137fd198be0a1cd8a85
Gitweb: https://git.kernel.org/tip/b0d40d2b22fe48cfcbbfb137fd198be0a1cd8a85
Author: Frederic Weisbecker
AuthorDate: Tue, 31 Oct 2017 04:18:34 +0100
Committer: Ingo Molnar
CommitDate: Tue, 31 Oct 2017 10:29:39 +0100
sched/isolation
Document the latest updates on the isolcpus boot option. While at it,
let's also fix the details about the preferred way to isolate a set of
CPUs from the scheduler general domains. Cpusets offer a much better
interface to achieve that.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcal
From: Byungchul Park
Although llist provides proper APIs, they are not used. Make them used.
Signed-off-by: Byungchul Park
Cc: Peter Zijlstra
Signed-off-by: Frederic Weisbecker
---
kernel/irq_work.c | 6 +-
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/kernel/irq_work.c b
2017-10-27 20:21 UTC+02:00, Ingo Molnar :
>
> * Frederic Weisbecker wrote:
>
>> 2017-10-27 19:06 UTC+02:00, Ingo Molnar :
>> >
>> > * Frederic Weisbecker wrote:
>> >
>> >> 2017-10-27 15:58 UTC+02:00, Peter Zijlstra :
>> >>
2017-10-27 19:06 UTC+02:00, Ingo Molnar :
>
> * Frederic Weisbecker wrote:
>
>> 2017-10-27 15:58 UTC+02:00, Peter Zijlstra :
>> > On Fri, Oct 27, 2017 at 05:06:25AM -0700, tip-bot for Frederic
>> > Weisbecker
>> > wrote:
>> >> + isol
2017-10-27 15:58 UTC+02:00, Peter Zijlstra :
> On Fri, Oct 27, 2017 at 05:06:25AM -0700, tip-bot for Frederic Weisbecker
> wrote:
>> +isolcpus= [KNL,SMP] Isolate a given set of CPUs from disturbance.
>> +Format: [flag-list,]
>> +
>> +
Commit-ID: 98a06af93784a6ae541e9fc6292ef26177832543
Gitweb: https://git.kernel.org/tip/98a06af93784a6ae541e9fc6292ef26177832543
Author: Frederic Weisbecker
AuthorDate: Fri, 27 Oct 2017 04:42:39 +0200
Committer: Ingo Molnar
CommitDate: Fri, 27 Oct 2017 09:55:32 +0200
sched/isolation
Commit-ID: 150dfee95feb913876ced5cc559a342384e8ea97
Gitweb: https://git.kernel.org/tip/150dfee95feb913876ced5cc559a342384e8ea97
Author: Frederic Weisbecker
AuthorDate: Fri, 27 Oct 2017 04:42:38 +0200
Committer: Ingo Molnar
CommitDate: Fri, 27 Oct 2017 09:55:31 +0200
sched/isolation
Commit-ID: edb9382175c3ebdced8ffdb3e0f20052ad9fdbe9
Gitweb: https://git.kernel.org/tip/edb9382175c3ebdced8ffdb3e0f20052ad9fdbe9
Author: Frederic Weisbecker
AuthorDate: Fri, 27 Oct 2017 04:42:37 +0200
Committer: Ingo Molnar
CommitDate: Fri, 27 Oct 2017 09:55:30 +0200
sched/isolation
Commit-ID: 6f1982fedd59856bcc42a9b521be4c3ffd2f60a7
Gitweb: https://git.kernel.org/tip/6f1982fedd59856bcc42a9b521be4c3ffd2f60a7
Author: Frederic Weisbecker
AuthorDate: Fri, 27 Oct 2017 04:42:36 +0200
Committer: Ingo Molnar
CommitDate: Fri, 27 Oct 2017 09:55:30 +0200
sched/isolation
Commit-ID: de201559df872f83d0c08fb4effe3efd28e6cbc8
Gitweb: https://git.kernel.org/tip/de201559df872f83d0c08fb4effe3efd28e6cbc8
Author: Frederic Weisbecker
AuthorDate: Fri, 27 Oct 2017 04:42:35 +0200
Committer: Ingo Molnar
CommitDate: Fri, 27 Oct 2017 09:55:29 +0200
sched/isolation
Commit-ID: e179f5a04ba46ee5c5439480c2bfd68c358168b7
Gitweb: https://git.kernel.org/tip/e179f5a04ba46ee5c5439480c2bfd68c358168b7
Author: Frederic Weisbecker
AuthorDate: Fri, 27 Oct 2017 04:42:32 +0200
Committer: Ingo Molnar
CommitDate: Fri, 27 Oct 2017 09:55:27 +0200
sched/isolation
Commit-ID: 5c4991e24c69737bd41fc2737b1e3980abbf73f9
Gitweb: https://git.kernel.org/tip/5c4991e24c69737bd41fc2737b1e3980abbf73f9
Author: Frederic Weisbecker
AuthorDate: Fri, 27 Oct 2017 04:42:34 +0200
Committer: Ingo Molnar
CommitDate: Fri, 27 Oct 2017 09:55:28 +0200
sched/isolation
Commit-ID: 204c083a009378dfa751175b5fcddc75988bab6c
Gitweb: https://git.kernel.org/tip/204c083a009378dfa751175b5fcddc75988bab6c
Author: Frederic Weisbecker
AuthorDate: Fri, 27 Oct 2017 04:42:33 +0200
Committer: Ingo Molnar
CommitDate: Fri, 27 Oct 2017 09:55:28 +0200
sched/isolation
Commit-ID: 9f0ca2d97ef0b5e966be2cfef26c7c094ec14e41
Gitweb: https://git.kernel.org/tip/9f0ca2d97ef0b5e966be2cfef26c7c094ec14e41
Author: Frederic Weisbecker
AuthorDate: Fri, 27 Oct 2017 04:42:30 +0200
Committer: Ingo Molnar
CommitDate: Fri, 27 Oct 2017 09:55:26 +0200
sched/isolation
Commit-ID: 7e56a1cf4b28f5739526877b8dbad623fae2e4e7
Gitweb: https://git.kernel.org/tip/7e56a1cf4b28f5739526877b8dbad623fae2e4e7
Author: Frederic Weisbecker
AuthorDate: Fri, 27 Oct 2017 04:42:31 +0200
Committer: Ingo Molnar
CommitDate: Fri, 27 Oct 2017 09:55:26 +0200
sched/isolation
Commit-ID: 7863406143d8da07a61285c5f4c217908dfd
Gitweb: https://git.kernel.org/tip/7863406143d8da07a61285c5f4c217908dfd
Author: Frederic Weisbecker
AuthorDate: Fri, 27 Oct 2017 04:42:28 +0200
Committer: Ingo Molnar
CommitDate: Fri, 27 Oct 2017 09:55:24 +0200
sched/isolation
Commit-ID: 13316b31fdaaa45f06793eb7992588359ba6ab9f
Gitweb: https://git.kernel.org/tip/13316b31fdaaa45f06793eb7992588359ba6ab9f
Author: Frederic Weisbecker
AuthorDate: Fri, 27 Oct 2017 04:42:29 +0200
Committer: Ingo Molnar
CommitDate: Fri, 27 Oct 2017 09:55:25 +0200
sched/isolation
The housekeeping code is currently tied to the nohz code. As we are
planning to make housekeeping independant from it, start with moving
the relevant code to its own file.
Acked-by: Paul E. McKenney
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Linus Torvalds
/isolation.c
and linux/housekeeping.h to linux/sched/isolation.h
* Fix tilegx build error reported by Kbuild test robot
* Rebase against latest tip:sched/core
Thanks,
Frederic
---
Frederic Weisbecker (12):
housekeeping: Move housekeeping related code to its own file
watchdog: Use
housekeeping_any_cpu() doesn't handle correctly the case where
CONFIG_NO_HZ_FULL=y and no CPU is in nohz_full mode. So far no caller
needs this but let's prepare to avoid any future surprise.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Linus To
Housekeeping code still depends on nohz_full static key. Since we want
to decouple housekeeping from nohz, let's create a housekeeping own static
key. It's mostly relevant for calls to is_housekeeping_cpu() from the
scheduler.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc:
Split housekeeping config from CONFIG_NO_HZ_FULL. This way we finally
separate the isolation code from nohz.
Although a dependency to CONFIG_NO_HZ_FULL remains for now until the
housekeeping code doesn't deal anymore with nohz internals directly.
Signed-off-by: Frederic Weisbecker
Cc:
ck offload) and timers,
workqueue, RCU, kthread, watchdog, likely all merged together in a
common flag ("async"?). In any case, this will have to be modifiable by
cpusets.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Rik van Riel
Cc: Peter Zijlstra
Cc: Thomas Gleixner
Cc
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Rik van Riel
Cc: Peter Zijlstra
Cc: Thomas Gleixner
Cc: Mike Galbraith
Cc: Ingo Molnar
Cc: Christoph Lameter
Cc: Paul E. McKenney
Cc: Wanpeng Li
Cc: Luiz Capitulino
---
Documentation/admin-guide/kernel-parameters.txt | 35
be deprecated in the future. We want to control
the isolation features from the isolcpus= parameter.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Linus Torvalds
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Paul E. McKenney
Cc: Peter Zijlstra
Cc: Rik van Riel
We want to centralize the isolation features on the housekeeping
subsystem and scheduler domain isolation is a significant part of it.
No intended behaviour change, we just reuse the housekeeping cpumask
and core code.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Rik van Riel
Cc
Nobody needs to access this detail. housekeeping_cpumask() already
takes care about it.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Linus Torvalds
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Paul E. McKenney
Cc: Peter Zijlstra
Cc: Rik van Riel
Cc: Thomas
t the risk of
overcutting it right now. We can still merge some flags later if they
always make sense together.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Linus Torvalds
Cc: Luiz Capitulino
Cc: Mike Galbraith
Cc: Paul E. McKenney
Cc: Peter Zijlstra
Cc: Ri
While trying to disable the watchog on nohz_full CPUs, the watchdog
implements an ad-hoc version of housekeeping_cpumask(). Lets replace
those re-invented lines.
Signed-off-by: Frederic Weisbecker
Cc: Chris Metcalf
Cc: Christoph Lameter
Cc: Linus Torvalds
Cc: Luiz Capitulino
Cc: Mike
1201 - 1300 of 4504 matches
Mail list logo