From: Thomas Gleixner Date: Mon, 19 Jun 2017 23:37:45 +0000 (+0200) Subject: xen/events: Add support for effective affinity mask X-Git-Tag: v4.13~448^2~23 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=ef1c2cc88531a967fa97d1ac1f3f8a64ee6910b4;p=mirror_ubuntu-artful-kernel.git xen/events: Add support for effective affinity mask Update the effective affinity mask when an interrupt was successfully targeted to a CPU. Signed-off-by: Thomas Gleixner Cc: Jens Axboe Cc: Marc Zyngier Cc: Michael Ellerman Cc: Keith Busch Cc: Peter Zijlstra Cc: Christoph Hellwig Link: http://lkml.kernel.org/r/20170619235446.799944725@linutronix.de --- diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c index b52852f38cff..2e567d8433b3 100644 --- a/drivers/xen/events/events_base.c +++ b/drivers/xen/events/events_base.c @@ -1343,8 +1343,12 @@ static int set_affinity_irq(struct irq_data *data, const struct cpumask *dest, bool force) { unsigned tcpu = cpumask_first_and(dest, cpu_online_mask); + int ret = rebind_irq_to_cpu(data->irq, tcpu); - return rebind_irq_to_cpu(data->irq, tcpu); + if (!ret) + irq_data_update_effective_affinity(data, cpumask_of(tcpu)); + + return ret; } static void enable_dynirq(struct irq_data *data)