Re: [PATCH 13/12] mpic: add affinity callback for IPI "chip"

Benjamin Herrenschmidt
2007-02-08T21:14:12Z

On Thu, 2007-02-08 at 14:16 +0100, Johannes Berg wrote:
> This patch adds a dummy affinity callback for the IPI "chip" to avoid
> getting a warning ("Cannot set affinity for irq 251") when taking a
> CPU offline via sysfs or during suspend.

Wouldn't be a better option to make sure they have IRQF_PERCPU set and
that we don't do the affinity thing on interrupts with that flag when
offlining a CPU ?

Ben.

> Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
>
> --- linux-2.6-git.orig/arch/powerpc/sysdev/mpic.c 2007-02-08 00:19:46.105926568 +0100
> +++ linux-2.6-git/arch/powerpc/sysdev/mpic.c 2007-02-08 00:22:31.810926568 +0100
> @@ -700,6 +700,12 @@ static void mpic_end_ipi(unsigned int ir
> mpic_eoi(mpic);
> }
>
> +static void mpic_set_ipi_affinity(unsigned int irq, cpumask_t cpumask)
> +{
> + /* we can't set affinity but also don't need to since we only
> + * send IPIs to online CPUs */
> +}
> +
> #endif /* CONFIG_SMP */
>
> static void mpic_set_affinity(unsigned int irq, cpumask_t cpumask)
> @@ -788,6 +794,7 @@ static struct irq_chip mpic_ipi_chip = {
> .mask = mpic_mask_ipi,
> .unmask = mpic_unmask_ipi,
> .eoi = mpic_end_ipi,
> + .set_affinity = mpic_set_ipi_affinity,
> };
> #endif /* CONFIG_SMP */
>