Messages in this thread | | | Date | Thu, 7 Apr 2016 14:25:28 +0200 | From | Peter Zijlstra <> | Subject | Re: [RFC PATCH v6 1/5] Thread-local ABI system call: cache CPU number of running thread |
| |
On Thu, Apr 07, 2016 at 02:03:53PM +0200, Florian Weimer wrote: > > struct tlabi { > > union { > > __u8[64] __foo; > > struct { > > /* fields go here */ > > }; > > }; > > } __aligned__(64); > > That's not really “fixed size” as far as an ABI is concerned, due to the > possibility of future extensions.
sizeof(struct tlabi) is always the same, right? How is that not fixed?
> > People objected against the fixed size scheme, but it being possible to > > get a fixed TCB offset and reduce indirections is a big win IMO. > > It's a difficult trade-off. It's not an indirection as such, it's avoid > loading the dynamic TLS offset.
What we _want_ is being able to use %[gf]s:offset and have it work (I forever forget which segment register userspace TLS uses).
> Let me repeat that the ELF TLS GNU ABI has very limited support for > static offsets at present, and it is difficult to make them available > more widely without code generation at run time (in the form of text > relocations, but still).
Do you have a pointer to something I can read? Because I'm clearly not understanding the full issue here.
| |