Re: [linus:master] [iov_iter] c9eec08bac: vm-scalability.throughput -16.9% regression

From: Linus Torvalds
Date: Fri Nov 17 2023 - 11:44:34 EST


On Fri, 17 Nov 2023 at 11:32, Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> The test case seems to be (from the profile) just a simple

Just to clarify: that's the test robot test case. David's test-case is
just the simple KUnit test.

> do_iter_readv_writev ->
> shmem_file_write_iter ->
> generic_perform_write ->
> copy_page_from_iter_atomic ->
> memcpy_from_iter_mc

.. and more details: this is *not* the actual normal "write()" path,
which would copy memory from user space, and that uses our
"copy_user()" function etc.

No, the path leading up to this seems to be

worker_thread ->
process_one_work ->
loop_process_work ->
lo_write_simple ->
do_iter_write

which is why it uses a regular memcpy (ie it's a kernel buffer due to
loop block device).

So the test robot load is kind of odd.

Not that I think that David's KUnit test is necessarily much of a real
load either. so...

Linus