Module Name: src Committed By: bouyer Date: Sat Apr 18 20:36:31 UTC 2020
Modified Files: src/sys/arch/xen/xen [bouyer-xenpvh]: evtchn.c Log Message: If we get an event for another CPU just ignore it. The hypervisor will callback on the other CPU anyway. To generate a diff of this commit: cvs rdiff -u -r1.88.2.5 -r1.88.2.6 src/sys/arch/xen/xen/evtchn.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/xen/xen/evtchn.c diff -u src/sys/arch/xen/xen/evtchn.c:1.88.2.5 src/sys/arch/xen/xen/evtchn.c:1.88.2.6 --- src/sys/arch/xen/xen/evtchn.c:1.88.2.5 Sat Apr 18 15:06:18 2020 +++ src/sys/arch/xen/xen/evtchn.c Sat Apr 18 20:36:31 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: evtchn.c,v 1.88.2.5 2020/04/18 15:06:18 bouyer Exp $ */ +/* $NetBSD: evtchn.c,v 1.88.2.6 2020/04/18 20:36:31 bouyer Exp $ */ /* * Copyright (c) 2006 Manuel Bouyer. @@ -54,7 +54,7 @@ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: evtchn.c,v 1.88.2.5 2020/04/18 15:06:18 bouyer Exp $"); +__KERNEL_RCSID(0, "$NetBSD: evtchn.c,v 1.88.2.6 2020/04/18 20:36:31 bouyer Exp $"); #include "opt_xen.h" #include "isa.h" @@ -341,15 +341,14 @@ evtchn_do_event(int evtch, struct intrfr } KASSERTMSG(evtsource[evtch] != NULL, "unknown event %d", evtch); + + if (evtsource[evtch]->ev_cpu != ci) + return 0; + ci->ci_data.cpu_nintr++; evtsource[evtch]->ev_evcnt.ev_count++; ilevel = ci->ci_ilevel; - if (evtsource[evtch]->ev_cpu != ci /* XXX: get stats */) { - hypervisor_send_event(evtsource[evtch]->ev_cpu, evtch); - return 0; - } - if (evtsource[evtch]->ev_maxlevel <= ilevel) { #ifdef IRQ_DEBUG if (evtch == IRQ_DEBUG)