Messages in this thread | | | Date | Wed, 05 Jun 2013 16:12:45 +0800 | From | Michael Wang <> | Subject | Re: NOHZ: WARNING: at arch/x86/kernel/smp.c:123 native_smp_send_reschedule, round 2 |
| |
On 06/05/2013 04:08 PM, Jiri Kosina wrote: > On Wed, 5 Jun 2013, Michael Wang wrote: > >>> Just to not let this thread sleep -- I am seeing this as well, even with >>> current Linus' tree (git HEAD == aa4f608). >> >> Have you tried this: >> >> diff --git a/drivers/cpufreq/cpufreq_governor.c >> b/drivers/cpufreq/cpufreq_governor.c >> index 443442d..449be88 100644 >> --- a/drivers/cpufreq/cpufreq_governor.c >> +++ b/drivers/cpufreq/cpufreq_governor.c >> @@ -26,6 +26,7 @@ >> #include <linux/tick.h> >> #include <linux/types.h> >> #include <linux/workqueue.h> >> +#include <linux/cpu.h> >> >> #include "cpufreq_governor.h" >> >> @@ -180,8 +181,10 @@ void gov_queue_work(struct dbs_data *dbs_data, >> struct cpufreq_policy *policy, >> if (!all_cpus) { >> __gov_queue_work(smp_processor_id(), dbs_data, delay); >> } else { >> + get_online_cpus(); >> for_each_cpu(i, policy->cpus) >> __gov_queue_work(i, dbs_data, delay); >> + put_online_cpus(); >> } >> } >> EXPORT_SYMBOL_GPL(gov_queue_work); >> >> Does it works? > > Yes, the warning is gone with this patch.
Nice, so I think we proved that 'policy->cpus' is well maintained.
> > Tested-by: Jiri Kosina <jkosina@suse.cz>
Thanks for your testing :)
Regards, Michael Wang
> > Thanks, >
| |