Re: [PATCH] x86: allocate cpumask during check irq vectors
From: Chen, Gong
Date: Fri Jan 24 2014 - 21:27:07 EST
On Fri, Jan 24, 2014 at 12:11:07PM -0800, Yinghai Lu wrote:
> Date: Fri, 24 Jan 2014 12:11:07 -0800
> From: Yinghai Lu <yinghai@xxxxxxxxxx>
> To: "H. Peter Anvin" <hpa@xxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxx>,
> linux-kernel@xxxxxxxxxxxxxxx, Yinghai Lu <yinghai@xxxxxxxxxx>, Prarit
> Bhargava <prarit@xxxxxxxxxx>
> Subject: [PATCH] x86: allocate cpumask during check irq vectors
> X-Mailer: git-send-email 1.8.4
>
> Fix warning:
> arch/x86/kernel/irq.c: In function check_irq_vectors_for_cpu_disable:
> arch/x86/kernel/irq.c:337:1: warning: the frame size of 2052 bytes is larger than 2048 bytes
>
> when NR_CPUS=8192
>
> We should use zalloc_cpumask_var() instead.
>
> Signed-off-by: Yinghai Lu <yinghai@xxxxxxxxxx>
> Cc: Prarit Bhargava <prarit@xxxxxxxxxx>
>
> diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
> index dbb6087..b114ee4 100644
> --- a/arch/x86/kernel/irq.c
> +++ b/arch/x86/kernel/irq.c
> @@ -277,11 +277,14 @@ int check_irq_vectors_for_cpu_disable(void)
> unsigned int this_cpu, vector, this_count, count;
> struct irq_desc *desc;
> struct irq_data *data;
> - struct cpumask affinity_new, online_new;
> + cpumask_var_t affinity_new, online_new;
> +
> + zalloc_cpumask_var(&affinity_new, GFP_KERNEL);
> + zalloc_cpumask_var(&online_new, GFP_KERNEL);
>
Hi, Yinghai
The original author Prarit Bhargava had committed a similar
patch and I ever said this function is protected by stop_machine
so GFP_KERNEL is not reliable. It should be GFP_ATOMIC.
Attachment:
signature.asc
Description: Digital signature