Subject: Re: tbench wrt. loopback TSO

From: David Miller <[email-masked]>
Date: Mon, 27 Oct 2008 12:37:17 -0700 (PDT)

From: Evgeniy Polyakov <[email-masked]>
Date: Mon, 27 Oct 2008 22:35:02 +0300

> On Mon, Oct 27, 2008 at 11:39:04AM -0700, David Miller ([email-masked]) wrote:
> > One idea immediately occurs to me.  Since we're effectively limited
> > to a 64K TSO frame, and the MSS is some value smaller than that, we
> > can probably get away with a reciprocol divide.  Even using a 16-bit
> > inverse value would suffice, so we wouldn't need to use u64's like
> > some other pieces of code do.  A u32 would be enough.
> 
> But why do we need to trim that last bytes at the first place at all?
> Is it just enough to 'binary and' with 0xffff? Or is it what you mean? :)

We need to trim because we want to send full sized frames onto the
network, and those trailing bytes will make sub-MSS sized frame
instead of coalescing with the next round of user sendmsg() data.