Thread (11 messages) 11 messages, 3 authors, 2012-09-05

Re: [PATCH v3 2/2] virtio-ring: Allocate indirect buffers from cache when possible

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2012-09-04 18:40:07
Also in: kvm, lkml

On Tue, Sep 04, 2012 at 07:34:19PM +0300, Avi Kivity wrote:
On 08/31/2012 12:56 PM, Michael S. Tsirkin wrote:
quoted
On Fri, Aug 31, 2012 at 11:36:07AM +0200, Sasha Levin wrote:
quoted
On 08/30/2012 03:38 PM, Michael S. Tsirkin wrote:
quoted
quoted
+static unsigned int indirect_alloc_thresh = 16;
Why 16?  Please make is MAX_SG + 1 this makes some sense.
Wouldn't MAX_SG mean we always allocate from the cache? Isn't the memory waste
too big in this case?
Sorry. I really meant MAX_SKB_FRAGS + 1. MAX_SKB_FRAGS is 17 so gets us
threshold of 18. It is less than the size of an skb+shinfo itself so -
does it look too big to you? Also why do you think 16 is not too big but
18 is?  If there's a reason then I am fine with 16 too but then please
put it in code comment near where the value is set.

Yes this means virtio net always allocates from cache
but this is a good thing, isn't it? Gets us more consistent
performance.
kmalloc() also goes to a cache.  Is there a measurable difference?
Yes see 0/2 and followup discussion.
Ugh, there's an ugly loop in __find_general_cachep(), which really wants
to be replaced with fls().

-- 
error compiling committee.c: too many arguments to function
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help