[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20081105.040943.03609283.davem@davemloft.net>
Date: Wed, 05 Nov 2008 04:09:43 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: ilpo.jarvinen@...sinki.fi
Cc: zbr@...emap.net, netdev@...r.kernel.org, efault@....de,
mingo@...e.hu, a.p.zijlstra@...llo.nl, herbert@...dor.apana.org.au
Subject: Re: tbench wrt. loopback TSO
From: "Ilpo Järvinen" <ilpo.jarvinen@...sinki.fi>
Date: Wed, 5 Nov 2008 14:04:14 +0200 (EET)
> On Wed, 5 Nov 2008, David Miller wrote:
>
> > From: Evgeniy Polyakov <zbr@...emap.net>
> > Date: Wed, 5 Nov 2008 14:49:00 +0300
> >
> > > But what if we just remove that trimming at all? This may result in
> > > a not fully filled tso frame, but who cares if we copy data from
> > > userspace anyway, will add another potentially small copy at sending
> > > time?
> >
> > Ok, the only part I care about is whether taking away this modulus
> > will result in a sub-MSS sized packet on the wire, which is
> > undesirable.
> >
> > The send logic will prevent this, right?
>
> I don't see what currently would do that. We'd need to resegment skbs
> there then...
Look at tcp_mss_split_point() in tcp_output.c
I think it ends up doing exactly this.
'needed' is set to min(skb->len, window)
and the return value is "needed - (needed % mss_now)"
The caller splits up the TSO segment as needed to satisfy this
returned limit.
That should effectively chop off the sub-mss part.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists