lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAE9FiQWjVVsr-AsKEJ6CLPaGLYEZ1XRAnKGHiJEHvkr3xsAJyA@mail.gmail.com>
Date:	Sat, 23 Jun 2012 15:04:14 -0700
From:	Yinghai Lu <yinghai@...nel.org>
To:	Suresh Siddha <suresh.b.siddha@...el.com>
Cc:	Alexander Gordeev <agordeev@...hat.com>,
	Ingo Molnar <mingo@...nel.org>, linux-kernel@...r.kernel.org,
	x86@...nel.org, gorcunov@...nvz.org
Subject: Re: [PATCH v2 2/3] x86, x2apic: limit the vector reservation to the
 user specified mask

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]

Thanks

Yinghai
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ