[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20120625095407.GA27081@gmail.com>
Date: Mon, 25 Jun 2012 11:54:07 +0200
From: Ingo Molnar <mingo@...nel.org>
To: Suresh Siddha <suresh.b.siddha@...el.com>
Cc: Alexander Gordeev <agordeev@...hat.com>,
linux-kernel@...r.kernel.org, x86@...nel.org, gorcunov@...nvz.org,
Yinghai Lu <yinghai@...nel.org>
Subject: Re: [PATCH v2 2/3] x86, x2apic: limit the vector reservation to the
user specified mask
* Yinghai Lu <yinghai@...nel.org> wrote:
> On Thu, Jun 21, 2012 at 3:02 PM, Suresh Siddha
> <suresh.b.siddha@...el.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@...el.com>
> > Acked-by: Yinghai Lu <yinghai@...nel.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]
Other than this omission the series looks good to me as well, if
this is fixed and the Acked-by's of the three gents is added to
all three patches then I can apply it to -tip.
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists