Date: Sat, 20 May 2017 17:32:01 +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: r318582 - in head/lib: libc/gen libc/include libthr/thread Message-ID: <201705201732.v4KHW1Pc029064@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: vangyzen Date: Sat May 20 17:32:01 2017 New Revision: 318582 URL: https://svnweb.freebsd.org/changeset/base/318582 Log: Remove old spinlock_debug code from libc This no longer seems useful. Remove it. This was prompted by a "cast discards volatile qualifier" warning in libthr when WARNS=6. Reviewed by: kib MFC after: 3 days Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D10832 Modified: head/lib/libc/gen/Symbol.map head/lib/libc/gen/_spinlock_stub.c head/lib/libc/include/spinlock.h head/lib/libthr/thread/thr_init.c head/lib/libthr/thread/thr_spinlock.c Modified: head/lib/libc/gen/Symbol.map ============================================================================== --- head/lib/libc/gen/Symbol.map Sat May 20 17:30:48 2017 (r318581) +++ head/lib/libc/gen/Symbol.map Sat May 20 17:32:01 2017 (r318582) @@ -485,7 +485,6 @@ FBSDprivate_1.0 { _pthread_sigmask; _pthread_testcancel; _spinlock; - _spinlock_debug; _spinunlock; _rtld_addr_phdr; _rtld_atfork_pre; Modified: head/lib/libc/gen/_spinlock_stub.c ============================================================================== --- head/lib/libc/gen/_spinlock_stub.c Sat May 20 17:30:48 2017 (r318581) +++ head/lib/libc/gen/_spinlock_stub.c Sat May 20 17:32:01 2017 (r318582) @@ -38,7 +38,6 @@ __FBSDID("$FreeBSD$"); long _atomic_lock_stub(volatile long *); void _spinlock_stub(spinlock_t *); void _spinunlock_stub(spinlock_t *); -void _spinlock_debug_stub(spinlock_t *, char *, int); __weak_reference(_atomic_lock_stub, _atomic_lock); @@ -48,7 +47,6 @@ _atomic_lock_stub(volatile long *lck __u return (0L); } -__weak_reference(_spinlock, _spinlock_debug); #pragma weak _spinlock void _spinlock(spinlock_t *lck) Modified: head/lib/libc/include/spinlock.h ============================================================================== --- head/lib/libc/include/spinlock.h Sat May 20 17:30:48 2017 (r318581) +++ head/lib/libc/include/spinlock.h Sat May 20 17:32:01 2017 (r318582) @@ -41,21 +41,17 @@ * Lock structure with room for debugging information. */ struct _spinlock { - volatile long access_lock; - volatile long lock_owner; - volatile char *fname; - volatile int lineno; + long spare1; + long spare2; + void *thr_extra; + int spare3; }; typedef struct _spinlock spinlock_t; #define _SPINLOCK_INITIALIZER { 0, 0, 0, 0 } #define _SPINUNLOCK(_lck) _spinunlock(_lck); -#ifdef _LOCK_DEBUG -#define _SPINLOCK(_lck) _spinlock_debug(_lck, __FILE__, __LINE__) -#else #define _SPINLOCK(_lck) _spinlock(_lck) -#endif /* * Thread function prototype definitions: @@ -64,7 +60,6 @@ __BEGIN_DECLS long _atomic_lock(volatile long *); void _spinlock(spinlock_t *); void _spinunlock(spinlock_t *); -void _spinlock_debug(spinlock_t *, char *, int); __END_DECLS #endif /* _SPINLOCK_H_ */ Modified: head/lib/libthr/thread/thr_init.c ============================================================================== --- head/lib/libthr/thread/thr_init.c Sat May 20 17:30:48 2017 (r318581) +++ head/lib/libthr/thread/thr_init.c Sat May 20 17:32:01 2017 (r318582) @@ -173,7 +173,6 @@ STATIC_LIB_REQUIRE(_sigtimedwait); STATIC_LIB_REQUIRE(_sigwait); STATIC_LIB_REQUIRE(_sigwaitinfo); STATIC_LIB_REQUIRE(_spinlock); -STATIC_LIB_REQUIRE(_spinlock_debug); STATIC_LIB_REQUIRE(_spinunlock); STATIC_LIB_REQUIRE(_thread_init_hack); Modified: head/lib/libthr/thread/thr_spinlock.c ============================================================================== --- head/lib/libthr/thread/thr_spinlock.c Sat May 20 17:30:48 2017 (r318581) +++ head/lib/libthr/thread/thr_spinlock.c Sat May 20 17:32:01 2017 (r318582) @@ -65,7 +65,7 @@ __thr_spinunlock(spinlock_t *lck) { struct spinlock_extra *_extra; - _extra = (struct spinlock_extra *)lck->fname; + _extra = lck->thr_extra; THR_UMUTEX_UNLOCK(_get_curthread(), &_extra->lock); } @@ -78,9 +78,9 @@ __thr_spinlock(spinlock_t *lck) PANIC("Spinlock called when not threaded."); if (!initialized) PANIC("Spinlocks not initialized."); - if (lck->fname == NULL) + if (lck->thr_extra == NULL) init_spinlock(lck); - _extra = (struct spinlock_extra *)lck->fname; + _extra = lck->thr_extra; THR_UMUTEX_LOCK(_get_curthread(), &_extra->lock); } @@ -90,14 +90,14 @@ init_spinlock(spinlock_t *lck) struct pthread *curthread = _get_curthread(); THR_UMUTEX_LOCK(curthread, &spinlock_static_lock); - if ((lck->fname == NULL) && (spinlock_count < MAX_SPINLOCKS)) { - lck->fname = (char *)&extra[spinlock_count]; + if ((lck->thr_extra == NULL) && (spinlock_count < MAX_SPINLOCKS)) { + lck->thr_extra = &extra[spinlock_count]; _thr_umutex_init(&extra[spinlock_count].lock); extra[spinlock_count].owner = lck; spinlock_count++; } THR_UMUTEX_UNLOCK(curthread, &spinlock_static_lock); - if (lck->fname == NULL) + if (lck->thr_extra == NULL) PANIC("Warning: exceeded max spinlocks"); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201705201732.v4KHW1Pc029064>