Messages in this thread | | | Subject | Re: [PATCH] irq: Add node_affinity CPU masks for smarter irqbalance hints | From | Peter P Waskiewicz Jr <> | Date | Tue, 24 Nov 2009 00:39:32 -0800 |
| |
On Mon, 2009-11-23 at 22:17 -0700, Yong Zhang wrote: > [snip] > >> > >> 1) I think you should consider CONFIG_CPUMASK_OFFSTACK which will affect > >> node_affinity. > >> 2) It seems like this patch can't work with SPARSE_IRQ. > > > > This mechanism isn't going to be used by any internal kernel mechanism > > for determining interrupt placement or operation. It's purely something > > that either a driver can modify, or external script (through /proc), > > that irqbalance will make use of. If irqbalance isn't running, or the > > current version of irqbalance doesn't support reading node_affinity, > > then it won't affect the system's operation. > > > > If irqbalance does support it, it'll read whatever the supplied mask is, > > and then will try and balance interrupts within that mask. It will bail > > if the mask is invalid, or won't apply to the running system, just like > > how putting a bogus mask into smp_affinity is ignored. > > > > If there's something I'm missing beyond this with the two suggestions > > you've made (I looked into those two parameters and tried to draw > > conclusions), please let me know. > > My two suggestions are both about your adding node_affinity. Before you can > use this element, you must initialise it firstly. You can refer how > irq_desc::affinity > is used in function alloc_desc_masks(). > include/linux/irq.h: > static inline bool alloc_desc_masks(struct irq_desc *desc, int node, > bool boot) > { > gfp_t gfp = GFP_ATOMIC; > > if (boot) > gfp = GFP_NOWAIT; > > #ifdef CONFIG_CPUMASK_OFFSTACK > if (!alloc_cpumask_var_node(&desc->affinity, gfp, node)) > return false; > > #ifdef CONFIG_GENERIC_PENDING_IRQ > if (!alloc_cpumask_var_node(&desc->pending_mask, gfp, node)) { > free_cpumask_var(desc->affinity); > return false; > } > #endif > #endif > return true; > } >
Ah, ok. I see what you were referring to now. Let me respin the patch and send a second version.
Thanks Yong,
-PJ Waskiewicz
| |