Skip site navigation (1)Skip section navigation (2)
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>