Re: [patch 3/4] net: Percpufy frequently used variables -- proto.sockets_allocated

From: Ravikiran G Thirumalai
Date: Fri Jan 27 2006 - 14:50:45 EST


On Fri, Jan 27, 2006 at 09:53:53AM +0100, Eric Dumazet wrote:
> Ravikiran G Thirumalai a écrit :
> >Change the atomic_t sockets_allocated member of struct proto to a
> >per-cpu counter.
> >
> >Signed-off-by: Pravin B. Shelar <pravins@xxxxxxxxxxxxxx>
> >Signed-off-by: Ravikiran Thirumalai <kiran@xxxxxxxxxxxx>
> >Signed-off-by: Shai Fultheim <shai@xxxxxxxxxxxx>
> >
> Hi Ravikiran
>
> If I correctly read this patch, I think there is a scalability problem.
>
> On a big SMP machine, read_sockets_allocated() is going to be a real killer.
>
> Say we have 128 Opterons CPUS in a box.

read_sockets_allocated is being invoked when when /proc/net/protocols is read,
which can be assumed as not frequent.
At sk_stream_mem_schedule(), read_sockets_allocated() is invoked only
certain conditions, under memory pressure -- on a large CPU count machine,
you'd have large memory, and I don't think read_sockets_allocated would get
called often. It did not atleast on our 8cpu/16G box. So this should be OK
I think.

There're no 128 CPU Opteron boxes yet afaik ;).

Thanks,
Kiran
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/