On Thu, Feb 12, 2015 at 06:23:12PM +0000, Andrew Haley wrote: > On 02/12/2015 04:16 PM, Rich Felker wrote: > > On Thu, Feb 12, 2015 at 05:11:45PM +0100, Jakub Jelinek wrote: > >> On Thu, Feb 12, 2015 at 11:09:59AM -0500, Rich Felker wrote: > >>> > >>> This usage is supposed to be deprecated. Why isn't libgomp using > >>> TLSDESC/gnu2 model? > >> > >> Because it is significantly slower. > > > > Seems very unlikely. If storage is allocated in static TLS, TLSDESC is > > almost indistinguishable from IE in performance, even when you run > > artificial benchmarks that do nothing but hammer TLS access. When it > > gets allocated in dynamic TLS, it's somewhat slower, but still > > unlikely to matter for most usage IMO. > > The problem I'm seeing is that dynamic TLS is always used even when not > necessary, and that hurts Java (which accesses TLS 128k times in the first > 500ms or so of execution). According to lxo his patch fixes that.
Given those numbers, each access would need to be taking 38ns to consume even 1% of the cpu time being spent. I would guess accesses are closer to 5ns for TLSDESC in static area and 10-15ns for dynamic. So I don't think this is a botteneck. Rich