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

Song Gao posted 2 patches 1 month, 1 week ago
There is a newer version of this series
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        | 116 +++++++++++++++++++++++
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, 256 insertions(+), 4 deletions(-)
create mode 100644 arch/loongarch/include/asm/kvm_dmsintc.h
create mode 100644 arch/loongarch/kvm/intc/dmsintc.c
[PATCH v5 0/2] LongArch: KVM: Add DMSINTC support irqchip in kernel
Posted by Song Gao 1 month, 1 week 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%)

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        | 116 +++++++++++++++++++++++
 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, 256 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