This is the mail archive of the
mailing list for the glibc project.
Re: Dummy pthread functions in libc considered harmful
- From: Alexander Monakov <amonakov at ispras dot ru>
- To: Ondřej Bílka <neleai at seznam dot cz>
- Cc: Rich Felker <dalias at libc dot org>, Samuel Thibault <samuel dot thibault at ens-lyon dot org>, Andreas Schwab <schwab at suse dot de>, libc-alpha at sourceware dot org
- Date: Tue, 25 Aug 2015 16:01:20 +0300 (MSK)
- Subject: Re: Dummy pthread functions in libc considered harmful
- Authentication-results: sourceware.org; auth=none
- References: <mvmr3ms4sbj dot fsf at hawking dot suse dot de> <20150824153816 dot GC3210 at type dot bordeaux dot inria dot fr> <20150824162250 dot GD32742 at brightrain dot aerifal dot cx> <20150825125035 dot GA3463 at domone>
On Tue, 25 Aug 2015, Ondřej Bílka wrote:
> As we internally already have SINGLE_THREAD_P optimization we should use
> that optimization for all atomics and locks and get slower path only
> when there is some thread created.
> We could export that variable for gcc to also speed up atomics.
It's not possible to use "current process is single-threaded" predicate to
optimize atomics: they might be operating on shared memory.
(however when libpthread is not linked in, you know that pthread_mutex_lock is
not operating on shared memory: you'd need pthread_mutexattr_setpshared, which
is not provided in libc.so.6)