Subject: [PATCH 0/4] NET : struct proto diet

From: Eric Dumazet <[email-masked]>
Date: Mon, 05 Nov 2007 18:52:32 +0100

Hi

After reading David's machines have NR_CPUS set to 4096, I realized how 
fat was 'struct proto', since it uses a stats[NR_CPUS] field to keep 
track of inuse sockets per protocol.

With NR_CPUS = 4096, this means we allocate 4096*SMP_CACHE_BYTES bytes 
per 'struct proto'.
As these structures are static (data section of kernel), this grows data 
kernel section by 256 KB per protocol.

This patch series does some cleanup and optimization.

[PATCH 1/4] NET : defines an infrastructure to keep 'inuse' changes in 
an efficent SMP/NUMA way.
[PATCH 2/4] NET : makes ipv4 use the  {DEFINE|REF}_PROTO_INUSE 
infrastructure
[PATCH 3/4] NET : makes ipv6 use the  {DEFINE|REF}_PROTO_INUSE 
infrastructure
[PATCH 4/4] NET : makes sctp use the  {DEFINE|REF}_PROTO_INUSE 
infrastructure

Thank you
Eric