On 09/28/2012 12:50 AM, Suresh Siddha wrote: > On Fri, 2012-09-28 at 00:12 +0530, Srivatsa S. Bhat wrote: >> On 09/27/2012 04:16 AM, Suresh Siddha wrote: >>> >>> No. irq_set_affinity() >>> >> >> Um? That takes the updated/changed affinity and sets data->affinity to >> that value no? You mentioned that probably the intention of the original >> code was to preserve the user-set affinity mask, but still change the >> underlying interrupt routing. Sorry, but I still didn't quite understand >> what is that part of the code that achieves that. > > For the HW routing to be changed we AND it with cpu_online_map and use > that for programming the interrupt entries etc.
Ah, now I see.. you were referring to the __assign_irq_vector() code, whereas I was looking only at fixup_irqs() and was trying to find the code that did what you said.. that's what got me confused earlier :-) > The user-specified > affinity still has the cpu that is offlined. > Right, so data->affinity is untouched, whereas cfg->domain is updated when the CPU is offlined.. > And when the cpu comes online and if it is part of the user-specified > affinity, then the HW routing can be again modified to include the new > cpu. > Right, got it. > hope this clears it! > Yep, thanks a lot! Regards, Srivatsa S. Bhat -- 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/