Re: [PATCH] percpu: add optimized generic percpu accessors

From: Stephen Hemminger
Date: Wed Jan 21 2009 - 07:46:17 EST


On Wed, 21 Jan 2009 03:21:23 -0800
ebiederm@xxxxxxxxxxxx (Eric W. Biederman) wrote:

> Tejun Heo <tj@xxxxxxxxxx> writes:
>
> > Ingo Molnar wrote:
> >> The larger point still remains: the kernel dominantly uses static percpu
> >> variables by a margin of 10 to 1, so we cannot just brush away the static
> >> percpu variables and must concentrate on optimizing that side with
> >> priority. It's nice if the dynamic percpu-alloc side improves as well, of
> >> course.
> >
> > Well, the infrequent usage of dynamic percpu allocation is in some
> > part due to the poor implementation, so it's sort of chicken and egg
> > problem. I got into this percpu thing because I wanted a percpu
> > reference count which can be dynamically allocated and it sucked.
>
> Counters are our other special case, and counters are interesting
> because they are individually very small. I just looked and the vast
> majority of the alloc_percpu users are counters.
>
> I just did a rough count in include/linux/snmp.h and I came
> up with 171*2 counters. At 8 bytes per counter that is roughly
> 2.7K. Or about two thirds of a 4K page.

This is crap. only a small fraction of these SNMP counters are
close enough to the hot path to deserve per-cpu treatment.
--
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/