Re: [PATCH v9 0/2] LoongArch: KVM: Add DMSINTC support irqchip in kernel

From: Huacai Chen

Date: Tue Apr 07 2026 - 08:35:38 EST


Hi, Song,

On Thu, Apr 2, 2026 at 9:08 PM Song Gao <gaosong@xxxxxxxxxxx> wrote:
>
> Hi,
>
> This series implements the DMSINTC in-kernel irqchip device,
> enables irqfd to deliver MSI to DMSINTC, and supports injecting MSI interrupts
> to the target vCPU.
> applied this series. use netperf test.
> VM with one CPU and start netserver, host run netperf.
> disable dmsintc
> taskset 0x2f netperf -H 192.168.122.204 -t UDP_RR -l 36000
> Local /Remote
> Socket Size Request Resp. Elapsed Trans.
> Send Recv Size Size Time Rate
> bytes Bytes bytes bytes secs. per sec
>
> 212992 212992 1 1 36000.00 27107.36
>
> enable dmsintc
> Local /Remote
> Socket Size Request Resp. Elapsed Trans.
> Send Recv Size Size Time Rate
> bytes Bytes bytes bytes secs. per sec
>
> 212992 212992 1 1 36000.00 28831.14 (+6.3%)
>
> v9:
> *Correct the incorrect parameter type and remove the function prefix;
> *Fix a boundary value check.
It seems your V9 is changed from V7 rather than V8, why?

Huacai

>
> v8:
> *Move dmsintc_inject_irq(),dmsintc_deliver_msi_to_vcpu()and
> dmsintc_set_msi_irq to dmsintc.c.
> *Rebase.
>
> v7:
> *Rebase;
> *Fix a typo error;
> *Drop an extra space;
> *Move some code from patch2 to patch1.
> *Rename loongarch_dmsintc_inject_irq() to dmsintc_inject_irq() and move
> it to interrupt.c;
> *Rename kvm_loongarch_deliver_msi_to_vcpu() to
> dmsintc_deliver_msi_to_vcpu() and move it to irqfd.c;
> *Drop loongarch_set_msi() and dispatch the dmsintc/eiointc
> paths in pch_msi_set_irq().
>
> v6:
> Fix kvm_device leak in kvm_dmsintc_destroy().
>
> v5:
> Combine patch2 and patch3
> Add check msgint feature when register DMSINT device.
>
> V4: Rebase and R-b;
> replace DINTC to DMSINTC.
>
> V3: Fix kvm_arch_set_irq_inatomic() missing dmsintc set msi.(patch3)
>
> V2:
> https://patchew.org/linux/20251128091125.2720148-1-gaosong@xxxxxxxxxxx/
>
> Thanks.
> Song Gao
>
>
> Song Gao (2):
> LoongArch: KVM: Add DMSINTC device support
> LoongArch: KVM: Add dmsintc inject msi to the dest vcpu
>
> arch/loongarch/include/asm/kvm_dmsintc.h | 23 +++++
> arch/loongarch/include/asm/kvm_host.h | 3 +
> arch/loongarch/include/asm/kvm_pch_pic.h | 4 +-
> arch/loongarch/include/uapi/asm/kvm.h | 4 +
> arch/loongarch/kvm/Makefile | 1 +
> arch/loongarch/kvm/intc/dmsintc.c | 117 +++++++++++++++++++++++
> arch/loongarch/kvm/intc/pch_pic.c | 15 ++-
> arch/loongarch/kvm/interrupt.c | 37 +++++++
> arch/loongarch/kvm/irqfd.c | 48 ++++++++--
> arch/loongarch/kvm/main.c | 6 ++
> include/uapi/linux/kvm.h | 2 +
> 11 files changed, 251 insertions(+), 9 deletions(-)
> create mode 100644 arch/loongarch/include/asm/kvm_dmsintc.h
> create mode 100644 arch/loongarch/kvm/intc/dmsintc.c
>
> --
> 2.39.3
>