[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210919163539.GD880162@paulmck-ThinkPad-P17-Gen-1>
Date: Sun, 19 Sep 2021 09:35:39 -0700
From: "Paul E. McKenney" <paulmck@...nel.org>
To: linux-kernel@...r.kernel.org
Subject: Re: call_rcu data race patch
On Sat, Sep 18, 2021 at 09:08:38AM +0200, Guillaume Morin wrote:
> On 17 Sep 21:00, Paul E. McKenney wrote:
> > That is them! There are some flags that control their activities:
> >
> > o rcu_data structure's ->nocb_gp_sleep field (rcuog)
> > o rcu_data structure's ->nocb_cb_sleep field (rcuoc)
>
> >From the same kdump:
>
> crash> pd rcu_data:all | grep -E 'nocb_cb_sleep|nocb_gp_sleep|per_cpu'
> per_cpu(rcu_data, 0) = $69 = {
> nocb_gp_sleep = 0 '\000',
> nocb_cb_sleep = false,
> per_cpu(rcu_data, 1) = $70 = {
> nocb_gp_sleep = 1 '\001',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 2) = $71 = {
> nocb_gp_sleep = 0 '\000',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 3) = $72 = {
> nocb_gp_sleep = 0 '\000',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 4) = $73 = {
> nocb_gp_sleep = 1 '\001',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 5) = $74 = {
> nocb_gp_sleep = 0 '\000',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 6) = $75 = {
> nocb_gp_sleep = 0 '\000',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 7) = $76 = {
> nocb_gp_sleep = 0 '\000',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 8) = $77 = {
> nocb_gp_sleep = 1 '\001',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 9) = $78 = {
> nocb_gp_sleep = 0 '\000',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 10) = $79 = {
> nocb_gp_sleep = 0 '\000',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 11) = $80 = {
> nocb_gp_sleep = 0 '\000',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 12) = $81 = {
> nocb_gp_sleep = 1 '\001',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 13) = $82 = {
> nocb_gp_sleep = 0 '\000',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 14) = $83 = {
> nocb_gp_sleep = 0 '\000',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 15) = $84 = {
> nocb_gp_sleep = 0 '\000',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 16) = $85 = {
> nocb_gp_sleep = 1 '\001',
> nocb_cb_sleep = true,
> per_cpu(rcu_data, 17) = $86 = {
> nocb_gp_sleep = 0 '\000',
> nocb_cb_sleep = true,
> crash>
This is consistent with CPU 0's rcuoc kthread processing callbacks
and all of the rcuog threads waiting for more callbacks.
How is the testing of the patches going? (I am guessing nothing yet
based on the failure times, but who knows?)
Thanx, Paul
Powered by blists - more mailing lists