[v2,0/2] KVM: irqbypass: XArray conversion and a deref fix

Message ID 20230802051700.52321-1-likexu@tencent.com
Headers
Series KVM: irqbypass: XArray conversion and a deref fix |

Message

Like Xu Aug. 2, 2023, 5:16 a.m. UTC
  Hi,

When VMM(s) simultaneously create a large number of irqfds and register
their irqfds in the global consumers list, the global mutex contention
exponentially increases the average wait latency, which is no longer
tolerable on modern systems with a large number of CPU cores.

The patch set is intended to reduce this source of latency by
converting producers/consumers single linked list to XArray.

Please feel free to run more tests and share comments to move forward.

V1 -> V2 Changelog:
- Send the prerequisite fix as a series; (Alex W.)
- Keep producer and consumer connected and tracked; (Alex W.)
V1:
https://lore.kernel.org/kvm/20230801115646.33990-1-likexu@tencent.com/
https://lore.kernel.org/kvm/20230801085408.69597-1-likexu@tencent.com/

Like Xu (2):
  KVM: eventfd: Fix NULL deref irqbypass producer
  KVM: irqbypass: Convert producers/consumers linked list to
    XArray

 include/linux/irqbypass.h |   8 +--
 virt/lib/irqbypass.c      | 127 +++++++++++++++++++-------------------
 2 files changed, 63 insertions(+), 72 deletions(-)


base-commit: 5a7591176c47cce363c1eed704241e5d1c42c5a6