This is a note to let you know that I've just added the patch titled

    xen/events: fix setting irq affinity

to the 4.14-stable tree which can be found at:
    
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     xen-events-fix-setting-irq-affinity.patch
and it can be found in the queue-4.14 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <sta...@vger.kernel.org> know about it.


>From jgr...@suse.com  Thu Apr 15 15:56:08 2021
From: Juergen Gross <jgr...@suse.com>
Date: Mon, 12 Apr 2021 08:28:45 +0200
Subject: xen/events: fix setting irq affinity
To: sta...@vger.kernel.org
Cc: Juergen Gross <jgr...@suse.com>, Boris Ostrovsky 
<boris.ostrov...@oracle.com>, Stefano Stabellini <sstabell...@kernel.org>, 
xen-devel@lists.xenproject.org
Message-ID: <20210412062845.13946-1-jgr...@suse.com>

From: Juergen Gross <jgr...@suse.com>

The backport of upstream patch 25da4618af240fbec61 ("xen/events: don't
unmask an event channel when an eoi is pending") introduced a
regression for stable kernels 5.10 and older: setting IRQ affinity for
IRQs related to interdomain events would no longer work, as moving the
IRQ to its new cpu was not included in the irq_ack callback for those
events.

Fix that by adding the needed call.

Note that kernels 5.11 and later don't need the explicit moving of the
IRQ to the target cpu in the irq_ack callback, due to a rework of the
affinity setting in kernel 5.11.

Signed-off-by: Juergen Gross <jgr...@suse.com>
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>

---
 drivers/xen/events/events_base.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -1782,7 +1782,7 @@ static void lateeoi_ack_dynirq(struct ir
 
        if (VALID_EVTCHN(evtchn)) {
                do_mask(info, EVT_MASK_REASON_EOI_PENDING);
-               event_handler_exit(info);
+               ack_dynirq(data);
        }
 }
 
@@ -1793,7 +1793,7 @@ static void lateeoi_mask_ack_dynirq(stru
 
        if (VALID_EVTCHN(evtchn)) {
                do_mask(info, EVT_MASK_REASON_EXPLICIT);
-               event_handler_exit(info);
+               ack_dynirq(data);
        }
 }
 


Patches currently in stable-queue which might be from jgr...@suse.com are

queue-4.14/xen-events-fix-setting-irq-affinity.patch

Reply via email to