[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20191203100659.GA2871@hirez.programming.kicks-ass.net>
Date: Tue, 3 Dec 2019 11:06:59 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Tejun Heo <tj@...nel.org>
Cc: "Paul E. McKenney" <paulmck@...nel.org>, jiangshanlai@...il.com,
linux-kernel@...r.kernel.org, Ingo Molnar <mingo@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: Workqueues splat due to ending up on wrong CPU
On Tue, Dec 03, 2019 at 10:55:21AM +0100, Peter Zijlstra wrote:
> @@ -1100,6 +1099,12 @@ void cpuhp_online_idle(enum cpuhp_state state)
> if (state != CPUHP_AP_ONLINE_IDLE)
> return;
>
> + /*
> + * Unpark the stopper thread before we start the idle thread; this
s/thread/loop/, _this_ is the idle thread :-)
> + * ensures the stopper is always available.
> + */
> + stop_machine_unpark(smp_processor_id());
> +
> st->state = CPUHP_AP_ONLINE_IDLE;
> complete_ap_thread(st, true);
> }
Powered by blists - more mailing lists