David Laight <david.lai...@aculab.com> wrote:

> > Add kunit tests to benchmark 256MiB copies to a UBUF iterator and an IOVEC
> > iterator.  This attaches a userspace VM with a mapped file in it
> > temporarily to the test thread.
> 
> Isn't that going to be completely dominated by the cache fills
> from memory?

Yes...  but it should be consistent in the amount of time that consumes since
no device drivers are involved.  I can try adding the same folio to the
anon_file multiple times - it might work especially if I don't put the pages
on the LRU (if that's even possible) - but I wanted separate pages for the
extraction test.

> I'd have thought you'd need to use something with a lot of
> small fragments so that the iteration code dominates the copy.

That would actually be a separate benchmark case which I should try also.

> 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.

David

Reply via email to