Changing default module options

Stanislaw Gruszka sgruszka at redhat.com
Tue Mar 23 11:03:14 UTC 2010


On Tue, Mar 23, 2010 at 09:30:10AM +0800, Zhu Yi wrote:
> On Mon, 2010-03-22 at 22:13 +0800, Stanislaw Gruszka wrote:
> > 
> > Changing default options in upstream kernel is problematic. Since
> > 2.6.33 we have different memory allocations to avoid failures due to
> > buddy allocator fragmentation. It is optimized for normal usage case,
> > but with swcrypto when and skb's have to be linearized memory usage by
> > driver increase about 2 times. 
> 
> Have you benchmarked about this change?

No, not really. 

> Before paged Rx skb is used, we
> have to allocate (8K + sizeof(struct skb_shared_info)) linear skb, which
> is an order-2 allocation. Now with paged skb, first we do an order-1
> allocation to hold the packet from device, then skb_linearize (if
> swcrypto is used) the skb. Note, in most of the time, the skb->len will
> be far less than 8K (unless 11n aggregation is used). So normally
> skb_linearize only does an order-1 (or even order-0) allocation in most.
> So in the swcrypto case, the paged Rx patch changes the memory
> allocation from one order-2 into two separated order-1 allocations. It
> should still be an improvement. No?

Ah, ok. So only additional cost with "paged Rx" and swcrypto is a memcpy,
which is theoretically rather small cost compared with doing tx/rx
cryptography in main cpu.
      
So, what about turn on swcrypto by default upstream?

Stanislaw


More information about the kernel mailing list