[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170801163105.GY3730@linux.vnet.ibm.com>
Date: Tue, 1 Aug 2017 09:31:05 -0700
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
Cc: Stephen Rothwell <sfr@...b.auug.org.au>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...e.hu>, "H. Peter Anvin" <hpa@...or.com>,
Peter Zijlstra <peterz@...radead.org>,
Linux-Next Mailing List <linux-next@...r.kernel.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Andy Lutomirski <luto@...nel.org>
Subject: Re: linux-next: manual merge of the rcu tree with the tip tree
On Tue, Aug 01, 2017 at 04:25:56AM +0000, Mathieu Desnoyers wrote:
> ----- On Aug 1, 2017, at 12:03 AM, Paul E. McKenney paulmck@...ux.vnet.ibm.com wrote:
>
> > On Tue, Aug 01, 2017 at 12:04:05AM +0000, Mathieu Desnoyers wrote:
> >> ----- On Jul 31, 2017, at 12:13 PM, Paul E. McKenney paulmck@...ux.vnet.ibm.com
> >> wrote:
> >>
> >> > On Mon, Jul 31, 2017 at 01:50:29PM +1000, Stephen Rothwell wrote:
> >> >> Hi Paul,
> >> >>
> >> >> Today's linux-next merge of the rcu tree got a conflict in:
> >> >>
> >> >> arch/x86/mm/tlb.c
> >> >>
> >> >> between commit:
> >> >>
> >> >> 94b1b03b519b ("x86/mm: Rework lazy TLB mode and TLB freshness tracking")
> >> >>
> >> >> from the tip tree and commit:
> >> >>
> >> >> d7713e8f8b23 ("membarrier: Expedited private command")
> >> >>
> >> >> from the rcu tree.
> >> >>
> >> >> I fixed it up (the former removed the comment and the load_cr3(), so I
> >> >> just dropped the commend change in the latter) and can carry the fix as
> >> >> necessary. This is now fixed as far as linux-next is concerned, but any
> >> >> non trivial conflicts should be mentioned to your upstream maintainer
> >> >> when your tree is submitted for merging. You may also want to consider
> >> >> cooperating with the maintainer of the conflicting tree to minimise any
> >> >> particularly complex conflicts.
> >> >
> >> > Thank you, Stephen!
> >> >
> >> > Mathieu, Peter, our commit log reads as if removal of load_cr3() would
> >> > simply result in relying on the ordering provided by the atomic ops
> >> > in switch_mm() for mm_cpumask(), so that only the commit log and the
> >> > comment need changing.
> >> >
> >> > Please let me know if I am missing something here.
> >>
> >> I think you are right. Both load_cr3() and mm_cpumask update operations
> >> (LOCK prefixed) provide the appropriate barriers on x86. So it's just a
> >> matter of adapting the comment to the new reality.
> >
> > Like this?
>
> The updated comment in the commit message looks good, but I would be
> tempted to add a comment in x86 switch_mm_irqs_off() stating the
> following requirement just before the line invoking cpumask_set_cpu():
>
> /*
> * The full memory barrier implied by mm_cpumask update operations
> * is required by the membarrier system call.
> */
This looks good to me, but I will give the discussion another day or
so to settle out. ;-)
Thanx, Paul
Powered by blists - more mailing lists