8.1-STABLE: zfs and sendfile: problem still exists

Artemiev Igor ai at kliksys.ru
Fri Oct 29 15:25:51 UTC 2010


On Fri, Oct 29, 2010 at 05:41:59PM +0300, Andriy Gapon wrote:

> What svn revision of FreeBSD source tree did you test?

r213936. Revision seems a little old.

> Ah, I think I see what's going on.
> Either sendfile should (have an option to) use VOP_GETPAGES to request data or ZFS
> mappedread should use vm_grab_page instead of vm_lookup_page for UIO_NOCOPY case.
> Currently ZFS would read a whole FS block into ARC, but populate only one page
> with data and for the rest it would just wastefully do uiomove(UIO_NOCOPY) from
> ARC data.
> So, e.g. zpool iostat would show that there are only few actual reads from a pool.
>  The rest of the time must be spent churning over the data already in ARC and
> doing page-per-VOP_READ copies from it.
I can test it, but what allocflags? VM_ALLOC_RETRY|VM_ALLOC_NORMAL?


More information about the freebsd-fs mailing list