Re: [GIT RFC] percpu: use dynamic percpu allocator as the default percpu allocator

Tejun Heo
2009-04-09T11:55:58Z

Hello, Ivan.

Ivan Kokshaysky wrote:
>> it seems like if two different files happen to use static percpu
>> variables with the same name, they would end up sharing it, right?
>> That looks a tad bit dangerous.
>
> True. One of possible solutions is to add another dummy variable,
> like this:
>
> #define DEFINE_PER_CPU_SECTION(type, name, section) \
> __attribute__((__section__(".discard"), __unused__)) \
> char __dummy__##name; \
> + __attribute__((__section__(".discard"))) \
> + char __per_cpu_multiple_def__##name; \
> __attribute__((__section__(PER_CPU_BASE_SECTION section))) \
> __weak __typeof__(type) per_cpu__##name
>
> so in that situation we'll get a link failure.

Hmmm... yeah, I agree not allowing common static names is the lesser
poison here. It's generally a good idea to use uniquely
distinguisible identifier for static symbols anyway to help debugging.
If this limitation is acceptable, I think we should also add the dup
build failure thing to the generic definition too tho so that such
cases can be discovered before they hit alpha and s390 later.

Any objections?

Thanks.

--
tejun