lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <8855fc32-3cbf-450f-aca7-ed9d201a57ba@kernel.dk>
Date: Fri, 28 Feb 2025 19:33:16 -0700
From: Jens Axboe <axboe@...nel.dk>
To: Pavel Begunkov <asml.silence@...il.com>,
 Caleb Sander Mateos <csander@...estorage.com>
Cc: io-uring@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] io_uring/rsrc: declare io_find_buf_node() in header
 file

On 2/28/25 7:31 PM, Pavel Begunkov wrote:
> On 3/1/25 02:22, Jens Axboe wrote:
>> On 2/28/25 7:04 PM, Caleb Sander Mateos wrote:
>>> On Fri, Feb 28, 2025 at 5:45?PM Pavel Begunkov <asml.silence@...il.com> wrote:
>>>>
>>>> On 3/1/25 00:16, Caleb Sander Mateos wrote:
>>>>> Declare io_find_buf_node() in io_uring/rsrc.h so it can be called from
>>>>> other files.
>>>>>
>>>>> Signed-off-by: Caleb Sander Mateos <csander@...estorage.com>
>>>>> ---
>>>>>    io_uring/rsrc.c | 4 ++--
>>>>>    io_uring/rsrc.h | 2 ++
>>>>>    2 files changed, 4 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/io_uring/rsrc.c b/io_uring/rsrc.c
>>>>> index 45bfb37bca1e..4c4f57cd77f9 100644
>>>>> --- a/io_uring/rsrc.c
>>>>> +++ b/io_uring/rsrc.c
>>>>> @@ -1066,12 +1066,12 @@ static int io_import_fixed(int ddir, struct iov_iter *iter,
>>>>>        }
>>>>>
>>>>>        return 0;
>>>>>    }
>>>>>
>>>>> -static inline struct io_rsrc_node *io_find_buf_node(struct io_kiocb *req,
>>>>> -                                                 unsigned issue_flags)
>>>>
>>>> That's a hot path, an extra function call wouldn't be great,
>>>> and it's an internal detail as well. Let's better see what we
>>>> can do with the nop situation.
>>>
>>> I can add back inline. With that, there shouldn't be any difference to
>>> the generated instructions for io_import_reg_buf().
>>
>> Yeah, in general I don't like manual inlines, unless it's been proven
>> that the compiler messes it up for some reason. If it's short enough
>> it'll be inlined.
> 
> It will _not_ be inlined in this case.

Hmm ok - I wonder why that is. But if we want to force it to do that,
then we can just re-add the inline for the local definition, that'll be
fine with it still being non-static and available.

-- 
Jens Axboe

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ