Date: Mon, 2 Dec 2013 10:12:31 +0400 From: Gleb Smirnoff <glebius@FreeBSD.org> To: Julian Elischer <julian@freebsd.org> Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r258815 - projects/sendfile/sys/kern Message-ID: <20131202061231.GC48919@FreeBSD.org> In-Reply-To: <529BCB70.3000308@freebsd.org> References: <201312012110.rB1LA7MW008020@svn.freebsd.org> <529BCB70.3000308@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Dec 02, 2013 at 07:51:12AM +0800, Julian Elischer wrote: J> On 12/2/13, 5:10 AM, Gleb Smirnoff wrote: J> > Author: glebius J> > Date: Sun Dec 1 21:10:07 2013 J> > J> > Basic performance testing showed no regressions in timing. Number of I/Os J> > decreased comparing to sendfile() from head, but increased compared to J> > previous version of the projects/sendfile. On a sample 300 Mb file: J> > J> > I/Os J> > head 3247 J> > projects/sendfile 680 J> > new code 2826 J> > J> > J> is there planned future work to reduce the number of reads to the same J> order as the previous prototype? J> (i.e. around 1000 or less vs around 3000) I should have noticed that this is 'netstat -m' output, number of sendfile initiated I/Os, not disk statistics. The number of IOs isn't the Graal we are seeking for. Graal is overall performance. Previous version of branch counted VOP_READs. They were large enough, up to the size of the socket buffer. But apparently lower filesystem code split them into smaller. Now we count vm_pager_get_pages(), but amount of pages we pass to it is hinted by vm_pager_has_page(). And the latter hints us about how many pages can it grab with a single disk I/O. -- Totus tuus, Glebius.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131202061231.GC48919>