From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rusty Russell Subject: Re: QEMU PIC indirection patch for in-kernel APIC work Date: Mon, 09 Apr 2007 19:46:24 +1000 Message-ID: <1176111984.11664.90.camel@localhost.localdomain> References: <4613B438.60107@codemonkey.ws> <4613B89F.8090806@qumranet.com> <4613BC6B.1070708@codemonkey.ws> <4613BF07.50606@qumranet.com> <4613C993.9020405@codemonkey.ws> <4613CC01.1090500@qumranet.com> <4613CDB2.4000903@codemonkey.ws> <4613D001.3040606@qumranet.com> <20070404200112.GA6070@elte.hu> <4614098F.2030307@us.ibm.com> <20070404212103.GA19026@elte.hu> <1175728768.12230.593.camel@localhost.localdomain> <4614A294.3000607@qumranet.com> <1175821357.12230.642.camel@localhost.localdomain> <46187F4E.1080807@qumranet.com> <1176087018.11664.65.camel@localhost.localdomain> <4619E6DC.3010804@qumranet.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: kvm-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org, netdev To: Avi Kivity Return-path: In-Reply-To: <4619E6DC.3010804-atKUWr5tajBWk0Htik3J/w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Errors-To: kvm-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Id: netdev.vger.kernel.org On Mon, 2007-04-09 at 10:10 +0300, Avi Kivity wrote: > Rusty Russell wrote: > > I'm a little puzzled by your response. Hmm... > > > > lguest's userspace network frontend does exactly as many copies as > > Ingo's in-host-kernel code. One from the Guest, one to the Guest. > > kvm pvnet is suboptimal now. The number of copies could be reduced by > two (to zero), by constructing an skb that points to guest memory. > Right now, this can only be done in-kernel. Sorry, you lost me here. You mean both input and output copies can be eliminated? Or are you talking about another two copies somewhere? But I don't get this "we can enhance the kernel but not userspace" vibe 8( > With current userspace networking interfaces, one cannot build a network > device that has less than one copy on transmit, because sendmsg() *must* > copy the data (as there is no completion notification). Why are you talking about sendmsg()? Perhaps this is where we're getting tangled up. We're dealing with the tun/tap device here, not a socket. > sendfilev(), > even if it existed, cannot be used: it is copyless, but lacks completion > notification. It is useful only on unchanging data like read-only files. Again, sendfile is a *much* harder problem than sending a single packet once, which is the question here. Rusty. ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV