Date: Fri, 30 Nov 2018 03:01:33 +0000 (UTC) From: Eric van Gyzen <vangyzen@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r341277 - head/lib/libthr/thread Message-ID: <201811300301.wAU31X5o056547@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: vangyzen Date: Fri Nov 30 03:01:32 2018 New Revision: 341277 URL: https://svnweb.freebsd.org/changeset/base/341277 Log: _thr_setthreaded() cannot fail; change return type to void Also remove logic to avoid unnecessary stores to the global variable. Thread creation and destruction are heavy enough that any supposed savings is in the noise. MFC after: 2 weeks Sponsored by: Dell EMC Isilon Modified: head/lib/libthr/thread/thr_create.c head/lib/libthr/thread/thr_kern.c head/lib/libthr/thread/thr_private.h Modified: head/lib/libthr/thread/thr_create.c ============================================================================== --- head/lib/libthr/thread/thr_create.c Fri Nov 30 02:14:41 2018 (r341276) +++ head/lib/libthr/thread/thr_create.c Fri Nov 30 03:01:32 2018 (r341277) @@ -73,8 +73,7 @@ _pthread_create(pthread_t * __restrict thread, */ if (_thr_isthreaded() == 0) { _malloc_first_thread(); - if (_thr_setthreaded(1)) - return (EAGAIN); + _thr_setthreaded(1); } curthread = _get_curthread(); Modified: head/lib/libthr/thread/thr_kern.c ============================================================================== --- head/lib/libthr/thread/thr_kern.c Fri Nov 30 02:14:41 2018 (r341276) +++ head/lib/libthr/thread/thr_kern.c Fri Nov 30 03:01:32 2018 (r341277) @@ -53,14 +53,10 @@ static struct wake_addr default_wake_addr; * This is called when the first thread (other than the initial * thread) is created. */ -int +void _thr_setthreaded(int threaded) { - if (((threaded == 0) ^ (__isthreaded == 0)) == 0) - return (0); - __isthreaded = threaded; - return (0); } void Modified: head/lib/libthr/thread/thr_private.h ============================================================================== --- head/lib/libthr/thread/thr_private.h Fri Nov 30 02:14:41 2018 (r341276) +++ head/lib/libthr/thread/thr_private.h Fri Nov 30 03:01:32 2018 (r341277) @@ -776,7 +776,7 @@ extern struct pthread *_single_thread __hidden; * Function prototype definitions. */ __BEGIN_DECLS -int _thr_setthreaded(int) __hidden; +void _thr_setthreaded(int) __hidden; int _mutex_cv_lock(struct pthread_mutex *, int, bool) __hidden; int _mutex_cv_unlock(struct pthread_mutex *, int *, int *) __hidden; int _mutex_cv_attach(struct pthread_mutex *, int) __hidden;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201811300301.wAU31X5o056547>