Thread (20 messages) 20 messages, 3 authors, 2010-11-04

Re: [RFC PATCH 1/1] vhost: TX used buffer guest signal accumulation

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2010-10-29 08:10:39
Also in: kvm, lkml

On Thu, Oct 28, 2010 at 10:14:22AM -0700, Shirley Ma wrote:
quoted
Two ideas:
1. How about writing out used, just delaying the signal?
   This way we don't have to queue separately.
This improves some performance, but not as good as delaying
both used and signal. Since delaying used buffers combining
multiple small copies to a large copy, which saves more CPU
utilization and increased some BW.
Hmm. I don't yet understand. We are still doing copies into the per-vq
buffer, and the data copied is really small.  Is it about cache line
bounces?  Could you try figuring it out?
quoted
2. How about flushing out queued stuff before we exit
   the handle_tx loop? That would address most of
   the spec issue. 
The performance is almost as same as the previous patch. I will resubmit
the modified one, adding vhost_add_used_and_signal_n after handle_tx
loop for processing pending queue.

This patch was a part of modified macvtap zero copy which I haven't
submitted yet. I found this helped vhost TX in general. This pending
queue will be used by DMA done later, so I put it in vq instead of a
local variable in handle_tx.

Thanks
Shirley
BTW why do we need another array? Isn't heads field exactly what we need
here?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help