From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
"H. Peter Anvin" <hpa@zytor.com>,
Peter Zijlstra <peterz@infradead.org>,
linux-next@vger.kernel.org, linux-kernel@vger.kernel.org,
Boqun Feng <boqun.feng@gmail.com>
Subject: Re: linux-next: manual merge of the rcu tree with the tip tree
Date: Fri, 4 Mar 2016 07:04:15 -0800 [thread overview]
Message-ID: <20160304150415.GO3577@linux.vnet.ibm.com> (raw)
In-Reply-To: <20160304151306.05e3bb36@canb.auug.org.au>
On Fri, Mar 04, 2016 at 03:13:06PM +1100, Stephen Rothwell wrote:
> Hi Paul,
>
> Today's linux-next merge of the rcu tree got a conflict in:
>
> kernel/rcu/tree.c
>
> between commit:
>
> 27d50c7eeb0f ("rcu: Make CPU_DYING_IDLE an explicit call")
>
> from the tip tree and commit:
>
> 67c583a7de34 ("RCU: Privatize rcu_node::lock")
>
> from the rcu tree.
>
> I fixed it up (see below) and can carry the fix as necessary (no action
> is required).
Thank you! I have applied this resolution to -rcu and am testing it.
Thanx, Paul
> --
> Cheers,
> Stephen Rothwell
>
> diff --cc kernel/rcu/tree.c
> index 0bbc1497a0e4,55cea189783f..000000000000
> --- a/kernel/rcu/tree.c
> +++ b/kernel/rcu/tree.c
> @@@ -4227,43 -4246,6 +4224,43 @@@ static void rcu_prepare_cpu(int cpu
> rcu_init_percpu_data(cpu, rsp);
> }
>
> +#ifdef CONFIG_HOTPLUG_CPU
> +/*
> + * The CPU is exiting the idle loop into the arch_cpu_idle_dead()
> + * function. We now remove it from the rcu_node tree's ->qsmaskinit
> + * bit masks.
> + */
> +static void rcu_cleanup_dying_idle_cpu(int cpu, struct rcu_state *rsp)
> +{
> + unsigned long flags;
> + unsigned long mask;
> + struct rcu_data *rdp = per_cpu_ptr(rsp->rda, cpu);
> + struct rcu_node *rnp = rdp->mynode; /* Outgoing CPU's rdp & rnp. */
> +
> + if (!IS_ENABLED(CONFIG_HOTPLUG_CPU))
> + return;
> +
> + /* Remove outgoing CPU from mask in the leaf rcu_node structure. */
> + mask = rdp->grpmask;
> + raw_spin_lock_irqsave_rcu_node(rnp, flags); /* Enforce GP memory-order guarantee. */
> + rnp->qsmaskinitnext &= ~mask;
> - raw_spin_unlock_irqrestore(&rnp->lock, flags);
> ++ raw_spin_unlock_irqrestore_rcu_node(rnp, flags);
> +}
> +
> +void rcu_report_dead(unsigned int cpu)
> +{
> + struct rcu_state *rsp;
> +
> + /* QS for any half-done expedited RCU-sched GP. */
> + preempt_disable();
> + rcu_report_exp_rdp(&rcu_sched_state,
> + this_cpu_ptr(rcu_sched_state.rda), true);
> + preempt_enable();
> + for_each_rcu_flavor(rsp)
> + rcu_cleanup_dying_idle_cpu(cpu, rsp);
> +}
> +#endif
> +
> /*
> * Handle CPU online/offline notification events.
> */
>
next prev parent reply other threads:[~2016-03-04 15:04 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-04 4:13 linux-next: manual merge of the rcu tree with the tip tree Stephen Rothwell
2016-03-04 15:04 ` Paul E. McKenney [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-02-27 1:55 Stephen Rothwell
2022-04-06 2:45 Stephen Rothwell
2022-04-06 16:28 ` Paul E. McKenney
2022-02-21 18:17 broonie
2021-10-12 4:48 Stephen Rothwell
2021-10-13 16:31 ` Paul E. McKenney
2021-08-17 7:09 Stephen Rothwell
2021-06-23 5:33 Stephen Rothwell
2021-06-22 4:51 Stephen Rothwell
2021-06-22 4:47 Stephen Rothwell
2021-06-22 5:04 ` Stephen Rothwell
2021-06-22 17:10 ` Paul E. McKenney
2020-10-09 4:59 Stephen Rothwell
2020-07-29 6:23 Stephen Rothwell
2020-06-26 3:14 Stephen Rothwell
2020-06-25 2:44 Stephen Rothwell
2020-06-25 3:44 ` Paul E. McKenney
2020-06-24 3:04 Stephen Rothwell
2020-06-24 4:06 ` Paul E. McKenney
2020-05-29 6:22 Stephen Rothwell
2020-05-29 6:41 ` Stephen Rothwell
2020-05-29 14:15 ` Paul E. McKenney
2020-05-29 23:38 ` Stephen Rothwell
2020-03-25 3:08 Stephen Rothwell
2020-03-25 3:18 ` Paul E. McKenney
2020-03-25 21:31 ` Paul E. McKenney
2019-12-19 0:50 Stephen Rothwell
2019-12-19 1:27 ` Paul E. McKenney
2019-12-19 1:31 ` Paul E. McKenney
2019-12-19 8:41 ` Peter Zijlstra
2019-12-19 13:38 ` Paul E. McKenney
2019-12-16 23:37 Stephen Rothwell
2018-06-22 2:27 Stephen Rothwell
2018-06-26 19:33 ` Paul E. McKenney
2017-11-10 2:14 Stephen Rothwell
2017-08-22 4:13 Stephen Rothwell
2017-07-31 3:50 Stephen Rothwell
2017-07-31 16:13 ` Paul E. McKenney
2017-08-01 0:04 ` Mathieu Desnoyers
2017-08-01 4:03 ` Paul E. McKenney
2017-08-01 4:25 ` Mathieu Desnoyers
2017-08-01 16:31 ` Paul E. McKenney
2017-08-01 13:43 ` Andy Lutomirski
2017-08-01 13:58 ` Peter Zijlstra
2017-08-01 14:15 ` Peter Zijlstra
2017-08-01 14:17 ` Andy Lutomirski
2017-08-01 14:02 ` Mathieu Desnoyers
2017-08-01 14:15 ` Andy Lutomirski
2017-08-01 15:40 ` Mathieu Desnoyers
2017-08-01 21:36 ` Paul E. McKenney
2016-07-18 5:26 Stephen Rothwell
2016-07-19 3:00 ` Paul E. McKenney
2016-06-09 5:14 Stephen Rothwell
2016-06-09 15:59 ` Paul E. McKenney
2015-07-16 2:57 Stephen Rothwell
2015-05-07 3:56 Stephen Rothwell
2014-02-24 4:18 Stephen Rothwell
2014-02-24 4:42 ` Paul E. McKenney
2012-09-05 3:59 Stephen Rothwell
2012-09-05 16:39 ` Paul E. McKenney
2012-09-05 17:11 ` Peter Zijlstra
2012-08-23 3:01 Stephen Rothwell
2012-08-23 3:22 ` Paul E. McKenney
2012-08-22 4:27 Stephen Rothwell
2012-08-22 5:05 ` Paul E. McKenney
2012-08-22 4:27 Stephen Rothwell
2012-08-22 5:03 ` Paul E. McKenney
2011-06-20 4:47 Stephen Rothwell
2011-06-20 15:17 ` Paul E. McKenney
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=20160304150415.GO3577@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=boqun.feng@gmail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=sfr@canb.auug.org.au \
--cc=tglx@linutronix.de \
/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.