On Fri, 16 May 2025 16:07:26 -0700, Sean Christopherson wrote: > The two primary goals of this series are to make the irqbypass concept > easier to understand, and to address the terrible performance that can > result from using a list to track connections. > > For the first goal, track the producer/consumer "tokens" as eventfd context > pointers instead of opaque "void *". Supporting arbitrary token types was > dead infrastructure when it was added 10 years ago, and nothing has changed > since. Taking an opaque token makes a very simple concept (device signals > eventfd; KVM listens to eventfd) unnecessarily difficult to understand. > > [...]
Applied to kvm-x86 irqs, thanks! [1/8] irqbypass: Drop pointless and misleading THIS_MODULE get/put https://github.com/kvm-x86/linux/commit/fa079a0616ed [2/8] irqbypass: Drop superfluous might_sleep() annotations https://github.com/kvm-x86/linux/commit/07fbc83c0152 [3/8] irqbypass: Take ownership of producer/consumer token tracking https://github.com/kvm-x86/linux/commit/2b521d86ee80 [4/8] irqbypass: Explicitly track producer and consumer bindings https://github.com/kvm-x86/linux/commit/add57f493e08 [5/8] irqbypass: Use paired consumer/producer to disconnect during unregister https://github.com/kvm-x86/linux/commit/5d7dbdce388b [6/8] irqbypass: Use guard(mutex) in lieu of manual lock+unlock https://github.com/kvm-x86/linux/commit/46a4bfd0ae48 [7/8] irqbypass: Use xarray to track producers and consumers https://github.com/kvm-x86/linux/commit/8394b32faecd [8/8] irqbypass: Require producers to pass in Linux IRQ number during registration https://github.com/kvm-x86/linux/commit/23b54381cee2 -- https://github.com/kvm-x86/kvm-unit-tests/tree/next