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

Tejun Heo
2009-03-20T02:37:33Z

Hello, Martin.

Sorry about the delay.

Martin Schwidefsky wrote:
> We do have a problem with #2, the dynamic percpu patches currently
> breaks s390. But the nice thing is that we can now get rid of the GOTENT
> relocation for the percpu symbols. If the code is changed to use
> RELOC_HIDE for the SHIFT_PERCPU_PTR define, everything works just fine.
> Patch attached. Nice works guys.
>
> Subject: [PATCH] s390: percpu access.
>
> From: Martin Schwidefsky <schwidefsky@de.ibm.com>
>
> With the dynamic percpu allocator there is no need anymore to play
> tricks with the GOTENT relocation for the access to the percpu
> symbols. A simple RELOC_HIDE gets the job done.

Hmm... I don't quite get it. The GOTENT was to work around large
offsets for modules, right? Can you please explain what changed by
the dynamic percpu allocator?

> +#define SHIFT_PERCPU_PTR(var, offset) RELOC_HIDE(&per_cpu_var(var), (offset))

Hmm... @var already has per_cpu__ prefix when the above macro is
invoked, so doing per_cpu_var() on it again wouldn't work. If simple
RELOC_HIDE works, you should be able to simply drop the above
definition. The generic percpu.h will define it.

Thanks.

--
tejun