On 2/11/25 2:45 PM, Caleb Sander Mateos wrote: > 8e5b3b89ecaf ("io_uring: remove struct io_tw_state::locked") removed the > only field of io_tw_state but kept it as a task work callback argument > to "forc[e] users not to invoke them carelessly out of a wrong context". > Passing the struct io_tw_state * argument adds a few instructions to all > callers that can't inline the functions and see the argument is unused. > > So pass struct io_tw_state by value instead. Since it's a 0-sized value, > it can be passed without any instructions needed to initialize it. > > Also add a comment to struct io_tw_state to explain its purpose. This is nice, reduces the code generated. It'll conflict with the fix that Pavel posted, but I can just mangle this one once I get the 6.15 branch rebased on top of -rc3. No need to send a v2. -- Jens Axboe