Re: Dropping NETIF_F_SG since no checksum feature.

Michael S. Tsirkin
2006-10-11T21:43:20Z

Quoting r. Stephen Hemminger <shemminger@osdl.org>:
> Subject: Re: Dropping NETIF_F_SG since no checksum feature.
>
> O
> > >
> > > You might want to try ignoring the check in dev.c and testing
> > > to see if there is a performance gain. It wouldn't be hard to test
> > > a modified version and validate the performance change.
> >
> > Yes. With my patch, there is a huge performance gain by increasing MTU to 64K.
> > And it seems the only way to do this is by S/G.
> >
> > > You could even do what I suggested and use skb_checksum_help()
> > > to do inplace checksumming, as a performance test.
> >
> > I can. But as network algorithmics says (chapter 5)
> > "Since such bus reads are expensive, the CPU might as well piggyback
> > the checksum computation with the copy process".
> >
> > It speaks about onboard the adapter buffers, but memory bus reads are also much slower
> > than CPU nowdays. So I think even if this works well in benchmark in real life
> > single copy should better.
> >
>
> The other alternative might be to make copy/checksum code smarter about using
> fragments rather than allocating a large buffer. It should avoid second order
> allocations (effective size > PAGESIZE).

In my testing, it seems quite smart already - once I declare F_SG and clear F_...CSUM
I start getting properly checksummed packets with lots of s/g fragments.
But I'm not catching the drift - an alternative to what this would be?

--
MST