[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CABk29NsN_3kH4xyY1v0FixMDuGb_rG_iUYDFtwd3U5n10LsjaA@mail.gmail.com>
Date: Fri, 17 Jul 2020 22:53:50 -0700
From: Josh Don <joshdon@...gle.com>
To: Andy Lutomirski <luto@...nel.org>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
X86 ML <x86@...nel.org>, "H . Peter Anvin" <hpa@...or.com>,
Linux PM <linux-pm@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
"Rafael J . Wysocki" <rjw@...ysocki.net>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
Peter Zijlstra <peterz@...radead.org>,
Juri Lelli <juri.lelli@...hat.com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Steven Rostedt <rostedt@...dmis.org>,
Ben Segall <bsegall@...gle.com>, Mel Gorman <mgorman@...e.de>,
Paul Turner <pjt@...gle.com>
Subject: Re: [RFC][PATCH] x86: optimization to avoid CAL+RES IPIs
Hey Andy, thanks for taking a look.
On Fri, Jul 17, 2020 at 8:14 PM Andy Lutomirski <luto@...nel.org> wrote:
>
> PeterZ and I fixed a whole series of bugs a few years ago, and remote
> wakeups *should* already do this. Did we miss something? Did it
> regress? Even the call_function_single path ought to go through this:
>
> void send_call_function_single_ipi(int cpu)
> {
> struct rq *rq = cpu_rq(cpu);
>
> if (!set_nr_if_polling(rq->idle))
> arch_send_call_function_single_ipi(cpu);
> else
> trace_sched_wake_idle_without_ipi(cpu);
> }
>
Yep, I was sitting on this for a bit and raced with b2a02fc43a there.
90b5363ac also got rid of the last smp_send_reschedule() that was
triggering the ipiless handling.
One of the nice parts of the patch was that it could blanket apply to
all of the smp_call/reschedule. However, with the above patches that
isn't a concern; it makes more sense to keep the existing
TIF_POLLING_NRFLAG logic.
Powered by blists - more mailing lists