Re: [PATCH] cpufreq: Avoid leaving stale IRQ work items during CPU offline
From: Rafael J. Wysocki
Date: Thu Dec 12 2019 - 11:50:08 EST
On Wed, Dec 11, 2019 at 2:53 PM Peng Fan <peng.fan@xxxxxxx> wrote:
> > Subject: [PATCH] cpufreq: Avoid leaving stale IRQ work items during CPU
> > offline
> > From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> > The scheduler code calling cpufreq_update_util() may run during CPU offline
> > on the target CPU after the IRQ work lists have been flushed for it, so the
> > target CPU should be prevented from running code that may queue up an IRQ
> > work item on it at that point.
> > Unfortunately, that may not be the case if dvfs_possible_from_any_cpu is set
> > for at least one cpufreq policy in the system, because that allows the CPU
> > going offline to run the utilization update callback of the cpufreq governor on
> > behalf of another (online) CPU in some cases.
> > If that happens, the cpufreq governor callback may queue up an IRQ work on
> > the CPU running it, which is going offline, and the IRQ work will not be flushed
> "will" -> "might"
Well, I'm not sure, but OK.