On 06.02.2026 17:36, Oleksii Kurochko wrote: > > On 1/22/26 5:47 PM, Oleksii Kurochko wrote: >> Add a RISC-V implementation of vcpu_kick(), which unblocks the target >> vCPU and sends an event check IPI if the vCPU was running on another >> processor. This mirrors the behavior of Arm and enables proper vCPU >> wakeup handling on RISC-V. >> >> Remove the stub implementation from stubs.c, as it is now provided by >> arch/riscv/domain.c. >> >> Signed-off-by: Oleksii Kurochko <[email protected]> >> Acked-by: Jan Beulich <[email protected]> >> --- >> Changes in v2: >> - Add Acked-by: Jan Beulich <[email protected]>. >> --- >> xen/arch/riscv/domain.c | 14 ++++++++++++++ >> xen/arch/riscv/stubs.c | 5 ----- >> 2 files changed, 14 insertions(+), 5 deletions(-) >> >> diff --git a/xen/arch/riscv/domain.c b/xen/arch/riscv/domain.c >> index e38c0db62cac..13ac384c4b76 100644 >> --- a/xen/arch/riscv/domain.c >> +++ b/xen/arch/riscv/domain.c >> @@ -1,8 +1,10 @@ >> /* SPDX-License-Identifier: GPL-2.0-only */ >> >> +#include <xen/cpumask.h> >> #include <xen/init.h> >> #include <xen/mm.h> >> #include <xen/sched.h> >> +#include <xen/smp.h> >> #include <xen/vmap.h> >> >> #include <asm/bitops.h> >> @@ -240,3 +242,15 @@ void vcpu_sync_interrupts(struct vcpu *v) >> # error "Update vsieh" >> #endif >> } >> + >> +void vcpu_kick(struct vcpu *v) >> +{ >> + bool running = v->is_running; >> + >> + vcpu_unblock(v); >> + if ( running && v != current ) >> + { >> + perfc_incr(vcpu_kick); > > Because of this it is needed to introduce: > PERFCOUNTER(vcpu_kick, "vcpu: notify other vcpu") > Otherwise randconfig build will fail when CONFIG_PERF_COUNTERS=y. > > I would like to ask if it would be okay to add it xen/include/xen/perfc_defn.h > just after PERFCOUNTER(need_flush_tlb_flush,...) or would it be better to have > it in arch specific perfc_defn.h?
Arch-specific please - it's not used by x86 nor ppc. Jan
