[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [PATCH]CPUFREQ: Fix two racing issues during cpu hotplug
On 12/04/2010 05:45, "Wei, Gang" <gang.wei@xxxxxxxxx> wrote: > Move cpufreq_del_cpu() call into __cpu_disable to eliminate racing with dbs > timer handler on policy & drv_data. Put it after local_irq_enable because > xmalloc/xfree in cpufreq_del_cpu assert for this. Can't you just kill_timer()? Adding extra code into a stop_machine context is dangerous: e.g., xmalloc()->alloc_xenheap_pages()->memguard_unguard_range()->map_pages_to_xen ()->flush_area_all() results in deadlock as other cpus are spinning with irqs disabled. > Change access to cpufreq_statistic_lock from spin_lock to spin_lock_irqsave to > avoid statistic data access racing between cpufreq_statistic_exit and dbs > timer handler. DBS timer handler is called in softirq context; cpu_freq_statistic_exit() appears also always to be called from non-irq context. I don't see what interrupt context you are protecting against. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |