Messages in this thread | | | Date | Wed, 01 Apr 2009 17:53:42 +0900 | From | Tejun Heo <> | Subject | Re: [GIT RFC] percpu: use dynamic percpu allocator as the default percpu allocator |
| |
Hello, Martin.
Martin Schwidefsky wrote: > Yes, @GOTENT is a relocation against the GOT slot that contains the > address of the symbol. It is a special version of @GOT that uses larl > to locate the got slot directly without the need of a got base pointer. > > The code sequence with @GOT: > > larl %r12,_GLOBAL_OFFSET_TABLE_ > lg %r1,symbol@GOT(%r12) > > is equivalent to: > > larl %r1,symbol@GOTENT > lg %r1,0(%r1) > > The advantage of the second code sequence is that it need a single > register and the size of the GOT is not limited to 4K as in the first > example (the offset in an RX format instruction is limited to 12 bits - > but that is probably something you don't want to know ;-).
Maybe we can build indirection pointer manually by twiddling with DEFINE_PER_CPU() in such a way that it doesn't have to distinguish symbols and variables?
-- tejun
| |