Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'for-linus-5.13b-rc8-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip

Pull xen fix from Juergen Gross:
"A fix for a regression introduced in 5.12: when migrating an irq
related to a Xen user event to another cpu, a race might result
in a WARN() triggering"

* tag 'for-linus-5.13b-rc8-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
xen/events: reset active flag for lateeoi events later

+10 -1
+10 -1
drivers/xen/events/events_base.c
··· 642 642 } 643 643 644 644 info->eoi_time = 0; 645 + 646 + /* is_active hasn't been reset yet, do it now. */ 647 + smp_store_release(&info->is_active, 0); 645 648 do_unmask(info, EVT_MASK_REASON_EOI_PENDING); 646 649 } 647 650 ··· 814 811 BUG(); 815 812 } 816 813 814 + /* Not called for lateeoi events. */ 817 815 static void event_handler_exit(struct irq_info *info) 818 816 { 819 817 smp_store_release(&info->is_active, 0); ··· 1887 1883 1888 1884 if (VALID_EVTCHN(evtchn)) { 1889 1885 do_mask(info, EVT_MASK_REASON_EOI_PENDING); 1890 - event_handler_exit(info); 1886 + /* 1887 + * Don't call event_handler_exit(). 1888 + * Need to keep is_active non-zero in order to ignore re-raised 1889 + * events after cpu affinity changes while a lateeoi is pending. 1890 + */ 1891 + clear_evtchn(evtchn); 1891 1892 } 1892 1893 } 1893 1894