RE: [RFC PATCH 9/9] iov_iter: Add benchmarking kunit tests for UBUF/IOVEC

From: David Laight
Date: Fri Sep 15 2023 - 08:11:29 EST


From: David Howells
> Sent: 15 September 2023 12:23
>
> David Laight <David.Laight@xxxxxxxxxx> wrote:
>
> > > > Some measurements can be made using readv() and writev()
> > > > on /dev/zero and /dev/null.
> > >
> > > Forget /dev/null; that doesn't actually engage any iteration code. The same
> > > for writing to /dev/zero. Reading from /dev/zero does its own iteration thing
> > > rather than using iterate_and_advance(), presumably because it checks for
> > > signals and resched.
> >
> > Using /dev/null does exercise the 'copy iov from user' code.
>
> Ummm.... Not really:

I was thinking of import_iovec() - or whatever its current
name is.

That really needs a single structure that contains the iov_iter
and the cache[] (which the caller pretty much always allocates
in the same place).
Fiddling with that is ok until you find what io_uring does.
Then it all gets entirely horrid.

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)