Messages in this thread | | | Date | Sat, 23 Jun 2012 15:04:14 -0700 | Subject | Re: [PATCH v2 2/3] x86, x2apic: limit the vector reservation to the user specified mask | From | Yinghai Lu <> |
| |
On Thu, Jun 21, 2012 at 3:02 PM, Suresh Siddha <suresh.b.siddha@intel.com> wrote: > For the x2apic cluster mode, vector for an interrupt is currently reserved on > all the cpu's that are part of the x2apic cluster. But the interrupts will > be routed only to the cluster (derived from the first cpu in the mask) members > specified in the mask. So there is no need to reserve the vector in the unused > cluster members. > > Modify __assign_irq_vector() to reserve the vectors based on the user > specified irq destination mask. If the new mask is a proper subset of > the currently used mask, cleanup the vector allocation on the unused cpu > members. > > Also, allow the apic driver to tune the vector domain based on the > affinity mask (which in most cases is the user-specified mask). > > Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> > Acked-by: Yinghai Lu <yinghai@kernel.org> > --- > arch/x86/include/asm/apic.h | 9 ++++++--- > arch/x86/kernel/apic/apic_noop.c | 3 ++- > arch/x86/kernel/apic/io_apic.c | 31 +++++++++++++++---------------- > arch/x86/kernel/apic/x2apic_cluster.c | 6 +++--- > 4 files changed, 26 insertions(+), 23 deletions(-) > > diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h > index b37fa12..c276809 100644 > --- a/arch/x86/include/asm/apic.h > +++ b/arch/x86/include/asm/apic.h > @@ -306,7 +306,8 @@ struct apic { > unsigned long (*check_apicid_used)(physid_mask_t *map, int apicid); > unsigned long (*check_apicid_present)(int apicid); > > - void (*vector_allocation_domain)(int cpu, struct cpumask *retmask); > + void (*vector_allocation_domain)(int cpu, struct cpumask *retmask, > + const struct cpumask *mask);
there is one left over for vsmp_64 need to be updated.
arch/x86/kernel/vsmp_64.c: In function ‘vsmp_apic_post_init’: arch/x86/kernel/vsmp_64.c:221:33: warning: assignment from incompatible pointer type [enabled by default]
Thanks
Yinghai -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |