Re: [PATCH] rcu: Report a quiescent state of TASKS_RCU on a tick from user

From: Byungchul Park
Date: Tue May 15 2018 - 00:19:26 EST




On 2018-05-15 13:11, Paul E. McKenney wrote:
On Tue, May 15, 2018 at 09:33:46AM +0900, Byungchul Park wrote:
Hello Paul,

You removed the reporing while simplifying the commit 508880df6 :)
Fold this patch onto the commit or add, whatever you want.

First, thank you for checking!

But second, the removal was intentional. Tiny RCU only exists in
PREEMPT=n kernels, and in such kernels there can be no RCU-tasks.
This is the reason for this line in the new commit log:

I see. Thank you.

[ paulmck: Simplify rcutiny portion given no RCU-tasks for !PREEMPT. ]

Thanx, Paul

Thanks,
Byungchul

----->8-----
>From 18a2d8da3baf79d0edd5ccf94abe6f989da5b1c1 Mon Sep 17 00:00:00 2001
From: Byungchul Park <byungchul.park@xxxxxxx>
Date: Tue, 15 May 2018 09:21:43 +0900
Subject: [PATCH] rcu: Report a quiescent state of TASKS_RCU on a tick from
user

The reporting was removed while simplifying the commit 508880df6 (rcu:
Improve rcu_note_voluntary_context_switch() reporting). Add it back.

Signed-off-by: Byungchul Park <byungchul.park@xxxxxxx>
---
kernel/rcu/tiny.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/kernel/rcu/tiny.c b/kernel/rcu/tiny.c
index befc932..3345596 100644
--- a/kernel/rcu/tiny.c
+++ b/kernel/rcu/tiny.c
@@ -120,8 +120,10 @@ void rcu_bh_qs(void)
*/
void rcu_check_callbacks(int user)
{
- if (user)
+ if (user) {
rcu_sched_qs();
+ rcu_tasks_qs();
+ }
if (user || !in_softirq())
rcu_bh_qs();
}
--
1.9.1




--
Thanks,
Byungchul