This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFC: Implement __libc_single_threaded support


On Mon, Feb 04, 2019 at 07:54:09PM +0100, Florian Weimer wrote:
> * Rich Felker:
> 
> > So all your optimization is doing is saving one level of indirection
> > for access from shared libraries. It does not save any expensive setup
> > for PC-relative access on archs where it's expensive.
> 
> That's correct.  I'd like to hear the point of view of architecture
> maintainers on this matter.
> 
> I can prepare a patch using just one variable if someone wants to run
> actual performance measurements.  Other aspects of the complexity will
> remain, though.  I don't think the thread counter should be read
> directly, but rather an infrequently updated variable, as in the current
> patch.  Registration would go away, but the complicated rules for
> updates of the single-threaded indicator in statically linked processes
> which use dlopen would remain.

I don't see how dlopen is involed at all once there's no more per-DSO
data object. The only complexity is synchronization around the change
from 1->0 or 0->1 when threads are created or exit.

Rich


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]