[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALAqxLUHj8DdiKauwfobS4LzPphhmZdG=GP51zcQMQdmZf=rFg@mail.gmail.com>
Date: Tue, 1 Oct 2019 11:15:01 -0700
From: John Stultz <john.stultz@...aro.org>
To: Peter Zijlstra <peterz@...radead.org>
Cc: Ingo Molnar <mingo@...nel.org>,
Linus Torvalds <torvalds@...ux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Andrew Morton <akpm@...ux-foundation.org>,
Mathieu Desnoyers <mathieu.desnoyers@...ymtl.ca>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
Joel Fernandes <joelaf@...gle.com>,
Alistair Delva <adelva@...gle.com>
Subject: Re: [GIT PULL] scheduler fixes
On Tue, Oct 1, 2019 at 12:19 AM Peter Zijlstra <peterz@...radead.org> wrote:
>
> On Mon, Sep 30, 2019 at 04:45:49PM -0700, John Stultz wrote:
> > Reverting the following patches:
>
> > "sched/membarrier: Fix p->mm->membarrier_state racy load"
>
> ARGH, I fudged it... please try:
>
>
> diff --git a/kernel/sched/membarrier.c b/kernel/sched/membarrier.c
> index a39bed2c784f..168479a7d61b 100644
> --- a/kernel/sched/membarrier.c
> +++ b/kernel/sched/membarrier.c
> @@ -174,7 +174,6 @@ static int membarrier_private_expedited(int flags)
> */
> if (cpu == raw_smp_processor_id())
> continue;
> - rcu_read_lock();
> p = rcu_dereference(cpu_rq(cpu)->curr);
> if (p && p->mm == mm)
> __cpumask_set_cpu(cpu, tmpmask);
Yep. Looks like that solves it!
Tested-by: John Stultz <john.stultz@...aro.org>
Thanks so much for the quick turnaround!
-john
Powered by blists - more mailing lists