Messages in this thread | | | Date | Wed, 25 Mar 2009 23:14:04 +0900 | From | Tejun Heo <> | Subject | Re: [GIT RFC] percpu: use dynamic percpu allocator as the default percpu allocator |
| |
Martin Schwidefsky wrote: > On Wed, 25 Mar 2009 20:51:31 +0900 > Tejun Heo <tj@kernel.org> wrote: > >>> With your patches and a RELOC_HIDE version that uses the GOTENT >>> indirection the kernel won't compile because the "X" constraint for >>> the GOTENT access needs a symbol and there are quite a few users that >>> pass a pointer. I do not see a simple solution for that problem yet. >> Ah... okay. Now I get it. It wasn't expecting variables there. How >> about doing the following? >> >> #define SHIFT_PERCPU_PTR(ptr, offset) (({ \ >> if (__builtin_constant_p(ptr)) \ >> do GOTENT trick; \ >> else \ >> RELOC_HIDE(); \ >> })) > > That doesn't work because __builtin_constant_p is false for variable > symbols. I would need a __builtin_symbol_p but that doesn't exist.
Right, I somehow always get confused about the two. Eh... Not easy. I think alpha might have the same problem too. I suppose we'll have to make the legacy allocator available for alpha and s390 for the time being. I'll get to that.
Thanks.
-- tejun
| |