Subject: Re: Proposed linux kernel changes : scaling tcp/ip stack

From: Andi Kleen <[email-masked]>
Date: Wed, 16 Jun 2010 11:10:07 +0200

Mitchell Erblich <[email-masked]> writes:
>
> Summary: Don't use last free pages for TCP ACKs with GFP_ATOMIC for our
> sk buf allocs. 1 line change in tcp_output.c with a new gfp.h arg, and a change
> in the generic kernel. TBD.
>
> This change should have no effect with normal available kernel mem allocs.
>
> Assuming memory pressure ( WAITING for clean memory) we should be allocating
> our last pages for input skbufs and not for xmit allocs.

How about you instrument a kernel and measure if this really happens
frequently under reasonable loads?  That is you can probably
use the existing dropped page counters in netstat 
Stephen added some time ago.

Since soft irqs cannot really wait exhausted GFP_ATOMIC would normally
lead to dropped packets. FWIW I am not aware of any serious dropped
packets problem on normal loads.

Running a kernel with nearly zero free memory is dangerous anyways
-- pretty much any kernel service can fail arbitarily --
if this happened frequently I suspect we would need generic
VM solution for it.

-Andi

-- 
[email-masked] -- Speaking for myself only.