From: "Paul E. McKenney" <paulmck@kernel.org>
To: "Leizhen (ThunderTown)" <thunder.leizhen@huawei.com>
Cc: Frederic Weisbecker <frederic@kernel.org>,
Neeraj Upadhyay <quic_neeraju@quicinc.com>,
Josh Triplett <josh@joshtriplett.org>,
Steven Rostedt <rostedt@goodmis.org>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
Lai Jiangshan <jiangshanlai@gmail.com>,
Joel Fernandes <joel@joelfernandes.org>,
rcu@vger.kernel.org, linux-kernel@vger.kernel.org,
Robert Elliott <elliott@hpe.com>
Subject: Re: [PATCH v4 4/4] rcu: Add RCU stall diagnosis information
Date: Fri, 4 Nov 2022 06:43:16 -0700 [thread overview]
Message-ID: <20221104134316.GM5600@paulmck-ThinkPad-P17-Gen-1> (raw)
In-Reply-To: <311242b9-e61c-376f-4db1-f3d6b30ec84e@huawei.com>
On Fri, Nov 04, 2022 at 11:12:02AM +0800, Leizhen (ThunderTown) wrote:
>
>
> On 2022/11/4 10:12, Zhen Lei wrote:
> > diff --git a/kernel/rcu/tree.h b/kernel/rcu/tree.h
> > index d4a97e40ea9c3e2..44d49819a31f050 100644
> > --- a/kernel/rcu/tree.h
> > +++ b/kernel/rcu/tree.h
> > @@ -158,6 +158,22 @@ union rcu_noqs {
> > u16 s; /* Set of bits, aggregate OR here. */
> > };
> >
> > +/*
> > + * Record the snapshot of the core stats at 1/2 rcu stall timeout. The member
> > + * gp_seq is used to ensure that all members are updated only once during the
> > + * second half period. The snapshot is taken only if this gp_seq is not equal
> > + * to rdp->gp_seq.
> > + */
> > +struct rcu_snap_record {
> > + unsigned long gp_seq; /* Track rdp->gp_seq counter */
> > + u64 cputime_irq; /* Accumulated cputime of hard irqs */
> > + u64 cputime_softirq;/* Accumulated cputime of soft irqs */
> > + u64 cputime_system; /* Accumulated cputime of kernel tasks */
> > + unsigned long nr_hardirqs; /* Accumulated number of hard irqs */
> > + unsigned int nr_softirqs; /* Accumulated number of soft irqs */
> > + unsigned long long nr_csw; /* Accumulated number of task switches */
> > +};
> > +
> > /* Per-CPU data for read-copy update. */
> > struct rcu_data {
> > /* 1) quiescent-state and grace-period handling : */
> > @@ -262,6 +278,7 @@ struct rcu_data {
> > short rcu_onl_gp_flags; /* ->gp_flags at last online. */
> > unsigned long last_fqs_resched; /* Time of last rcu_resched(). */
> > unsigned long last_sched_clock; /* Jiffies of last rcu_sched_clock_irq(). */
> > + struct rcu_snap_record snap_record; /* Snapshot of core stats at 1/2 rcu stall timeout */
> >
> > int cpu;
> > };
>
> Sorry, I forgot to update linux-rcu.git. There is a conflict here.
>
> ----------------
> int cpu;
> };
> ------------should be--------
> long lazy_len; /* Length of buffered lazy callbacks. */
> int cpu;
> ----------------
Not a problem! Looks good otherwise.
So please just rebase your series onto -rcu and repost.
Thanx, Paul
next prev parent reply other threads:[~2022-11-04 13:43 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-04 2:12 [PATCH v4 0/4] rcu: Add RCU stall diagnosis information Zhen Lei
2022-11-04 2:12 ` [PATCH v4 1/4] genirq: Fix the return type of kstat_cpu_irqs_sum() Zhen Lei
2022-11-04 2:12 ` [PATCH v4 2/4] sched: Add helper kstat_cpu_softirqs_sum() Zhen Lei
2022-11-04 2:12 ` [PATCH v4 3/4] sched: Add helper nr_context_switches_cpu() Zhen Lei
2022-11-04 2:12 ` [PATCH v4 4/4] rcu: Add RCU stall diagnosis information Zhen Lei
2022-11-04 3:12 ` Leizhen (ThunderTown)
2022-11-04 13:43 ` Paul E. McKenney [this message]
2022-11-05 1:58 ` Elliott, Robert (Servers)
2022-11-05 7:03 ` Leizhen (ThunderTown)
2022-11-05 20:32 ` Paul E. McKenney
2022-11-07 3:20 ` Leizhen (ThunderTown)
2022-11-05 20:06 ` Paul E. McKenney
2022-11-07 2:10 ` Elliott, Robert (Servers)
2022-11-07 11:49 ` Leizhen (ThunderTown)
2022-11-07 20:38 ` Elliott, Robert (Servers)
2022-11-07 21:57 ` Elliott, Robert (Servers)
2022-11-08 3:06 ` Leizhen (ThunderTown)
2022-11-08 5:53 ` Elliott, Robert (Servers)
2022-11-08 6:41 ` Leizhen (ThunderTown)
2022-11-08 19:29 ` Elliott, Robert (Servers)
2022-11-08 3:18 ` Leizhen (ThunderTown)
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=20221104134316.GM5600@paulmck-ThinkPad-P17-Gen-1 \
--to=paulmck@kernel.org \
--cc=elliott@hpe.com \
--cc=frederic@kernel.org \
--cc=jiangshanlai@gmail.com \
--cc=joel@joelfernandes.org \
--cc=josh@joshtriplett.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=quic_neeraju@quicinc.com \
--cc=rcu@vger.kernel.org \
--cc=rostedt@goodmis.org \
--cc=thunder.leizhen@huawei.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.