On Tue, May 20, 2025, Peter Zijlstra wrote: > On Mon, May 19, 2025 at 11:55:10AM -0700, Sean Christopherson wrote: > > Drop the setting of WQ_FLAG_EXCLUSIVE from add_wait_queue_priority() to > > differentiate it from add_wait_queue_priority_exclusive(). The one and > > only user add_wait_queue_priority(), Xen privcmd's irqfd_wakeup(), > > unconditionally returns '0', i.e. doesn't actually operate in exclusive > > mode. > > I find: > > drivers/hv/mshv_eventfd.c: add_wait_queue_priority(wqh, &irqfd->irqfd_wait); > drivers/xen/privcmd.c: add_wait_queue_priority(wqh, &kirqfd->wait); > > I mean, it might still be true and all, but hyperv seems to also use > this now. Oh FFS, another "heavily inspired by KVM". I should have bribed someone to take this series when I had the chance. *sigh* Unfortunately, the Hyper-V code does actually operate in exclusive mode. Unless you have a better idea, I'll tweak the series to: 1. Drop WQ_FLAG_EXCLUSIVE from add_wait_queue_priority() and have the callers explicitly set the flag, 2. Add a patch to drop WQ_FLAG_EXCLUSIVE from Xen privcmd entirely. 3. Introduce add_wait_queue_priority_exclusive() and switch KVM to use it. That has an added bonus of introducing the Xen change in a dedicated patch, i.e. is probably a sequence anyways. Alternatively, I could rewrite the Hyper-V code a la the KVM changes, but I'm not feeling very charitable at the moment (the complete lack of documentation for their ioctl doesn't help).