svn commit: r258815 - projects/sendfile/sys/kern

Gleb Smirnoff glebius at FreeBSD.org
Mon Dec 2 06:12:35 UTC 2013


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.


More information about the svn-src-projects mailing list