Module Name: src Committed By: ad Date: Sat Jan 25 21:45:00 UTC 2020
Modified Files: src/sys/kern [ad-namecache]: kern_rwlock.c kern_synch.c src/sys/rump/include/rump [ad-namecache]: rump_namei.h src/sys/sys [ad-namecache]: rwlock.h Log Message: Remove unintentional differences to base. To generate a diff of this commit: cvs rdiff -u -r1.59.2.4 -r1.59.2.5 src/sys/kern/kern_rwlock.c cvs rdiff -u -r1.334.2.3 -r1.334.2.4 src/sys/kern/kern_synch.c cvs rdiff -u -r1.37.2.3 -r1.37.2.4 src/sys/rump/include/rump/rump_namei.h cvs rdiff -u -r1.12.2.2 -r1.12.2.3 src/sys/sys/rwlock.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/kern/kern_rwlock.c diff -u src/sys/kern/kern_rwlock.c:1.59.2.4 src/sys/kern/kern_rwlock.c:1.59.2.5 --- src/sys/kern/kern_rwlock.c:1.59.2.4 Wed Jan 22 11:40:17 2020 +++ src/sys/kern/kern_rwlock.c Sat Jan 25 21:45:00 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_rwlock.c,v 1.59.2.4 2020/01/22 11:40:17 ad Exp $ */ +/* $NetBSD: kern_rwlock.c,v 1.59.2.5 2020/01/25 21:45:00 ad Exp $ */ /*- * Copyright (c) 2002, 2006, 2007, 2008, 2009, 2019, 2020 @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_rwlock.c,v 1.59.2.4 2020/01/22 11:40:17 ad Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_rwlock.c,v 1.59.2.5 2020/01/25 21:45:00 ad Exp $"); #include "opt_lockdebug.h" @@ -206,15 +206,10 @@ void _rw_init(krwlock_t *rw, uintptr_t return_address) { -#ifdef LOCKDEBUG - /* XXX only because the assembly stubs can't handle RW_NODEBUG */ if (LOCKDEBUG_ALLOC(rw, &rwlock_lockops, return_address)) rw->rw_owner = 0; else rw->rw_owner = RW_NODEBUG; -#else - rw->rw_owner = 0; -#endif } void @@ -650,7 +645,7 @@ rw_downgrade(krwlock_t *rw) RW_ASSERT(rw, (rw->rw_owner & RW_HAS_WAITERS) != 0); newown = owner & RW_NODEBUG; - newown |= RW_READ_INCR | RW_HAS_WAITERS | + newown = RW_READ_INCR | RW_HAS_WAITERS | RW_WRITE_WANTED; next = rw_cas(rw, owner, newown); turnstile_exit(rw); @@ -792,26 +787,3 @@ rw_owner(wchan_t obj) return (void *)(owner & RW_THREAD); } - -/* - * rw_owner_running: - * - * Return true if a RW lock is unheld, or write held and the owner is - * running on a CPU. For the pagedaemon. - */ -bool -rw_owner_running(const krwlock_t *rw) -{ -#ifdef MULTIPROCESSOR - uintptr_t owner; - bool rv; - - kpreempt_disable(); - owner = rw->rw_owner; - rv = (owner & RW_THREAD) == 0 || rw_oncpu(owner); - kpreempt_enable(); - return rv; -#else - return rw_owner(rw) == curlwp; -#endif -} Index: src/sys/kern/kern_synch.c diff -u src/sys/kern/kern_synch.c:1.334.2.3 src/sys/kern/kern_synch.c:1.334.2.4 --- src/sys/kern/kern_synch.c:1.334.2.3 Thu Jan 23 12:17:08 2020 +++ src/sys/kern/kern_synch.c Sat Jan 25 21:45:00 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: kern_synch.c,v 1.334.2.3 2020/01/23 12:17:08 ad Exp $ */ +/* $NetBSD: kern_synch.c,v 1.334.2.4 2020/01/25 21:45:00 ad Exp $ */ /*- * Copyright (c) 1999, 2000, 2004, 2006, 2007, 2008, 2009, 2019 @@ -69,7 +69,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: kern_synch.c,v 1.334.2.3 2020/01/23 12:17:08 ad Exp $"); +__KERNEL_RCSID(0, "$NetBSD: kern_synch.c,v 1.334.2.4 2020/01/25 21:45:00 ad Exp $"); #include "opt_kstack.h" #include "opt_dtrace.h" @@ -83,7 +83,6 @@ __KERNEL_RCSID(0, "$NetBSD: kern_synch.c #include <sys/cpu.h> #include <sys/pserialize.h> #include <sys/resourcevar.h> -#include <sys/rwlock.h> #include <sys/sched.h> #include <sys/syscall_stats.h> #include <sys/sleepq.h> Index: src/sys/rump/include/rump/rump_namei.h diff -u src/sys/rump/include/rump/rump_namei.h:1.37.2.3 src/sys/rump/include/rump/rump_namei.h:1.37.2.4 --- src/sys/rump/include/rump/rump_namei.h:1.37.2.3 Fri Jan 17 21:47:36 2020 +++ src/sys/rump/include/rump/rump_namei.h Sat Jan 25 21:45:00 2020 @@ -1,11 +1,11 @@ -/* $NetBSD: rump_namei.h,v 1.37.2.3 2020/01/17 21:47:36 ad Exp $ */ +/* $NetBSD: rump_namei.h,v 1.37.2.4 2020/01/25 21:45:00 ad Exp $ */ /* * WARNING: GENERATED FILE. DO NOT EDIT * (edit namei.src and run make namei in src/sys/sys) * by: NetBSD: gennameih.awk,v 1.5 2009/12/23 14:17:19 pooka Exp - * from: NetBSD: namei.src,v 1.47.2.3 2020/01/14 11:07:40 ad Exp + * from: NetBSD: namei.src,v 1.48 2020/01/08 12:04:56 ad Exp */ #ifndef _RUMP_RUMP_NAMEI_H_ Index: src/sys/sys/rwlock.h diff -u src/sys/sys/rwlock.h:1.12.2.2 src/sys/sys/rwlock.h:1.12.2.3 --- src/sys/sys/rwlock.h:1.12.2.2 Wed Jan 22 11:40:17 2020 +++ src/sys/sys/rwlock.h Sat Jan 25 21:45:00 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: rwlock.h,v 1.12.2.2 2020/01/22 11:40:17 ad Exp $ */ +/* $NetBSD: rwlock.h,v 1.12.2.3 2020/01/25 21:45:00 ad Exp $ */ /*- * Copyright (c) 2002, 2006, 2007, 2008, 2019, 2020 The NetBSD Foundation, Inc. @@ -63,10 +63,10 @@ typedef struct krwlock krwlock_t; * WRITE_LOCKED bit is clear, then the owner field is actually a count of * the number of readers. The rw_owner field is laid out like so: * - * N 5 4 3 2 1 0 - * +------------------------------------------------------------------+ - * | owner or read count | nodbug | <free> | wrlock | wrwant | wait | - * +------------------------------------------------------------------+ + * N 4 3 2 1 0 + * +---------------------------------------------------------+ + * | owner or read count | nodbug | wrlock | wrwant | wait | + * +---------------------------------------------------------+ */ #define RW_HAS_WAITERS 0x01UL /* lock has waiters */ #define RW_WRITE_WANTED 0x02UL /* >= 1 waiter is a writer */ @@ -84,7 +84,6 @@ void rw_vector_enter(krwlock_t *, const void rw_vector_exit(krwlock_t *); int rw_vector_tryenter(krwlock_t *, const krw_t); void _rw_init(krwlock_t *, uintptr_t); -bool rw_owner_running(const krwlock_t *); #endif /* __RWLOCK_PRIVATE */ struct krwlock {