Re: [PATCH] LoongArch: KVM: Move some variable declaration to file paravirt.h

From: Huacai Chen

Date: Thu May 07 2026 - 22:56:56 EST


Hi, Bibo,

On Fri, May 8, 2026 at 9:30 AM Bibo Mao <maobibo@xxxxxxxxxxx> wrote:
>
> Some variables relative with paravirt feature are declared in header file
> asm/qspinlock.h, however this file can be included only when option
> CONFIG_SMP is on. There is compiling warning if CONFIG_SMP is off since
> it is not declared.
>
> Move these variable declaration to header file asm/paravirt.h to avoid
> compiling warning.
Have you reproduced the warning? I cannot reproduce it in my
environment with the config file from lkp report, so I also cannot
confirm whether it is fixed.

Another question:
Is paravirt.h a better place than kvm_para.h?

Huacai

>
> Fixes: c43dce6f13fb ("LoongArch: KVM: Make vcpu_is_preempted() as a macro rather than function")
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Closes: https://lore.kernel.org/oe-kbuild-all/202605061313.O8Hswm2b-lkp@xxxxxxxxx/
> Signed-off-by: Bibo Mao <maobibo@xxxxxxxxxxx>
> ---
> arch/loongarch/include/asm/paravirt.h | 4 ++++
> arch/loongarch/include/asm/qspinlock.h | 5 +----
> 2 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/arch/loongarch/include/asm/paravirt.h b/arch/loongarch/include/asm/paravirt.h
> index 0111f0ad5f73..dbc64908017f 100644
> --- a/arch/loongarch/include/asm/paravirt.h
> +++ b/arch/loongarch/include/asm/paravirt.h
> @@ -3,6 +3,10 @@
> #define _ASM_LOONGARCH_PARAVIRT_H
>
> #ifdef CONFIG_PARAVIRT
> +#include <linux/jump_label.h>
> +DECLARE_STATIC_KEY_FALSE(virt_preempt_key);
> +DECLARE_STATIC_KEY_FALSE(virt_spin_lock_key);
> +DECLARE_PER_CPU(struct kvm_steal_time, steal_time);
>
> int __init pv_ipi_init(void);
> int __init pv_time_init(void);
> diff --git a/arch/loongarch/include/asm/qspinlock.h b/arch/loongarch/include/asm/qspinlock.h
> index 0ee15b3b3937..fbfc6be82f26 100644
> --- a/arch/loongarch/include/asm/qspinlock.h
> +++ b/arch/loongarch/include/asm/qspinlock.h
> @@ -3,12 +3,9 @@
> #define _ASM_LOONGARCH_QSPINLOCK_H
>
> #include <asm/kvm_para.h>
> -#include <linux/jump_label.h>
> +#include <asm/paravirt.h>
>
> #ifdef CONFIG_PARAVIRT
> -DECLARE_STATIC_KEY_FALSE(virt_preempt_key);
> -DECLARE_STATIC_KEY_FALSE(virt_spin_lock_key);
> -DECLARE_PER_CPU(struct kvm_steal_time, steal_time);
>
> #define virt_spin_lock virt_spin_lock
>
>
> base-commit: 74fe02ce122a6103f207d29fafc8b3a53de6abaf
> --
> 2.39.3
>