The following commit has been merged into the sched/core branch of tip:
Commit-ID: 47b8ff194c1fd73d58dc339b597d466fe48c8958
Gitweb:
https://git.kernel.org/tip/47b8ff194c1fd73d58dc339b597d466fe48c8958
Author:Frederic Weisbecker
AuthorDate:Mon, 01 Feb 2021 00:05:47 +01:00
The following commit has been merged into the sched/core branch of tip:
Commit-ID: f8bb5cae9616224a39cbb399de382d36ac41df10
Gitweb:
https://git.kernel.org/tip/f8bb5cae9616224a39cbb399de382d36ac41df10
Author:Frederic Weisbecker
AuthorDate:Mon, 01 Feb 2021 00:05:46 +01:00
The following commit has been merged into the sched/core branch of tip:
Commit-ID: 4ae7dc97f726ea95c58ac58af71cc034ad22d7de
Gitweb:
https://git.kernel.org/tip/4ae7dc97f726ea95c58ac58af71cc034ad22d7de
Author:Frederic Weisbecker
AuthorDate:Mon, 01 Feb 2021 00:05:48 +01:00
On Fri, Feb 12, 2021 at 08:30:27AM -0700, Jens Axboe wrote:
> On 2/12/21 8:18 AM, Frederic Weisbecker wrote:
> > On Thu, Feb 11, 2021 at 04:48:52PM +1100, Stephen Rothwell wrote:
> >> Hi all,
> >>
> >> Today's linux-next merge of the rcu tree got conflicts in:
On Thu, Feb 11, 2021 at 09:38:02AM -0800, Paul E. McKenney wrote:
> On Thu, Feb 11, 2021 at 04:48:52PM +1100, Stephen Rothwell wrote:
> > Hi all,
> >
> > Today's linux-next merge of the rcu tree got conflicts in:
> >
> > include/linux/rcupdate.h
> > kernel/rcu/tree.c
> >
On Thu, Feb 11, 2021 at 04:48:52PM +1100, Stephen Rothwell wrote:
> Hi all,
>
> Today's linux-next merge of the rcu tree got conflicts in:
>
> include/linux/rcupdate.h
> kernel/rcu/tree.c
> kernel/rcu/tree_plugin.h
>
> between commits:
>
> 3a7b5c87a0b2 ("rcu/nocb: Perform deferred wake
On Thu, Jan 28, 2021 at 05:21:34PM -0300, Marcelo Tosatti wrote:
> When enabling per-CPU posix timers, an IPI to nohz_full CPUs might be
> performed (to re-read the dependencies and possibly not re-enter
> nohz_full on a given CPU).
>
> A common case is for applications that run on nohz_full=
On Fri, Feb 12, 2021 at 11:00:41AM -0300, Marcelo Tosatti wrote:
> On Fri, Feb 12, 2021 at 01:25:21PM +0100, Frederic Weisbecker wrote:
> > On Thu, Jan 28, 2021 at 05:21:36PM -0300, Marcelo Tosatti wrote:
> > > Rather than waking up all nohz_full CPUs on the system, only wakeup
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 106cc0d9e79aa7fcb43bd8feab97ee6e114d348b
Gitweb:
https://git.kernel.org/tip/106cc0d9e79aa7fcb43bd8feab97ee6e114d348b
Author:Frederic Weisbecker
AuthorDate:Thu, 19 Nov 2020 01:30:24 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 65e560327fe68153a9ad7452d5fd3171a1927d33
Gitweb:
https://git.kernel.org/tip/65e560327fe68153a9ad7452d5fd3171a1927d33
Author:Frederic Weisbecker
AuthorDate:Fri, 13 Nov 2020 13:13:16 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 8d346d438f93b5344e99d429727ec9c2f392d4ec
Gitweb:
https://git.kernel.org/tip/8d346d438f93b5344e99d429727ec9c2f392d4ec
Author:Frederic Weisbecker
AuthorDate:Fri, 13 Nov 2020 13:13:17 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 126d9d49528dae792859e5f11f3b447ce8a9a9b4
Gitweb:
https://git.kernel.org/tip/126d9d49528dae792859e5f11f3b447ce8a9a9b4
Author:Frederic Weisbecker
AuthorDate:Fri, 13 Nov 2020 13:13:18 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: d97b078182406c0bd0aacd36fc0a693e118e608f
Gitweb:
https://git.kernel.org/tip/d97b078182406c0bd0aacd36fc0a693e118e608f
Author:Frederic Weisbecker
AuthorDate:Fri, 13 Nov 2020 13:13:19 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: ef005345e6e49859e225f549c88c985e79477bb9
Gitweb:
https://git.kernel.org/tip/ef005345e6e49859e225f549c88c985e79477bb9
Author:Frederic Weisbecker
AuthorDate:Fri, 13 Nov 2020 13:13:20 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 5bb39dc956f3d4f1bb75b5962b503426c45340ae
Gitweb:
https://git.kernel.org/tip/5bb39dc956f3d4f1bb75b5962b503426c45340ae
Author:Frederic Weisbecker
AuthorDate:Fri, 13 Nov 2020 13:13:21 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 254e11efde66ca0a0ce0c99a62c377314b5984ff
Gitweb:
https://git.kernel.org/tip/254e11efde66ca0a0ce0c99a62c377314b5984ff
Author:Frederic Weisbecker
AuthorDate:Fri, 13 Nov 2020 13:13:22 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 69cdea873cde261586a2cae2440178df1a313bbe
Gitweb:
https://git.kernel.org/tip/69cdea873cde261586a2cae2440178df1a313bbe
Author:Frederic Weisbecker
AuthorDate:Fri, 13 Nov 2020 13:13:23 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 314202f84ddd61e4d7576ef62570ad2e2d9db06b
Gitweb:
https://git.kernel.org/tip/314202f84ddd61e4d7576ef62570ad2e2d9db06b
Author:Frederic Weisbecker
AuthorDate:Fri, 13 Nov 2020 13:13:24 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: e3abe959fbd57aa751bc533677a35c411cee9b16
Gitweb:
https://git.kernel.org/tip/e3abe959fbd57aa751bc533677a35c411cee9b16
Author:Frederic Weisbecker
AuthorDate:Fri, 13 Nov 2020 13:13:26 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: b9ced9e1ab51ed6057ac8198fd1eeb404a32a867
Gitweb:
https://git.kernel.org/tip/b9ced9e1ab51ed6057ac8198fd1eeb404a32a867
Author:Frederic Weisbecker
AuthorDate:Fri, 13 Nov 2020 13:13:25 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 32aa2f4170d22f0b9fcb75ab05679ab122fae373
Gitweb:
https://git.kernel.org/tip/32aa2f4170d22f0b9fcb75ab05679ab122fae373
Author:Frederic Weisbecker
AuthorDate:Fri, 13 Nov 2020 13:13:27 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 634954c2dbf88e67aa267798f60af6b9a476cf4b
Gitweb:
https://git.kernel.org/tip/634954c2dbf88e67aa267798f60af6b9a476cf4b
Author:Frederic Weisbecker
AuthorDate:Fri, 13 Nov 2020 13:13:28 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 43759fe5a137389e94ed6d4680c3c63c17273158
Gitweb:
https://git.kernel.org/tip/43759fe5a137389e94ed6d4680c3c63c17273158
Author:Frederic Weisbecker
AuthorDate:Wed, 11 Nov 2020 23:53:13 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: dcd42591ebb8a25895b551a5297ea9c24414ba54
Gitweb:
https://git.kernel.org/tip/dcd42591ebb8a25895b551a5297ea9c24414ba54
Author:Frederic Weisbecker
AuthorDate:Fri, 13 Nov 2020 13:13:33 +01:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 70e8088b97211177225acf499247b3741cc8a229
Gitweb:
https://git.kernel.org/tip/70e8088b97211177225acf499247b3741cc8a229
Author:Frederic Weisbecker
AuthorDate:Fri, 13 Nov 2020 13:13:29 +01:00
On Thu, Jan 28, 2021 at 05:21:36PM -0300, Marcelo Tosatti wrote:
> Rather than waking up all nohz_full CPUs on the system, only wakeup
> the target CPUs of member threads of the signal.
>
> Reduces interruptions to nohz_full CPUs.
>
> Signed-off-by: Marcelo Tosatti
>
> Index:
> Tested-by: Mike Galbraith
> Link:
> https://lkml.kernel.org/r/yck1+jyfnxqnw...@hirez.programming.kicks-ass.net
Also should we add something like this?
>From 4e1de6d9d8804ea7edc6f8767abea37f5103799a Mon Sep 17 00:00:00 2001
From: Frederic Weisbecker
Date: Wed, 10 Feb 2021 15:11:
The following commit has been merged into the sched/core branch of tip:
Commit-ID: 2c910e0753dc424dfdeb1f8e230ad8f187a744a7
Gitweb:
https://git.kernel.org/tip/2c910e0753dc424dfdeb1f8e230ad8f187a744a7
Author:Frederic Weisbecker
AuthorDate:Mon, 01 Feb 2021 00:05:47 +01:00
The following commit has been merged into the sched/core branch of tip:
Commit-ID: 14bbd41d5109a8049f3f1b77e994e0213f94f4c0
Gitweb:
https://git.kernel.org/tip/14bbd41d5109a8049f3f1b77e994e0213f94f4c0
Author:Frederic Weisbecker
AuthorDate:Mon, 01 Feb 2021 00:05:48 +01:00
The following commit has been merged into the sched/core branch of tip:
Commit-ID: e4234f21d2ea7674bcc1aeaca9d382b50ca1efec
Gitweb:
https://git.kernel.org/tip/e4234f21d2ea7674bcc1aeaca9d382b50ca1efec
Author:Frederic Weisbecker
AuthorDate:Mon, 01 Feb 2021 00:05:44 +01:00
The following commit has been merged into the sched/core branch of tip:
Commit-ID: 0940cbceefbaa40d85efeb968ce9f2707a145e58
Gitweb:
https://git.kernel.org/tip/0940cbceefbaa40d85efeb968ce9f2707a145e58
Author:Frederic Weisbecker
AuthorDate:Mon, 01 Feb 2021 00:05:46 +01:00
The following commit has been merged into the sched/core branch of tip:
Commit-ID: 3a7b5c87a0b29c8554a9bdbbbd75eeb4176fb5d4
Gitweb:
https://git.kernel.org/tip/3a7b5c87a0b29c8554a9bdbbbd75eeb4176fb5d4
Author:Frederic Weisbecker
AuthorDate:Mon, 01 Feb 2021 00:05:45 +01:00
On Mon, Feb 08, 2021 at 03:45:50PM +0100, Peter Zijlstra wrote:
> On Mon, Feb 01, 2021 at 12:05:45AM +0100, Frederic Weisbecker wrote:
>
> > diff --git a/kernel/sched/idle.c b/kernel/sched/idle.c
> > index 305727ea0677..b601a3aa2152 100644
> > --- a/kernel/sched/idle.
The following commit has been merged into the sched/core branch of tip:
Commit-ID: 50ace20f2cfecd90c88edaf58400b362f42f2960
Gitweb:
https://git.kernel.org/tip/50ace20f2cfecd90c88edaf58400b362f42f2960
Author:Frederic Weisbecker
AuthorDate:Mon, 18 Jan 2021 15:12:17 +01:00
On Wed, Feb 03, 2021 at 09:04:05PM +0800, chenshiyan wrote:
> Are you working on an architecture that doesn't implement it?
> -No, we test it on x86.
>
> The problem is , when it's doing softirq, but there’s no tick, so we don’t
> know how long
> It takes. The TOP or some other procs can not
On Wed, Jan 20, 2021 at 11:49:38PM +, Zhou Ti (x2019cwm) wrote:
> Fix the issue that the tick_nohz_get_sleep_length() function could return a
> negative value.
>
> The variable "dev->next_event" has a small possibility to be smaller than
> the variable "now" during running, which would
Hi,
I'm a bit confused with the changelog, let's try to clarify:
On Mon, Feb 01, 2021 at 11:45:43AM +0800, chenshiyan wrote:
> When the cpu is continuously idle, tick_irq_exit() will count next tick
> expiry
What do you mean by counting next tick expiry here? Is is when
-by: Frederic Weisbecker
Cc: Peter Zijlstra
Cc: Thomas Gleixner
Cc: Ingo Molnar
Cc: Paul E. McKenney
Cc: Rafael J. Wysocki
Cc: Paolo Bonzini
---
arch/x86/kvm/x86.c| 1 +
include/linux/entry-kvm.h | 14 +
kernel/rcu/tree.c | 44
Following the idle loop model, cleanly check for pending rcuog wakeup
before the last rescheduling point on resuming to user mode. This
way we can avoid to do it from rcu_user_enter() with the last resort
self-IPI hack that enforces rescheduling.
Signed-off-by: Frederic Weisbecker
Cc: Peter
-by: Frederic Weisbecker
---
kernel/rcu/tree.c| 21 -
kernel/rcu/tree.h| 2 +-
kernel/rcu/tree_plugin.h | 25 -
3 files changed, 37 insertions(+), 11 deletions(-)
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 82838e93b498
Deferred wakeup of rcuog kthreads upon RCU idle mode entry is going to
be handled differently whether initiated by idle, user or guest. Prepare
with pulling that control up to rcu_eqs_enter() callers.
Signed-off-by: Frederic Weisbecker
Cc: Paul E. McKenney
Cc: Rafael J. Wysocki
Cc: Peter
---
Frederic Weisbecker (5):
rcu: Pull deferred rcuog wake up to rcu_eqs_enter() callers
rcu/nocb: Perform deferred wake up before last idle's need_resched() check
rcu/nocb: Trigger self-IPI on late deferred wake up before user resume
entry: Explicitly flush pending rcuog
: Rafael J. Wysocki
Cc: Peter Zijlstra
Cc: Thomas Gleixner
Cc: Ingo Molnar
Signed-off-by: Frederic Weisbecker
---
include/linux/rcupdate.h | 2 ++
kernel/rcu/tree.c| 3 ---
kernel/rcu/tree_plugin.h | 5 +
kernel/sched/idle.c | 3 +++
4 files changed, 10 insertions(+), 3 deletions
On Thu, Jan 28, 2021 at 01:31:33PM -0800, Paul E. McKenney wrote:
> On Thu, Jan 28, 2021 at 06:12:11PM +0100, Frederic Weisbecker wrote:
> > ---
> > include/linux/rcu_segcblist.h | 7 ---
> > kernel/rcu/tree_plugin.h | 31 +++
>
On Thu, Jan 28, 2021 at 11:12:28AM -0800, Paul E. McKenney wrote:
> On Thu, Jan 28, 2021 at 06:12:10PM +0100, Frederic Weisbecker wrote:
> > Simply checking if the segcblist is enabled is enough to know if we
> > need to initialize it or not. It's safe to check within hotp
On Thu, Jan 28, 2021 at 10:48:34AM -0800, Paul E. McKenney wrote:
> On Thu, Jan 28, 2021 at 06:12:07PM +0100, Frederic Weisbecker wrote:
> > The "nocb_bypass_timer" ends up calling wake_nocb_gp() which deletes
> > the pending "nocb_timer" (note they are not the
padhyay
Cc: Boqun Feng
Signed-off-by: Frederic Weisbecker
---
kernel/rcu/tree_plugin.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
index 7e33dae0e6ee..a44f80d7661b 100644
--- a/kernel/rcu/tree_plugin.h
+++ b/kernel/rcu/tree_plugin.h
@@ -1
: 75991420c246c26f598602da1a70947b5bdf77b6
Thanks,
Frederic
---
Frederic Weisbecker (16):
rcu/nocb: Fix potential missed nocb_timer rearm
rcu/nocb: Comment the reason behind BH disablement on batch processing
rcu/nocb: Forbid NOCB toggling on offline CPUs
rcu/nocb: Only (re
oop.
Reported-by: Paul E. McKenney
Cc: Josh Triplett
Cc: Lai Jiangshan
Cc: Joel Fernandes
Cc: Neeraj Upadhyay
Cc: Boqun Feng
Signed-off-by: Frederic Weisbecker
---
kernel/rcu/tree_plugin.h | 7 ---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/kernel/rcu/tree_plugin.
, only enable bypass once we safely complete the offloading
process.
Reported-by: Paul E. McKenney
Cc: Josh Triplett
Cc: Lai Jiangshan
Cc: Joel Fernandes
Cc: Neeraj Upadhyay
Cc: Boqun Feng
Signed-off-by: Frederic Weisbecker
---
include/linux/rcu_segcblist.h | 7 ---
kernel/rcu/tree_plugin.h
Those tracing calls don't need to be under the nocb lock. Move them
outside.
Signed-off-by: Frederic Weisbecker
Cc: Josh Triplett
Cc: Lai Jiangshan
Cc: Joel Fernandes
Cc: Neeraj Upadhyay
Cc: Boqun Feng
---
kernel/rcu/tree_plugin.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions
can be for any rdp from the group and not
necessarily the rdp leader on which the bypass timer is attached.
Therefore we can simply call directly __wake_nocb_gp(). This way we
don't even need to lock the nocb_lock.
Signed-off-by: Frederic Weisbecker
Cc: Josh Triplett
Cc: Lai Jiangshan
Cc: J
Upadhyay
Cc: Boqun Feng
Signed-off-by: Frederic Weisbecker
---
kernel/rcu/tree_plugin.h | 9 +
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
index 53ff99a18ab1..86c3bcceede6 100644
--- a/kernel/rcu/tree_plugin.h
+++ b
ter though because we only need
the guarantee to see the timer armed if we were the last one to arm it.
Any other situation (another rdp has armed it and we either see it or not)
is fine.
This solves all the issues listed above.
Signed-off-by: Frederic Weisbecker
Cc: Josh Triplett
Cc: Lai Jiangshan
-by: Frederic Weisbecker
Cc: Josh Triplett
Cc: Lai Jiangshan
Cc: Joel Fernandes
Cc: Neeraj Upadhyay
Cc: Boqun Feng
---
kernel/rcu/tree.c| 2 +-
kernel/rcu/tree.h| 2 +-
kernel/rcu/tree_plugin.h | 15 ---
3 files changed, 10 insertions(+), 9 deletions(-)
diff --git a/kernel
shouldn't bring visible overhead since the
timers almost never fire.
Signed-off-by: Frederic Weisbecker
Cc: Josh Triplett
Cc: Lai Jiangshan
Cc: Joel Fernandes
Cc: Neeraj Upadhyay
Cc: Boqun Feng
---
include/trace/events/rcu.h | 1 +
kernel/rcu/tree.h | 6 +--
kernel/rcu/tree_plugin.h
As we wake up in nocb_gp_wait(), there is no need to keep the nocb_timer
around as we are going to go through the whole rdp list again. Any update
performed before the timer was armed will now be visible after the
nocb_gp_lock acquire.
Signed-off-by: Frederic Weisbecker
Cc: Josh Triplett
Cc
: Neeraj Upadhyay
Cc: Boqun Feng
Signed-off-by: Frederic Weisbecker
---
kernel/rcu/tree_plugin.h | 4
1 file changed, 4 deletions(-)
diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
index 28ace1ae83d6..dae892ac570a 100644
--- a/kernel/rcu/tree_plugin.h
+++ b/kernel/rcu
A NOCB-gp wake up can safely delete the nocb_bypass_timer. nocb_gp_wait()
is going to check again the bypass state and rearm the bypass timer if
necessary.
Signed-off-by: Frederic Weisbecker
Cc: Josh Triplett
Cc: Lai Jiangshan
Cc: Joel Fernandes
Cc: Neeraj Upadhyay
Cc: Boqun Feng
No need to disarm the nocb_timer if rcu_nocb is polling because it
shouldn't be armed either.
Signed-off-by: Frederic Weisbecker
Cc: Josh Triplett
Cc: Lai Jiangshan
Cc: Joel Fernandes
Cc: Neeraj Upadhyay
Cc: Boqun Feng
---
kernel/rcu/tree_plugin.h | 10 +-
1 file changed, 5
: Boqun Feng
Signed-off-by: Frederic Weisbecker
---
kernel/rcu/tree.c| 3 +--
kernel/rcu/tree_plugin.h | 57 +++-
2 files changed, 22 insertions(+), 38 deletions(-)
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index e7a226abff0d..4c5a1ac54fa6 100644
-off-by: Frederic Weisbecker
---
kernel/rcu/tree_plugin.h | 6 ++
1 file changed, 6 insertions(+)
diff --git a/kernel/rcu/tree_plugin.h b/kernel/rcu/tree_plugin.h
index a44f80d7661b..dcfae03eb9e9 100644
--- a/kernel/rcu/tree_plugin.h
+++ b/kernel/rcu/tree_plugin.h
@@ -2235,6 +2235,12 @@ static
Simply checking if the segcblist is enabled is enough to know if we
need to initialize it or not. It's safe to check within hotplug
machine.
Signed-off-by: Frederic Weisbecker
Cc: Josh Triplett
Cc: Lai Jiangshan
Cc: Joel Fernandes
Cc: Neeraj Upadhyay
Cc: Boqun Feng
---
kernel/rcu/tree.c
On Fri, Jan 22, 2021 at 05:53:43PM +0100, Peter Zijlstra wrote:
> On Mon, Jan 18, 2021 at 03:12:19PM +0100, Frederic Weisbecker wrote:
> > +config HAVE_PREEMPT_DYNAMIC
> > + bool
> > + depends on HAVE_STATIC_CALL_INLINE
>
> I think we can relax this to HAVE_STA
n't passed.
Signed-off-by: Peter Zijlstra (Intel)
Cc: Thomas Gleixner
Cc: Mel Gorman
Cc: Ingo Molnar
Cc: Michal Hocko
Cc: Paul E. McKenney
Signed-off-by: Frederic Weisbecker
---
include/linux/entry-common.h | 4
kernel/entry/common.c| 10 +-
2 files changed, 13 insert
From: "Peter Zijlstra (Intel)"
Support the preempt= boot option and patch the static call sites
accordingly.
Signed-off-by: Peter Zijlstra (Intel)
Cc: Thomas Gleixner
Cc: Mel Gorman
Cc: Ingo Molnar
Cc: Michal Hocko
Cc: Paul E. McKenney
Signed-off-by: Frederic Weisbecker
---
ke
heir calls are
ignored when preempt= isn't passed.
Signed-off-by: Peter Zijlstra (Intel)
Cc: Thomas Gleixner
Cc: Mel Gorman
Cc: Ingo Molnar
Cc: Michal Hocko
Cc: Paul E. McKenney
[branch might_resched() directly to __cond_resched(), only define static
calls when PREEMPT_DYNAMIC]
Signed-off-by
h provided wrapper, if any.
Signed-off-by: Peter Zijlstra (Intel)
Cc: Thomas Gleixner
Cc: Mel Gorman
Cc: Ingo Molnar
Cc: Michal Hocko
Cc: Paul E. McKenney
[only define static calls when PREEMPT_DYNAMIC, make it less dependent
on x86 with __preempt_schedule_func()]
Signed-off-by: Frederic Weisbecker
Molnar
Cc: Michal Hocko
Cc: Paul E. McKenney
Signed-off-by: Frederic Weisbecker
---
arch/x86/kernel/static_call.c | 17 +++--
include/linux/static_call.h | 2 ++
kernel/static_call.c | 5 +
3 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/arch/x86
Molnar
Cc: Michal Hocko
Cc: Paul E. McKenney
Signed-off-by: Frederic Weisbecker
---
include/linux/static_call.h | 23 ---
include/linux/static_call_types.h | 29 +
2 files changed, 29 insertions(+), 23 deletions(-)
diff --git a/include/linux
() /
__preempt_schedule_notrace_function()).
Suggested-by: Peter Zijlstra
Signed-off-by: Michal Hocko
Cc: Peter Zijlstra (Intel)
Cc: Thomas Gleixner
Cc: Mel Gorman
Cc: Ingo Molnar
Cc: Paul E. McKenney
Signed-off-by: Frederic Weisbecker
---
.../admin-guide/kernel-parameters.txt | 7 +++
arch/Kconfig
returning a actual value
don't have an equivalent yet.
Provide DEFINE_STATIC_CALL_RET0() to solve this situation.
Signed-off-by: Frederic Weisbecker
Cc: Thomas Gleixner
Cc: Mel Gorman
Cc: Ingo Molnar
Cc: Michal Hocko
Cc: Paul E. McKenney
Cc: Peter Zijlstra (Intel)
---
include/linux/static_call.h
static_call declarations to the type headers
Frederic Weisbecker (1):
static_call: Provide DEFINE_STATIC_CALL_RET0()
Michal Hocko (1):
preempt: Introduce CONFIG_PREEMPT_DYNAMIC
Documentation/admin-guide/kernel-parameters.txt | 7 ++
arch/Kconfig| 9
On Tue, Nov 10, 2020 at 11:48:33AM +0100, Peter Zijlstra wrote:
> On Tue, Nov 10, 2020 at 11:39:09AM +0100, Peter Zijlstra wrote:
> > Subject: static_call: EXPORT_STATIC_CALL_TRAMP()
> > From: Peter Zijlstra
> > Date: Tue Nov 10 11:37:48 CET 2020
> >
> > For when we want to allow modules to call
On Mon, Jan 11, 2021 at 01:25:59PM +0100, Peter Zijlstra wrote:
> On Sat, Jan 09, 2021 at 03:05:34AM +0100, Frederic Weisbecker wrote:
> > The idle loop has several need_resched() checks that make sure we don't
> > miss a rescheduling request. This means that any wake up performed o
On Mon, Jan 11, 2021 at 01:08:08PM +0100, Peter Zijlstra wrote:
> On Sat, Jan 09, 2021 at 03:05:33AM +0100, Frederic Weisbecker wrote:
> > Following the idle loop model, cleanly check for pending rcuog wakeup
> > before the last rescheduling point on resuming to user mode. This
On Mon, Jan 11, 2021 at 01:04:24PM +0100, Peter Zijlstra wrote:
> > +static DEFINE_PER_CPU(struct irq_work, late_wakeup_work) =
> > + IRQ_WORK_INIT(late_wakeup_func);
> > +
> > /**
> > * rcu_user_enter - inform RCU that we are resuming userspace.
> > *
> > @@ -692,9 +704,17 @@ noinstr void
On Sun, Jan 10, 2021 at 09:13:18PM -0800, Paul E. McKenney wrote:
> On Mon, Jan 11, 2021 at 01:40:14AM +0100, Frederic Weisbecker wrote:
> > On Sat, Jan 09, 2021 at 03:05:33AM +0100, Frederic Weisbecker wrote:
> > > Following the idle loop model, cleanly check for pending rcuog w
On Sat, Jan 09, 2021 at 03:05:33AM +0100, Frederic Weisbecker wrote:
> Following the idle loop model, cleanly check for pending rcuog wakeup
> before the last rescheduling point on resuming to user mode. This
> way we can avoid to do it from rcu_user_enter() with the last resort
> s
On Sat, Jan 09, 2021 at 10:03:33AM +0100, Greg KH wrote:
> On Sat, Jan 09, 2021 at 03:05:29AM +0100, Frederic Weisbecker wrote:
> > Signed-off-by: Frederic Weisbecker
> > Cc: Paul E. McKenney
> > Cc: Rafael J. Wysocki
> > Cc: Peter Zijlstra
> > Cc: Tho
Following the idle loop model, cleanly check for pending rcuog wakeup
before the last rescheduling point on resuming to user mode. This
way we can avoid to do it from rcu_user_enter() with the last resort
self-IPI hack that enforces rescheduling.
Signed-off-by: Frederic Weisbecker
Cc: Peter
The last rescheduling opportunity while resuming to user is in
exit_to_user_mode_loop(). This means that any wake up performed on
the local runqueue after this point is going to have its rescheduling
silently ignored.
Perform sanity checks to report these situations.
Signed-off-by: Frederic
Enqueuing a local timer after the tick has been stopped will result in
the timer being ignored until the next random interrupt.
Perform sanity checks to report these situations.
Signed-off-by: Frederic Weisbecker
Cc: Peter Zijlstra
Cc: Thomas Gleixner
Cc: Ingo Molnar
Cc: Paul E. McKenney
Cc
kthreads awaken from rcu_idle_enter() for example.
Perform sanity checks to report these situations.
Signed-off-by: Frederic Weisbecker
Cc: Peter Zijlstra
Cc: Thomas Gleixner
Cc: Ingo Molnar
Cc: Paul E. McKenney
Cc: Rafael J. Wysocki
---
include/linux/sched.h | 11 +++
kernel/sched
explicit
need_resched() check upon resume.
Reported-by: Paul E. McKenney
Fixes: 96d3fd0d315a (rcu: Break call_rcu() deadlock involving scheduler and
perf)
Cc: sta...@vger.kernel.org
Cc: Rafael J. Wysocki
Cc: Peter Zijlstra
Cc: Thomas Gleixner
Cc: Ingo Molnar
Signed-off-by: Frederic Weisbecker
Signed-off-by: Frederic Weisbecker
Cc: Paul E. McKenney
Cc: Rafael J. Wysocki
Cc: Peter Zijlstra
Cc: Thomas Gleixner
Cc: Ingo Molnar
---
kernel/rcu/tree.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 40e5e3dd253e..fef90c467670 100644
scheduler and
perf)
Cc: sta...@vger.kernel.org
Cc: Rafael J. Wysocki
Cc: Peter Zijlstra
Cc: Thomas Gleixner
Cc: Ingo Molnar
Signed-off-by: Frederic Weisbecker
---
include/linux/rcupdate.h | 2 ++
kernel/rcu/tree.c| 3 ---
kernel/rcu/tree_plugin.h | 5 +
kernel/sched/idle.c | 3
Deferred wakeup of rcuog kthreads upon RCU idle mode entry is going to
be handled differently whether initiated by idle, user or guest. Prepare
with pulling that control up to rcu_eqs_enter() callers.
Signed-off-by: Frederic Weisbecker
Cc: Paul E. McKenney
Cc: Rafael J. Wysocki
Cc: Peter
.
Only lightly tested so far.
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
sched/idle-v3
HEAD: d95fc510e804a5c4658a823ff12d9caba1d906c7
Thanks,
Frederic
---
Frederic Weisbecker (8):
rcu: Remove superfluous rdp fetch
rcu: Pull deferred rcuog
On Tue, Jan 05, 2021 at 03:25:10PM -0800, Paul E. McKenney wrote:
> On Tue, Jan 05, 2021 at 10:55:03AM +0100, Peter Zijlstra wrote:
> > On Mon, Jan 04, 2021 at 04:20:55PM +0100, Frederic Weisbecker wrote:
> > > Entering RCU idle mode may cause a deferred wake up of an RCU NOC
On Tue, Jan 05, 2021 at 10:55:03AM +0100, Peter Zijlstra wrote:
> On Mon, Jan 04, 2021 at 04:20:55PM +0100, Frederic Weisbecker wrote:
> > Entering RCU idle mode may cause a deferred wake up of an RCU NOCB_GP
> > kthread (rcuog) to be serviced.
> >
> > Usually a wake
: Ingo Molnar
Signed-off-by: Frederic Weisbecker
---
arch/arm/mach-imx/cpuidle-imx6q.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-imx/cpuidle-imx6q.c
b/arch/arm/mach-imx/cpuidle-imx6q.c
index 094337dc1bc7..1115f4dc6d1d 100644
--- a/arch/arm/mach-imx
: processor: Take over RCU-idle for C3-BM idle)
Cc: sta...@vger.kernel.org
Cc: Len Brown
Cc: Peter Zijlstra
Cc: Thomas Gleixner
Cc: Ingo Molnar
Signed-off-by: Frederic Weisbecker
---
drivers/acpi/processor_idle.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/acpi
-by: Paul E. McKenney
Reviewed-by: Rafael J. Wysocki
Fixes: 96d3fd0d315a (rcu: Break call_rcu() deadlock involving scheduler and
perf)
Cc: sta...@vger.kernel.org
Cc: Peter Zijlstra
Cc: Thomas Gleixner
Cc: Ingo Molnar
Signed-off-by: Frederic Weisbecker
---
kernel/sched/idle.c | 18
Cc: Ingo Molnar
Signed-off-by: Frederic Weisbecker
---
drivers/cpuidle/cpuidle.c | 33 +
1 file changed, 25 insertions(+), 8 deletions(-)
diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c
index ef2ea1b12cd8..4cc1ba49ce05 100644
--- a/drivers
: c246718af0112c8624ec9c46a85bf0ef1562e050
Thanks,
Frederic
---
Frederic Weisbecker (4):
sched/idle: Fix missing need_resched() check after rcu_idle_enter()
cpuidle: Fix missing need_resched() check after rcu_idle_enter()
ARM: imx6q: Fix missing need_resched() check after
On Mon, Jan 04, 2021 at 11:37:36AM +1100, Stephen Rothwell wrote:
> Hi all,
>
> After merging the rcu tree, today's linux-next build (arm
> multi_v7_defconfig) failed like this:
>
> arch/arm/mach-imx/cpuidle-imx6q.c: In function 'imx6q_enter_wait':
> arch/arm/mach-imx/cpuidle-imx6q.c:32:7:
On Tue, Dec 29, 2020 at 02:12:31PM +, Qais Yousef wrote:
> On 12/29/20 14:41, Frederic Weisbecker wrote:
> > > > -void vtime_account_irq(struct task_struct *tsk)
> > > > +void vtime_account_irq(struct task_struct *tsk, unsigned int offset)
> > > &g
On Wed, Dec 16, 2020 at 08:59:30AM -0800, Paul E. McKenney wrote:
> On Fri, Nov 13, 2020 at 01:13:15PM +0100, Frederic Weisbecker wrote:
> >
> > Frederic Weisbecker (19):
> > rcu/nocb: Turn enabled/offload states into a common flag
> > rcu/nocb: Provide basi
On Mon, Dec 28, 2020 at 02:15:29AM +, Qais Yousef wrote:
> Hi Frederic
>
> On 12/02/20 12:57, Frederic Weisbecker wrote:
> > @@ -66,9 +68,9 @@ void irqtime_account_irq(struct task_struct *curr)
> > * in that case, so as not to confuse scheduler with a special ta
101 - 200 of 8299 matches
Mail list logo