From: Huacai Chen <chenhuacai@kernel.org>
To: Bibo Mao <maobibo@loongson.cn>
Cc: kernel@xen0n.name, kvm@vger.kernel.org,
loongarch@lists.linux.dev, linux-kernel@vger.kernel.org,
kernel test robot <lkp@intel.com>
Subject: Re: [PATCH] LoongArch: KVM: Move some variable declaration to file paravirt.h
Date: Sat, 9 May 2026 22:11:16 +0800 [thread overview]
Message-ID: <CAAhV-H4W4z+BXm_hREk+ZSZzK=9UAOav7itAvD6ohYPy0fAsDg@mail.gmail.com> (raw)
In-Reply-To: <3df8e39d-1692-07d2-222c-a68fbfd6ab5a@loongson.cn>
On Sat, May 9, 2026 at 9:34 AM Bibo Mao <maobibo@loongson.cn> wrote:
>
>
>
> On 2026/5/8 下午9:04, Huacai Chen wrote:
> > On Fri, May 8, 2026 at 11:19 AM Bibo Mao <maobibo@loongson.cn> wrote:
> >>
> >>
> >>
> >> On 2026/5/8 上午11:11, Huacai Chen wrote:
> >>> On Fri, May 8, 2026 at 11:08 AM Bibo Mao <maobibo@loongson.cn> wrote:
> >>>>
> >>>>
> >>>>
> >>>> On 2026/5/8 上午10:56, Huacai Chen wrote:
> >>>>> Hi, Bibo,
> >>>>>
> >>>>> On Fri, May 8, 2026 at 9:30 AM Bibo Mao <maobibo@loongson.cn> 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.
> >>>> yes, I can reproduce this and it is fixed. The warning is reported from
> >>>> sparse tool, rather than LLVM.
> >>>>>
> >>>>> Another question:
> >>>>> Is paravirt.h a better place than kvm_para.h?
> >>>> en, here kvm_para.h seems better, will send V2 version in next time.
> >>> Frankly, I don't know the difference between the two files. kvm_para.h
> >>> is kvm specific and paravirt.h is generic? Or kvm_para.h is the
> >>> hypervisor side and paravirt.h is the guest side?
> >> kvm_para.h is shared by hypervisor and guest kernel, paravirt.h is only
> >> used by guest kernel. And option CONFIG_PARAVIRT is useful with guest
> >> kernel, CONFIG_PARAVIRT has no much meaning with hypervisor.
> > If so, paravirt.h seems better to declare these variables.
> yes, paravirt.h seems better than kvm_para.h :)
Applied, thanks.
Huacai
>
> Regards
> Bibo Mao
> >
> > Huacai
> >
> >>
> >> Regards
> >> Bibo Mao
> >>>
> >>> Huacai
> >>>
> >>>>
> >>>> Regards
> >>>> Bibo Mao
> >>>>
> >>>>>
> >>>>> Huacai
> >>>>>
> >>>>>>
> >>>>>> Fixes: c43dce6f13fb ("LoongArch: KVM: Make vcpu_is_preempted() as a macro rather than function")
> >>>>>> Reported-by: kernel test robot <lkp@intel.com>
> >>>>>> Closes: https://lore.kernel.org/oe-kbuild-all/202605061313.O8Hswm2b-lkp@intel.com/
> >>>>>> Signed-off-by: Bibo Mao <maobibo@loongson.cn>
> >>>>>> ---
> >>>>>> 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
> >>>>>>
> >>>>
> >>
>
>
prev parent reply other threads:[~2026-05-09 14:11 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-08 1:30 [PATCH] LoongArch: KVM: Move some variable declaration to file paravirt.h Bibo Mao
2026-05-08 2:56 ` Huacai Chen
2026-05-08 3:05 ` Bibo Mao
2026-05-08 3:11 ` Huacai Chen
2026-05-08 3:16 ` Bibo Mao
2026-05-08 13:04 ` Huacai Chen
2026-05-09 1:31 ` Bibo Mao
2026-05-09 14:11 ` Huacai Chen [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAAhV-H4W4z+BXm_hREk+ZSZzK=9UAOav7itAvD6ohYPy0fAsDg@mail.gmail.com' \
--to=chenhuacai@kernel.org \
--cc=kernel@xen0n.name \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lkp@intel.com \
--cc=loongarch@lists.linux.dev \
--cc=maobibo@loongson.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).