Re: [Patch] statistics infrastructure - update 10

From: Martin Peschke
Date: Wed Jul 12 2006 - 12:43:28 EST


On Wed, 2006-07-12 at 09:10 -0700, Andrew Morton wrote:
> On Wed, 12 Jul 2006 14:27:39 +0200
> Martin Peschke <mp3@xxxxxxxxxx> wrote:
>
> > +#define statistic_ptr(stat, cpu) \
> > + ((struct percpu_data*)((stat)->data))->ptrs[(cpu)]
>
> This would be the only part of the kernel which uses percpu_data directly -
> everything else uses the APIs (ie: per_cpu_ptr()). How come?

The API, i.e. per_cpu_ptr(), doesn't allow to assign a value to any of
the pointers in struct percpu_data. I need that capability because I
make use of cpu hotplug notifications to fix per-cpu data at run time.
With regard to memory footprint this is much more efficient than using
alloc_percpu().

Is it be preferable to add something like set_per_cpu_ptr() to the API?

-
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/