Re: [PATCH 2/2] io_uring/nop: use io_find_buf_node()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3/1/25 02:39, Jens Axboe wrote:
On 2/28/25 7:36 PM, Pavel Begunkov wrote:
On 3/1/25 02:21, Jens Axboe wrote:
On 2/28/25 7:15 PM, Pavel Begunkov wrote:
On 3/1/25 01:41, Pavel Begunkov wrote:
On 3/1/25 00:16, Caleb Sander Mateos wrote:
Call io_find_buf_node() to avoid duplicating it in io_nop().

IORING_NOP_FIXED_BUFFER interface looks odd, instead of pretending
to use a buffer, it basically pokes directly into internal infra,
it's not something userspace should be able to do.

Jens, did use it anywhere? It's new, I'd rather kill it or align with
how requests consume buffers, i.e. addr+len, and then do
io_import_reg_buf() instead. That'd break the api though, but would
anyone care?

3rd option is to ignore the flag and let the req succeed.

Honestly what is the problem here? NOP isn't doing anything that
other commands types can't or aren't already. So no, it should stay,

It completely ignores any checking and buffer importing stopping
half way at looking at nodes, the behaviour other requests don't
do. We can also add a request that take a lock and releases it
back because other requests do that as well but as a part of some
useful sequence of actions.

Let's not resort to hyperbole - it's useful to be able to test (and

That's not a hyperbole, it's a direct analogy.

hence quantify) provided buffer usage. I used it while doing the
resource node rework. We also have a NOP opcode to be able to test
generic overhead for that very reason. For testing _io_uring_
infrastructure it was already useful for me. Of course we should not add
random things that test things like lock acquire and release, that's not
the scope of NOP.

Sure you could add import as well, but a) nop doesn't touch the data,
and b) that's largely testing generic kernel infrastructure as well.

The whole point of NOP is to be able to test io_uring infrastructure.

And now we add overhead to test overhead of the very path we
add overhead to, just splendid. It's intrusive, it looks into
guts of infra that can change, and the way not to be intrusive
is to follow the way others use the concept, which is why I'm
suggesting importing the buffer, and that would be another
direct analogy with the pure NOP (w/o flags).

--
Pavel Begunkov





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux