On Tue, Sep 28, 2010 at 08:24:29PM -0700, Shirley Ma wrote: > Hello Michael, > > On Wed, 2010-09-15 at 07:52 -0700, Shirley Ma wrote: > > > > Don't you think once I address vhost_add_used_and_signal update > > > > issue, it is a simple and complete patch for macvtap TX zero copy? > > > > > > > > Thanks > > > > Shirley > > > > > > I like the fact that the patch is simple. Unfortunately > > > I suspect it'll stop being simple by the time it's complete :) > > > > I can make a try. :) > > I compared several approaches for addressing the issue being raised here > on how/when to update vhost_add_used_and_signal. The simple approach I > have found is: > > 1. Adding completion field in struct virtqueue; > 2. when it is a zero copy packet, put vhost thread wait for completion > to update vhost_add_used_and_signal; > 3. passing vq from vhost to macvtap as skb destruct_arg; > 4. when skb is freed for the last reference, signal vq completion > The test results show same performance as the original patch. How do you > think? If it sounds good to you. I will resubmit this reversion patch. > The patch still keeps as simple as it was before. :) > > Thanks > Shirley If you look at dev_hard_start_xmit you will see a call to skb_orphan_try which often calls the skb destructor. So I suspect this is almost equivalent to your original patch, and has the same correctness issue. -- MST -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html