On 6/1/21 5:01 PM, Jens Axboe wrote: > On 6/1/21 9:58 AM, Pavel Begunkov wrote: >> On 6/1/21 4:45 PM, Jens Axboe wrote: >>> On 6/1/21 8:58 AM, Pavel Begunkov wrote: >>>> Add futex wait requests, those always go through io-wq for simplicity. >>> >>> Not a huge fan of that, I think this should tap into the waitqueue >>> instead and just rely on the wakeup callback to trigger the event. That >>> would be a lot more efficient than punting to io-wq, both in terms of >>> latency on trigger, but also for efficiency if the app is waiting on a >>> lot of futexes. >> >> Yes, that would be preferable, but looks futexes don't use >> waitqueues but some manual enqueuing into a plist_node, see >> futex_wait_queue_me() or mark_wake_futex(). >> Did I miss it somewhere? > > Yes, we'd need to augment that with a callback. I do think that's going Yeah, that was the first idea, but it's also more intrusive for the futex codebase. Can be piled on top for next revision of patches. A question to futex maintainers, how much resistance to merging something like that I may expect? > to be necessary, I don't see the io-wq solution working well outside of > the most basic of use cases. And even for that, it won't be particularly > efficient for single waits. -- Pavel Begunkov