[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b478f8fd-d43b-429c-aa6c-1b94951421ab@gmail.com>
Date: Wed, 12 Feb 2025 14:49:17 +0000
From: Pavel Begunkov <asml.silence@...il.com>
To: Jens Axboe <axboe@...nel.dk>,
Caleb Sander Mateos <csander@...estorage.com>
Cc: io-uring@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] io_uring: pass struct io_tw_state by value
On 2/12/25 14:33, Jens Axboe wrote:
> 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.
Hold on this one, we're better to adjust the patch, I'll
follow up later today.
--
Pavel Begunkov
Powered by blists - more mailing lists