Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/rcu_segcblist.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/kernel/rcu/rcu_segcblist.c b/kernel/rcu/rcu_segcblist.c
index 72b284f965aa..13f8f181521d 100644
--- a/kernel/rcu/rcu_segcblist.c
+++ b/kernel/rcu/rcu_segcblist.c
@@ -10,7
cause
rcu_barrier() may skip queuing a callback and return too early. Fix it by
storing
state to indicate that callbacks are being invoked and the callback list should
not appear as non-empty. This is a terrible hack, however it still does not fix
TREE04.
Signed-off-by: Joel Fernandes (Google)
---
in
of counting down from 0 is confusing and error-prone IMHO.
This commit therefore explicitly counts have many callbacks were executed in
rcu_do_batch() itself, and uses that to update the per-CPU segcb list's ->len
field, without relying on the negativity of rcl->len.
Signed-off-by: Joe
n the respective segment.
Signed-off-by: Joel Fernandes (Google)
---
include/trace/events/rcu.h | 25 +
kernel/rcu/rcu_segcblist.c | 34 ++
kernel/rcu/rcu_segcblist.h | 5 +
kernel/rcu/tree.c | 9 +
4 files changed, 73 inser
related to using donecbs's ->len field as a
temporary variable to save the segmented callback list's length. This is not
needed any more.
Signed-off-by: Joel Fernandes (Google)
---
include/linux/rcu_segcblist.h | 2 +
kernel/rcu/rcu_segcbli
0.2382053-1-j...@joelfernandes.org/)
Joel Fernandes (Google) (4):
rcu/tree: Make rcu_do_batch count how many callbacks were executed
rcu/segcblist: Add counters to segcblist datastructure
rcu/trace: Add tracing for how segcb list changes
rcu/segcblist: Remove useless rcupdate.h include
in
n the respective segment.
Signed-off-by: Joel Fernandes (Google)
---
include/trace/events/rcu.h | 25 +
kernel/rcu/rcu_segcblist.c | 34 ++
kernel/rcu/rcu_segcblist.h | 5 +
kernel/rcu/tree.c | 9 +
4 files changed, 73 inser
related to using donecbs's ->len field as a
temporary variable to save the segmented callback list's length. This cannot be
done anymore and is not needed.
Signed-off-by: Joel Fernandes (Google)
---
include/linux/rcu_segcblist.h | 2 +
kernel/rcu/rcu_segcbli
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/rcu_segcblist.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/kernel/rcu/rcu_segcblist.c b/kernel/rcu/rcu_segcblist.c
index df0f31e30947..b65ac8c85b56 100644
--- a/kernel/rcu/rcu_segcblist.c
+++ b/kernel/rcu/rcu_segcblist.c
@@ -10,7
of counting down from 0 is confusing and error-prone IMHO.
This commit therefore explicitly counts have many callbacks were executed in
rcu_do_batch() itself, and uses that to update the per-CPU segcb list's ->len
field, without relying on the negativity of rcl->len.
Signed-off-by: Joe
spending a lot of time
backtracking to the start of the latency in "perf sched script" which wastes a
lot of time.
This patch therefore adds a new column "Max delay start". Considering this,
also rename "Maximum delay at" to "Max delay end" as its easier to un
ggested-by: Paul E. McKenney
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/tree.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 65e1b5e92319..a49fa3b60faa 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@
This series improves/adds to RCU's warnings about CPU hotplug and adds
documentation and testing.
v3->v4: Minor cleanups.
Joel Fernandes (Google) (5):
rcu/tree: Add a warning if CPU being onlined did not report QS already
rcu/tree: Clarify comments about FQS loop reporting quiescent st
rrier is rather incomplete.
This commit therefore continues the section by describing how RCU's
design handles CPU hotplug in a deadlock-free way.
Signed-off-by: Joel Fernandes (Google)
---
.../RCU/Design/Requirements/Requirements.rst | 22 +++
1 file changed, 22 inserti
At least since v4.19, the FQS loop no longer reports quiescent states
for offline CPUs unless it is an emergency.
This commit therefore fixes the comment in rcu_gp_init() to match the
current code.
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/tree.c | 8 +---
1 file changed, 5
ately when the FQS loop scan happens and bring the problem to
everyone's attention.
Light testing with TREE03 and hotplug shows no warnings. Converted the
warning as well to WARN_ON_ONCE() to reduce log spam.
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/tree.c | 22 ++-
flavor-specific synchronize callback. If anything locks up,
we expect stall warnings and/or other splats.
Obviously, we need not test for rcu_barrier from a notifier, since those
are not allowed from notifiers. This fact is already detailed in the
documentation as well.
Signed-off-by: Joel Fe
Memory barriers are needed when updating the full length of the
segcblist, however it is not fully clearly why one is needed before and
after. This patch therefore adds additional comments to the function
header to explain it.
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/rcu_segcblist.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/kernel/rcu/rcu_segcblist.c b/kernel/rcu/rcu_segcblist.c
index 2a03949d0b82..e9e72d72f7a6 100644
--- a/kernel/rcu/rcu_segcblist.c
+++ b/kernel/rcu/rcu_segcblist.c
@@ -10,7
deric Weisbecker
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/srcutree.c | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/kernel/rcu/srcutree.c b/kernel/rcu/srcutree.c
index 0f23d20d485a..79b7081143a7 100644
--- a/kernel/rcu/srcutree.c
+++ b/kernel/rcu/srcutree.c
@@ -1
This memory barrier is not needed as rcu_segcblist_add_len() already
includes a memory barrier *before* and *after* the length of the list is
updated.
Same reasoning for rcu_segcblist_enqueue().
Reviewed-by: Frederic Weisbecker
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu
/lore.kernel.org/lkml/20200719034210.2382053-1-joel@xxxxx/)
Joel Fernandes (Google) (7):
rcu/tree: Make rcu_do_batch count how many callbacks were executed
rcu/segcblist: Add counters to segcblist datastructure
srcu: Fix invoke_rcu_callbacks() segcb length adjustment
rcu/trace: Add traci
deric Weisbecker
Reviewed-by: Neeraj Upadhyay
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/rcu_segcblist.c | 2 +-
kernel/rcu/rcu_segcblist.h | 1 +
kernel/rcu/tree.c | 11 +--
3 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/kernel/rcu/rcu_segcblist
n the respective segment.
Reviewed-by: Frederic Weisbecker
Reviewed-by: Neeraj Upadhyay
Signed-off-by: Joel Fernandes (Google)
---
include/trace/events/rcu.h | 25 +
kernel/rcu/rcu_segcblist.c | 34 ++
kernel/rcu/rcu_segcblist.h | 5 +
kerne
related to using donecbs's ->len field as a
temporary variable to save the segmented callback list's length. This cannot be
done anymore and is not needed.
Reviewed-by: Frederic Weisbecker
Signed-off-by: Joel Fernandes (Google)
---
include/linux/rcu_segcblist.h | 1
Memory barriers are needed when updating the full length of the
segcblist, however it is not fully clearly why one is needed before and
after. This patch therefore adds additional comments to the function
header to explain it.
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu
This memory barrier is not needed as rcu_segcblist_add_len() already
includes a memory barrier *before* the length of the list is updated.
Same reasoning for rcu_segcblist_enqueue().
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/rcu_segcblist.c | 1 -
kernel/rcu/tree.c | 1
Signed-off-by: Joel Fernandes (Google)
---
kernel/rcu/rcu_segcblist.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/kernel/rcu/rcu_segcblist.c b/kernel/rcu/rcu_segcblist.c
index b0aaa51e0ee6..19ff82b805fb 100644
--- a/kernel/rcu/rcu_segcblist.c
+++ b/kernel/rcu/rcu_segcblist.c
@@ -10,7
Various changes, bug fixes. Discovery of rcu_barrier issue.
v4: Restructured rcu_do_batch() and segcblist merging to avoid issues.
Fixed minor nit from Davidlohr.
v1->v3: minor nits.
(https://lore.kernel.org/lkml/20200719034210.2382053-1-joel@xxxxx/)
Joel Fernandes (Google) (6
of counting down from 0 is confusing and error-prone IMHO.
This commit therefore explicitly counts how many callbacks were executed in
rcu_do_batch() itself, and uses that to update the per-CPU segcb list's ->len
field, without relying on the negativity of rcl->len.
Signed-off-by:
related to using donecbs's ->len field as a
temporary variable to save the segmented callback list's length. This cannot be
done anymore and is not needed.
Signed-off-by: Joel Fernandes (Google)
---
include/linux/rcu_segcblist.h | 1 +
kernel/rcu/rcu_segcbli
n the respective segment.
Signed-off-by: Joel Fernandes (Google)
---
include/trace/events/rcu.h | 25 +
kernel/rcu/rcu_segcblist.c | 31 +++
kernel/rcu/rcu_segcblist.h | 5 +
kernel/rcu/tree.c | 9 +
4 files changed, 70 inser
.
Signed-off-by: Joel Fernandes (Google)
---
include/linux/rcu_segcblist.h | 2 +
kernel/rcu/rcu_segcblist.c| 96 +++
2 files changed, 89 insertions(+), 9 deletions(-)
diff --git a/include/linux/rcu_segcblist.h b/include/linux/rcu_segcblist.h
index b36afe7b22c9
Fernandes (Google)
---
v1->v2: minor nits.
include/linux/rcu_segcblist.h | 2 +
kernel/rcu/rcu_segcblist.c| 90 ---
2 files changed, 86 insertions(+), 6 deletions(-)
diff --git a/include/linux/rcu_segcblist.h b/include/linux/rcu_segcblist.h
index b36afe7b2
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 8ac88f7177c75bf9b7b8c29a8054115e1c712baf
Gitweb:
https://git.kernel.org/tip/8ac88f7177c75bf9b7b8c29a8054115e1c712baf
Author:Joel Fernandes (Google)
AuthorDate:Mon, 25 May 2020 23:47:45 +02:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 446044eb9c9c335d3ae1be4665193ab43ebb284e
Gitweb:
https://git.kernel.org/tip/446044eb9c9c335d3ae1be4665193ab43ebb284e
Author:Joel Fernandes (Google)
AuthorDate:Mon, 25 May 2020 23:47:48 +02:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 7e866460cc18797b3a59360f5f8c444598a21729
Gitweb:
https://git.kernel.org/tip/7e866460cc18797b3a59360f5f8c444598a21729
Author:Joel Fernandes (Google)
AuthorDate:Mon, 25 May 2020 00:36:47 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 4d2919411867848fab78c7cb13139e17ad8b85bc
Gitweb:
https://git.kernel.org/tip/4d2919411867848fab78c7cb13139e17ad8b85bc
Author:Joel Fernandes (Google)
AuthorDate:Mon, 25 May 2020 23:47:46 +02:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 653ed64b01dc5989f8f579d0038e987476c2c023
Gitweb:
https://git.kernel.org/tip/653ed64b01dc5989f8f579d0038e987476c2c023
Author:Joel Fernandes (Google)
AuthorDate:Mon, 25 May 2020 00:36:48 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: f37599e6f06da47e49c3408afe66c5b6e83a90bd
Gitweb:
https://git.kernel.org/tip/f37599e6f06da47e49c3408afe66c5b6e83a90bd
Author:Joel Fernandes (Google)
AuthorDate:Fri, 07 Aug 2020 13:07:19 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 666ca2907e6b75960ce2f0fe50afc5d8a46f296d
Gitweb:
https://git.kernel.org/tip/666ca2907e6b75960ce2f0fe50afc5d8a46f296d
Author:Joel Fernandes (Google)
AuthorDate:Fri, 07 Aug 2020 13:07:20 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: a7886e899fd8334a03d37e66ad10295d175725ea
Gitweb:
https://git.kernel.org/tip/a7886e899fd8334a03d37e66ad10295d175725ea
Author:Joel Fernandes (Google)
AuthorDate:Thu, 18 Jun 2020 21:36:40 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: c30068f41a0e899f870e0158a2c69c68d738bf96
Gitweb:
https://git.kernel.org/tip/c30068f41a0e899f870e0158a2c69c68d738bf96
Author:Joel Fernandes (Google)
AuthorDate:Thu, 18 Jun 2020 21:36:39 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 959954df0ca7da2111c3fb67a81798d15b9d
Gitweb:
https://git.kernel.org/tip/959954df0ca7da2111c3fb67a81798d15b9d
Author:Joel Fernandes (Google)
AuthorDate:Thu, 18 Jun 2020 16:29:55 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 53922270d21de707a1a0ffaf1e07644e77fcb8db
Gitweb:
https://git.kernel.org/tip/53922270d21de707a1a0ffaf1e07644e77fcb8db
Author:Joel Fernandes (Google)
AuthorDate:Thu, 18 Jun 2020 16:29:49 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 3afe7fa535491ecd0382c3968dc2349602bff8a2
Gitweb:
https://git.kernel.org/tip/3afe7fa535491ecd0382c3968dc2349602bff8a2
Author:Joel Fernandes (Google)
AuthorDate:Sat, 14 Nov 2020 14:31:32 -05:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 68804cf1c905ce227e4e1d0bc252c216811c59fd
Gitweb:
https://git.kernel.org/tip/68804cf1c905ce227e4e1d0bc252c216811c59fd
Author:Joel Fernandes (Google)
AuthorDate:Wed, 14 Oct 2020 18:21:53 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: b4e6039e8af8c20dfbbdfcaebfcbd7c9d9ffe713
Gitweb:
https://git.kernel.org/tip/b4e6039e8af8c20dfbbdfcaebfcbd7c9d9ffe713
Author:Joel Fernandes (Google)
AuthorDate:Wed, 18 Nov 2020 11:15:41 -05:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: ae5c2341ed3987bd434ed495bd4f3d8b2bc3e623
Gitweb:
https://git.kernel.org/tip/ae5c2341ed3987bd434ed495bd4f3d8b2bc3e623
Author:Joel Fernandes (Google)
AuthorDate:Wed, 23 Sep 2020 11:22:09 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: c2e13112e830c06825339cbadf0b3bc2bdb9a716
Gitweb:
https://git.kernel.org/tip/c2e13112e830c06825339cbadf0b3bc2bdb9a716
Author:Joel Fernandes (Google)
AuthorDate:Tue, 03 Nov 2020 09:26:03 -05:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: a043260740d5d6ec5be59c3fb595c719890a0b0b
Gitweb:
https://git.kernel.org/tip/a043260740d5d6ec5be59c3fb595c719890a0b0b
Author:Joel Fernandes (Google)
AuthorDate:Tue, 29 Sep 2020 15:29:28 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: bd56e0a4a291bc9db2cbaddef20ec61a1aad4208
Gitweb:
https://git.kernel.org/tip/bd56e0a4a291bc9db2cbaddef20ec61a1aad4208
Author:Joel Fernandes (Google)
AuthorDate:Wed, 07 Oct 2020 13:50:36 -07:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 9f866dac94292f93d3b6bf8dbe860a44b954e555
Gitweb:
https://git.kernel.org/tip/9f866dac94292f93d3b6bf8dbe860a44b954e555
Author:Joel Fernandes (Google)
AuthorDate:Tue, 29 Sep 2020 15:29:27 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: f87dc808009ac86c790031627698ef1a34c31e25
Gitweb:
https://git.kernel.org/tip/f87dc808009ac86c790031627698ef1a34c31e25
Author:Joel Fernandes (Google)
AuthorDate:Mon, 16 Mar 2020 12:32:26 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 9154244c1ab6c9db4f1f25ac8f73bd46dba64287
Gitweb:
https://git.kernel.org/tip/9154244c1ab6c9db4f1f25ac8f73bd46dba64287
Author:Joel Fernandes (Google)
AuthorDate:Mon, 16 Mar 2020 12:32:27 -04:00
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: a6a82ce18ba443186545d3fefbee8b9419a859dc
Gitweb:
https://git.kernel.org/tip/a6a82ce18ba443186545d3fefbee8b9419a859dc
Author:Joel Fernandes (Google)
AuthorDate:Mon, 16 Mar 2020 12:32:28 -04:00
Commit-ID: 8f9affdf4094bde418a0dbd8b52bb503ee486469
Gitweb: https://git.kernel.org/tip/8f9affdf4094bde418a0dbd8b52bb503ee486469
Author: Joel Fernandes (Google)
AuthorDate: Wed, 20 Mar 2019 20:34:23 -0400
Committer: Ingo Molnar
CommitDate: Wed, 3 Apr 2019 09:51:01 +0200
sched/cpufreq
Commit-ID: 8e000ec0716d953f905e8f8ca2a6c71bb31bbf5d
Gitweb: https://git.kernel.org/tip/8e000ec0716d953f905e8f8ca2a6c71bb31bbf5d
Author: Joel Fernandes (Google)
AuthorDate: Wed, 20 Mar 2019 20:34:24 -0400
Committer: Ingo Molnar
CommitDate: Wed, 3 Apr 2019 09:51:03 +0200
sched_domain
Commit-ID: 2e7d58babd2a6073d1afb38519e246dd4a423da5
Gitweb: https://git.kernel.org/tip/2e7d58babd2a6073d1afb38519e246dd4a423da5
Author: Joel Fernandes (Google)
AuthorDate: Wed, 20 Mar 2019 20:34:26 -0400
Committer: Ingo Molnar
CommitDate: Wed, 3 Apr 2019 09:51:04 +0200
sched/core
Commit-ID: ea3ce866b568e087737df666c2c035496f54fdcb
Gitweb: https://git.kernel.org/tip/ea3ce866b568e087737df666c2c035496f54fdcb
Author: Joel Fernandes (Google)
AuthorDate: Wed, 20 Mar 2019 20:34:25 -0400
Committer: Ingo Molnar
CommitDate: Wed, 3 Apr 2019 09:51:04 +0200
rcuwait
Commit-ID: b10abd0a8859493a93c6b8020f2be2587557749d
Gitweb: https://git.kernel.org/tip/b10abd0a8859493a93c6b8020f2be2587557749d
Author: Joel Fernandes (Google)
AuthorDate: Wed, 20 Mar 2019 20:34:23 -0400
Committer: Ingo Molnar
CommitDate: Wed, 3 Apr 2019 12:34:31 +0200
sched/cpufreq
Commit-ID: 03f4b48edae7d936c5bf23488c1ce3fbe7fc2733
Gitweb: https://git.kernel.org/tip/03f4b48edae7d936c5bf23488c1ce3fbe7fc2733
Author: Joel Fernandes (Google)
AuthorDate: Wed, 20 Mar 2019 20:34:25 -0400
Committer: Ingo Molnar
CommitDate: Wed, 3 Apr 2019 12:34:31 +0200
rcuwait
Commit-ID: 7ba7319f9e3898101bff5d63cbae5a6cc174c8c9
Gitweb: https://git.kernel.org/tip/7ba7319f9e3898101bff5d63cbae5a6cc174c8c9
Author: Joel Fernandes (Google)
AuthorDate: Wed, 20 Mar 2019 20:34:26 -0400
Committer: Ingo Molnar
CommitDate: Wed, 3 Apr 2019 12:34:31 +0200
sched/core
Commit-ID: 994aeb7a93e43d28f6074195ccb03a384342e1bf
Gitweb: https://git.kernel.org/tip/994aeb7a93e43d28f6074195ccb03a384342e1bf
Author: Joel Fernandes (Google)
AuthorDate: Wed, 20 Mar 2019 20:34:24 -0400
Committer: Ingo Molnar
CommitDate: Wed, 3 Apr 2019 12:34:31 +0200
sched_domain
The following commit has been merged into the perf/core branch of tip:
Commit-ID: da97e18458fb42d7c00fac5fd1c56a3896ec666e
Gitweb:
https://git.kernel.org/tip/da97e18458fb42d7c00fac5fd1c56a3896ec666e
Author:Joel Fernandes (Google)
AuthorDate:Mon, 14 Oct 2019 13:03:08 -04
Commit-ID: fc91a3c4c27acdca0bc13af6fbb68c35cfd519f2
Gitweb: https://git.kernel.org/tip/fc91a3c4c27acdca0bc13af6fbb68c35cfd519f2
Author: Joel Fernandes (Google)
AuthorDate: Mon, 23 Jul 2018 14:25:31 -0700
Committer: Thomas Gleixner
CommitDate: Mon, 30 Jul 2018 21:36:37 +0200
The following commit has been merged into the core/rcu branch of tip:
Commit-ID: 6bc335828056f3b301a3deadda782de4e8f0db08
Gitweb:
https://git.kernel.org/tip/6bc335828056f3b301a3deadda782de4e8f0db08
Author:Joel Fernandes (Google)
AuthorDate:Tue, 03 Nov 2020 09:25:57 -05:00
401 - 467 of 467 matches
Mail list logo