[PATCH v6 0/2] LongArch: KVM: Add DMSINTC support irqchip in kernel

Song Gao posted 2 patches 1 day, 4 hours ago
arch/loongarch/include/asm/kvm_dmsintc.h |  22 +++++
arch/loongarch/include/asm/kvm_host.h    |   8 ++
arch/loongarch/include/uapi/asm/kvm.h    |   4 +
arch/loongarch/kvm/Makefile              |   1 +
arch/loongarch/kvm/intc/dmsintc.c        | 117 +++++++++++++++++++++++
arch/loongarch/kvm/interrupt.c           |   1 +
arch/loongarch/kvm/irqfd.c               |  42 +++++++-
arch/loongarch/kvm/main.c                |   6 ++
arch/loongarch/kvm/vcpu.c                |  58 +++++++++++
include/uapi/linux/kvm.h                 |   2 +
10 files changed, 257 insertions(+), 4 deletions(-)
create mode 100644 arch/loongarch/include/asm/kvm_dmsintc.h
create mode 100644 arch/loongarch/kvm/intc/dmsintc.c
[PATCH v6 0/2] LongArch: KVM: Add DMSINTC support irqchip in kernel
Posted by Song Gao 1 day, 4 hours ago
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%)

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@loongson.cn/

Thanks.
Song Gao

Song Gao (2):
  LongArch: KVM: Add DMSINTC device support
  LongArch: KVM: Add dmsintc inject msi to the dest vcpu

 arch/loongarch/include/asm/kvm_dmsintc.h |  22 +++++
 arch/loongarch/include/asm/kvm_host.h    |   8 ++
 arch/loongarch/include/uapi/asm/kvm.h    |   4 +
 arch/loongarch/kvm/Makefile              |   1 +
 arch/loongarch/kvm/intc/dmsintc.c        | 117 +++++++++++++++++++++++
 arch/loongarch/kvm/interrupt.c           |   1 +
 arch/loongarch/kvm/irqfd.c               |  42 +++++++-
 arch/loongarch/kvm/main.c                |   6 ++
 arch/loongarch/kvm/vcpu.c                |  58 +++++++++++
 include/uapi/linux/kvm.h                 |   2 +
 10 files changed, 257 insertions(+), 4 deletions(-)
 create mode 100644 arch/loongarch/include/asm/kvm_dmsintc.h
 create mode 100644 arch/loongarch/kvm/intc/dmsintc.c

-- 
2.39.3
Re: [PATCH v6 0/2] LongArch: KVM: Add DMSINTC support irqchip in kernel
Posted by Yao Zi 1 day, 2 hours ago
On Fri, Feb 06, 2026 at 09:20:26AM +0800, Song Gao 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%)
> 
> 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@loongson.cn/
> 
> Thanks.
> Song Gao
> 
> Song Gao (2):
>   LongArch: KVM: Add DMSINTC device support
>   LongArch: KVM: Add dmsintc inject msi to the dest vcpu

There's a typo in the titles, it should be LoongArch instead of
"LongArch".

Best regards,
Yao Zi