> So the powerpc platform just honors the affinity mask, and depending on > the PIC does things that range from nothing to spreading interrupts to > CPUs in the affinity mask. > > All interrupts by defaults are spread to all CPUs (full balancing). > > At this stage, it's afaik userland business to enforce different > policies by changing the affinities via /proc/irq/*. > > Do you have any pointer to how that is done on x86 or sparc64 ? On my > x86 laptop using ubuntu gutsy, I definitely see the IRQ on which the > network card is connected (e1000) happily spread between the 2 cores > just like powerpc would do.
More specifically, IRQF_NOBALANCING doesn't seem to be set anywhere except a few arch specific timer interrupts etc... nowhere I can see in network drivers or the network stack (the stack wouldn't know what IRQ anyway since not all drivers set netdev->irq). We currently don't have a balance kthread like x86 has, though I wonder if we should move this one out of x86 and make it generic (hell, it's even hidden in the IO_APIC code :-) But at this stage, HW balancing by the PIC is the norm and seems to be happening. Ben. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html