On 10/25/20 10:24 AM, Pavel Begunkov wrote: > On 25/10/2020 15:53, Jens Axboe wrote: >> On 10/25/20 8:26 AM, Pavel Begunkov wrote: >>> io_poll_double_wake() is called for both: poll requests and as apoll >>> (internal poll to make rw and other requests), hence when it calls >>> __io_async_wake() it should use a right callback depending on the >>> current poll type. >> >> Can we do something like this instead? Untested... > > It should work, but looks less comprehensible. Though, it'll need Not sure I agree, with a comment it'd be nicer imho: /* call appropriate handler for this request type */ poll->wait.func(wait, mode, sync, key); instead of having to manually dig at the opcode to figure out which one to use. -- Jens Axboe