On 12/1/25 9:40 AM, Jan Beulich wrote:
On 28.11.2025 17:23, Oleksii Kurochko wrote:
The vcpu_kick() declaration is duplicated across multiple
architecture-specific event.h headers (ARM, x86, PPC).
Remove the redundant declarations and move vcpu_kick() into
the common xen/include/xen/sched.h header.
Drop the definition of vcpu_kick() from ppc/include/asm/event.h,
as it is already provided in ppc/stubs.c.
Add inclusion of xen/sched.h in the files where vcpu_kick() is
used.
Signed-off-by: Oleksii Kurochko <[email protected]>
Acked-by: Jan Beulich <[email protected]>
Thanks.
albeit preferably with at least ...
--- a/xen/arch/x86/cpu/mcheck/vmce.c
+++ b/xen/arch/x86/cpu/mcheck/vmce.c
@@ -12,6 +12,7 @@
#include <xen/event.h>
#include <xen/kernel.h>
#include <xen/delay.h>
+#include <xen/sched.h>
#include <xen/smp.h>
#include <xen/mm.h>
#include <asm/hvm/save.h>
... this change omitted. This file includes the private "mce.h", which in turn
includes xen/sched.h.
--- a/xen/arch/x86/pv/traps.c
+++ b/xen/arch/x86/pv/traps.c
@@ -10,6 +10,7 @@
#include <xen/event.h>
#include <xen/hypercall.h>
#include <xen/lib.h>
+#include <xen/sched.h>
#include <xen/softirq.h>
Somewhat similarly here, xen/event.h includes xen/sched.h. That's less obviously
guaranteed, though, so making the include explicit here is likely okay.
I am generally okay with not adding what is probably an unnecessary new header
inclusion, but it is unclear to me why we should avoid including a header just
because it is already included by another one. In other words, if one day
someone
removes "xen/sched.h" from "mce.h", is it acceptable for this to result in a
compilation error? How do we decide when such an error is acceptable and when
it is not?
Should the default behavior be that if header X is already included indirectly
through other headers, there is no need to include header X directly?
~ Oleksii