[openib-general] Dropping NETIF_F_SG since no checksum feature.

Michael S. Tsirkin mst at mellanox.co.il
Wed Oct 11 14:42:37 PDT 2006


Quoting r. Stephen Hemminger <shemminger at 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




More information about the general mailing list