Subject: Re: CVS commit: src/sys/arch/xen/xen
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: source-changes
Date: 10/03/2005 22:47:59
On Tue, Oct 04, 2005 at 12:10:20AM +0900, YAMAMOTO Takashi wrote:
> > > - as you defer ack until xennetback_tx_free and the mbuf can live ~forever,
> > >   you can capture all buffers.
> > >   (i think that linux netback has the same problem.)
> > 
> > I wondered about this. Can the kernel really grab a mbuf forever ? For
> > which reason ?
> 
> eg. when an application never read from the socket.

Well, I tried to create the problem and couldn't. It seems that the
mbufs gets copied somewhere in the network stack (or maybe at the
socket layer). The mbufs received from the guest are marked read-only
(we can't assume that the guest won't need these data once we're done with
it). So I'm not sure this problem can happen in practice in this path.

Something else that could cause TX buffers to stall is if mbufs gets
routed/bridged to a slow network adapter. So implementing the 'copy last
buffer' policy is still worth it.

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
     NetBSD: 26 ans d'experience feront toujours la difference
--