Subject: Re: [PATCH net-next] virtio_net: migrate mergeable rx buffers to page frag allocators

From: "Michael S. Tsirkin" <[email-masked]>
Date: Tue, 29 Oct 2013 21:17:34 +0200

On Tue, Oct 29, 2013 at 12:05:27PM -0700, Michael Dalton wrote:
> Agreed Eric, the buffer size should be increased so that we can accommodate a
> MTU-sized packet + mergeable virtio net header in a single buffer. I will send
> a patch to fix shortly cleaning up the #define headers as Rusty indicated and
> increasing the buffer size slightly by VirtioNet header size bytes per Eric.
> 
> Jason, I'll followup with you directly - I'd like to know your exact workload
> (single steam or multi-stream netperf?), VM configuration, etc, and also see if
> the nit that Erichas pointed out affects your results.  It is also
> worth noting that
> we may want to tune the queue sizes for your benchmarks, e.g, by reducing
> buffer size from 4KB to MTU-sized but keeping queue length constant, we're
> implicitly decreasing the number of bytes stored in the VirtioQueue for the
> VirtioNet device, so increasing the queue size may help.
> 
> Best,
> 
> Mike

Well we have 256 descriptors per queue, each descriptor is 16 bytes
already and they have to be physically contigious.
I don't think we can easily increase the queue size much more without
risking memory allocation failures on busy systems.

I guess one approach is to do something like:
	 if (queue size > 1024)
		 use small buffers
	 else
		 use 4K buffers.

That would reduce the risk of regressions for existing users.

-- 
MST