Thread (29 messages) 29 messages, 7 authors, 2016-04-07

Re: [RFC PATCH v6 1/5] Thread-local ABI system call: cache CPU number of running thread

flat view

From: Peter Zijlstra <hidden>
Date: 2016-04-07 11:20:04
Also in: lkml

On Thu, Apr 07, 2016 at 12:39:21PM +0200, Florian Weimer wrote:
On 04/07/2016 12:31 PM, Peter Zijlstra wrote:
quoted
On Thu, Apr 07, 2016 at 11:01:25AM +0200, Florian Weimer wrote:
quoted
quoted
Because ideally this structure would be part of the initial (glibc) TCB
with fixed offset etc.
This is not possible because we have layering violations and code
assumes it knows the precise of the glibc TCB.  I think Address
Sanitizer is in this category.  This means we cannot adjust the TCB size
based on the kernel headers used to compile glibc, and there will have
to be some indirection.
So with the proposed fixed sized object it would work, right?
I didn't see a proposal for a fixed size buffer, in the sense that the
size of struct sockaddr_in is fixed.
This thing proposed a single 64byte structure (with the possibility of
eventually adding more 64byte structures). Basically:

struct tlabi {
	union {
		__u8[64] __foo;
		struct {
			/* fields go here */
		};
	};
} __aligned__(64);

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help