On 05/20/2013 02:47 PM, Borislav Petkov wrote: > On Mon, May 20, 2013 at 02:23:37PM +0800, Michael Wang wrote: >> On 05/20/2013 12:50 PM, Borislav Petkov wrote: >>> On Mon, May 20, 2013 at 11:16:33AM +0800, Michael Wang wrote: >>>> I suppose the reason is that the cpu we passed to >>>> mod_delayed_work_on() has a chance to become offline before we >>>> disabled irq, what about check it before send resched ipi? like: >>> >>> I think this is only addressing the symptoms - what we should be doing >>> instead is asking ourselves why are we even scheduling work on a cpu if >>> the machine goes offline? >>> >>> I don't know though who should be responsible for killing all that >>> work - the workqueue itself or the guy who created it, i.e. cpufreq >>> governor... >> >> So there are two questions here: >> 1. Is gov_queue_work() want to queue the work on offline cpu? >> 2. Is mod_delayed_work_on() allow offline cpu? >> >> I guess both should be false? > > Well, if we don't allow queueing work on a cpu which goes offline, i.e. > #2, the problem should be solved.
I've take a look at the usage of queue_delayed_work_on() and mod_delayed_work_on(), mostly passed this_cpu, or those in online mask, I think offline cpu is not by designed. Besides, the cpu gov_queue_work() is using 'policy->cpus' which seems to be updated during UP DOWN notify, I think they are supposed to be online. But we need expert in cpufreq to confirm all these... Regards, Michael Wang > > Tejun? > > Here are the splats: http://marc.info/?l=linux-kernel&m=136879901425951 > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/