From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751727Ab0IOFda (ORCPT ); Wed, 15 Sep 2010 01:33:30 -0400 Received: from mx1.redhat.com ([209.132.183.28]:21922 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750774Ab0IOFd3 (ORCPT ); Wed, 15 Sep 2010 01:33:29 -0400 Date: Wed, 15 Sep 2010 07:27:24 +0200 From: "Michael S. Tsirkin" To: Shirley Ma Cc: "Xin, Xiaohui" , Avi Kivity , David Miller , "arnd@arndb.de" , "netdev@vger.kernel.org" , "kvm@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [RFC PATCH 2/2] macvtap: TX zero copy between guest and host kernel Message-ID: <20100915052724.GA25481@redhat.com> References: <1284410580.13351.10.camel@localhost.localdomain> <1284410883.13351.14.camel@localhost.localdomain> <20100913.201730.27805132.davem@davemloft.net> <4C8F3C77.7010302@redhat.com> <1284476719.13351.35.camel@localhost.localdomain> <1284518452.13351.111.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1284518452.13351.111.camel@localhost.localdomain> User-Agent: Mutt/1.5.20 (2009-12-10) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Sep 14, 2010 at 07:40:52PM -0700, Shirley Ma wrote: > On Wed, 2010-09-15 at 09:50 +0800, Xin, Xiaohui wrote: > > I think what David said is what we have thought before in mp device. > > Since we are not sure the exact time the tx buffer was wrote though > > DMA operation. > > But the deadline is when the tx buffer was freed. So we only notify > > the vhost stuff > > about the write when tx buffer freed. But the deadline is maybe too > > late for performance. > > Have you tried it? If so what's the performance penalty you have seen by > notifying vhost when tx buffer freed? > > I am thinking to have a callback in skb destructor, > vhost_add_used_and_signal gets updated when skb is actually freed, vhost > vq & head need to be passed to the callback. This might requires vhost > ring size is at least as big as the lower device driver. > > Thanks > Shirley For some of the issues, try following the discussion around net: af_packet: don't call tpacket_destruct_skb() until the skb is sent out. Summary: it's difficult to do correctly generally. Limiting ourselves to transmit on specific devices might make it possible. -- MST