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 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. -- Jens Axboe