The NetBSD Project

CVS log for src/sys/sys/rwlock.h

[BACK] Up to [cvs.NetBSD.org] / src / sys / sys

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.19 / (download) - annotate - [select for diffs], Thu Sep 7 20:05:41 2023 UTC (5 months, 2 weeks ago) by ad
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.18: +1 -2 lines
Diff to previous 1.18 (colored)

Remove dodgy and unused mutex_owner_running() & rw_owner_running().

Revision 1.17.2.1 / (download) - annotate - [select for diffs], Wed Aug 9 17:42:01 2023 UTC (6 months, 2 weeks ago) by martin
Branch: netbsd-10
CVS Tags: netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1
Changes since 1.17: +2 -1 lines
Diff to previous 1.17 (colored) next main 1.18 (colored)

Pull up following revision(s) (requested by maya in ticket #316):

	sys/arch/m68k/include/mutex.h: revision 1.13
	sys/arch/arm/include/cpu.h: revision 1.125
	sys/arch/sun68k/include/intr.h: revision 1.21
	sys/arch/arm/include/mutex.h: revision 1.28
	sys/sys/rwlock.h: revision 1.18
	sys/arch/powerpc/include/mutex.h: revision 1.7
	sys/arch/arm/include/mutex.h: revision 1.29
	sys/arch/powerpc/include/mutex.h: revision 1.8
	sys/uvm/uvm_param.h: revision 1.42
	sys/sys/ksem.h: revision 1.16
	sys/arch/x86/include/mutex.h: revision 1.10
	sys/sys/proc.h: revision 1.372
	sys/sys/ksem.h: revision 1.17
	sys/arch/ia64/include/mutex.h: revision 1.8
	sys/arch/evbarm/include/intr.h: revision 1.29
	sys/sys/lua.h: revision 1.9
	sys/arch/next68k/include/intr.h: revision 1.23
	sys/arch/ia64/include/mutex.h: revision 1.9
	sys/arch/hp300/include/intr.h: revision 1.35
	sys/arch/hp300/include/intr.h: revision 1.36
	sys/arch/sparc/include/cpu.h: revision 1.111
	sys/arch/hppa/include/mutex.h: revision 1.16
	sys/arch/vax/include/intr.h: revision 1.31
	sys/arch/hppa/include/mutex.h: revision 1.17
	sys/arch/news68k/include/intr.h: revision 1.28
	sys/arch/hppa/include/mutex.h: revision 1.18
	sys/arch/hppa/include/intr.h: revision 1.3
	sys/arch/hppa/include/mutex.h: revision 1.19
	sys/arch/hppa/include/intr.h: revision 1.4
	sys/sys/sched.h: revision 1.92
	sys/opencrypto/cryptodev.h: revision 1.51
	sys/arch/vax/include/mutex.h: revision 1.20
	sys/arch/sparc64/include/mutex.h: revision 1.10
	sys/arch/ia64/include/sapicvar.h: revision 1.2
	sys/arch/riscv/include/mutex.h: revision 1.5
	sys/arch/amiga/dev/grfabs_cc.c: revision 1.39
	sys/external/bsd/drm2/include/linux/idr.h: revision 1.11
	sys/arch/riscv/include/mutex.h: revision 1.6
	sys/ddb/files.ddb: revision 1.16
	sys/arch/mac68k/include/intr.h: revision 1.32
	share/man/man4/ddb.4: revision 1.203
	sys/ddb/db_command.c: revision 1.183
	sys/arch/mips/include/mutex.h: revision 1.10
	sys/ddb/db_command.c: revision 1.184
	sys/arch/x68k/include/intr.h: revision 1.22
	sys/arch/sparc/include/psl.h: revision 1.51
	sys/arch/or1k/include/mutex.h: revision 1.4
	sys/arch/mips/include/mutex.h: revision 1.11
	sys/arch/arm/xscale/pxa2x0_intr.h: revision 1.16
	sys/arch/sparc64/include/cpu.h: revision 1.134
	sys/arch/sparc/include/psl.h: revision 1.52
	sys/arch/or1k/include/mutex.h: revision 1.5
	sys/arch/mvme68k/include/intr.h: revision 1.22
	sys/arch/luna68k/include/intr.h: revision 1.16
	external/cddl/osnet/sys/sys/kcondvar.h: revision 1.6
	sys/arch/sparc/include/mutex.h: revision 1.12
	sys/arch/sparc/include/mutex.h: revision 1.13
	sys/arch/usermode/include/mutex.h: revision 1.5
	sys/arch/usermode/include/mutex.h: revision 1.6
	sys/kern/kern_core.c: revision 1.38
	usr.sbin/crash/Makefile: revision 1.49
	sys/arch/amiga/include/intr.h: revision 1.23
	sys/arch/alpha/include/mutex.h: revision 1.12
	sys/arch/alpha/include/mutex.h: revision 1.13
	sys/arch/evbarm/lubbock/sacc_obio.c: revision 1.16
	sys/ddb/ddb.h: revision 1.6
	sys/arch/sparc64/include/mutex.h: revision 1.8
	sys/arch/sh3/include/mutex.h: revision 1.12
	sys/arch/evbarm/lubbock/sacc_obio.c: revision 1.17
	sys/ddb/db_syncobj.c: revision 1.1
	sys/arch/vax/include/mutex.h: revision 1.18
	sys/arch/sparc64/include/psl.h: revision 1.63
	sys/arch/sparc64/include/mutex.h: revision 1.9
	sys/arch/sh3/include/mutex.h: revision 1.13
	sys/arch/evbarm/lubbock/obio.c: revision 1.13
	sys/arch/atari/include/intr.h: revision 1.23
	sys/ddb/db_syncobj.c: revision 1.2
	sys/arch/vax/include/mutex.h: revision 1.19
	sys/arch/evbarm/g42xxeb/obio.c: revision 1.14
	sys/arch/evbarm/g42xxeb/obio.c: revision 1.15
	sys/arch/cesfic/include/intr.h: revision 1.14
	sys/ddb/db_syncobj.h: revision 1.1
	sys/arch/x86/include/cpu.h: revision 1.134
	sys/arch/evbarm/g42xxeb/obio.c: revision 1.16
	sys/arch/cesfic/include/intr.h: revision 1.15
	sys/arch/arm/xscale/pxa2x0_intr.c: revision 1.26
	sys/sys/cpu_data.h: revision 1.54
	sys/arch/m68k/include/mutex.h: revision 1.12
	sys/arch/ia64/acpi/madt.c: revision 1.6

sys/rwlock.h: Make this more self-contained for bool.

machine/mutex.h: Sprinkle includes so this can be used by crash(8).

ddb: New `show all tstiles' command.
Shows who's waiting for which locks and what the owner is up to.

Include psl.h for ipl_cookie_t if __MUTEX_PRIVATE

sys: Rip <sys/resourcevar.h> out of <uvm/uvm_param.h>.

And thus out of <sys/param.h>, which is exceedingly overused and
fragile and delenda est.

Should fix (some) issues with the recent inclusion of machine/lock.h
in various machine/mutex.h files.

arm/mutex.h: Need machine/intr.h, machine/lock.h.

For ipl_cookie_t and __cpu_simple_lock_t.
evbarm/intr.h: Define ipl_cookie_t before including ARM_INTR_IMPL.

Otherwise arm/mutex.h doesn't work, due to a cyclic dependency which
should really be fixed.
opencrypto/cryptodev.h: Fix includes.
- Move sys/condvar.h under #ifdef _KERNEL.
- Add some other necessary includes and forward declarations.
- Sort.

hp300/intr.h: Fix missing includes.
linux/idr.h: Need <sys/mutex.h> for kmutex_t.
amiga/intr.h: Don't define spl*() functions if !_KERNEL.

This is used by crash(8) now, and what's important is ipl_cookie_t.
cesfic/intr.h: Expose ipl_cookie_t to userland for crash(8).
cesfic/intr.h: Expose ipl_cookie_t to userland only with _KMEMUSER.

Probably not necessary but let's be a little more cautious about
this.

atari/intr.h: Expose ipl_cookie_t with _KMEMUSER for crash(8).

arm/cpu.h: Need sys/param.h for COHERENCY_UNIT.

Nix machine/param.h -- not meant to be used directly, pulled in by
sys/param.h.

Move the definition of ipl_cookie_t out of the kernel-only sections,
some _KMEMUSER applications need it.

ddb: Cast pointer to uintptr_t first before db_expr_t.

hppa/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

luna68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

mvme68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

news68k/intr.h: Fix includes.  Put some definitions under _KERNEL.

next68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

sys/ksem.h: Hack around fstat(8) abuse of _KERNEL.

sun68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

vax/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).

x68k/intr.h: Put functions under _KERNEL so crash(8) can use this.

Make ipl_cookie_t visible for _KMEMUSER userland applications.

fix editor mishap in previous

Explicitly include <sys/mutex.h> for kmutex_t.

Replace kmutex_t * (which may be undefined here) with struct kmutex *,
suggested by Taylor.

hp300/intr.h: Put most of this under #ifdef _KERNEL.
Only ipl_cookie_t really needs to be exposed now, for crash(8).

mac68k/intr.h: Expose ipl_cookie_t to _KMEMUSER for crash(8).
Make inclusion of sys/intr.h explicit for spl*.

fix hppa and vax builds.

machine/lock.h isn't necessary for __cpu_simple_lock_t, it's in
sys/types.h.  avoids cpu_data.h vs sched.h include order issues.

move the hppa ipl_t typedef with the moved usage of it.
machine/mutex.h: Sprinkle sys/types.h, omit machine/lock.h.

Turns out machine/lock.h is not needed for __cpu_simple_lock_t, which
always comes from sys/types.h.  And, really, sys/types.h (or at least
sys/stdint.h) is needed for uintN_t and uintptr_t.

ddb: Cast pointer to uintptr_t, then to db_expr_t.
Avoids warnings about conversion between pointer and integer of
different size on some architectures.

re-fix hppa builds.

this file uses __cpu_simple_lock(), not just the underlying type,
so it does need machine/lock.h.

Break cycle by using `struct kmutex *' instead of `kmutex_t *'.
sys/sched.h included sys/mutex.h
which includes sys/intr.h
which includes machine/intr.h
which on cats includes arm/footbridge/footbridge_intr.h
which includes arm/cpu.h
which includes sys/cpu_data.h
which includes sys/sched.h

But there was never any real need for sys/mutex.h in sys/sched.h,
because it only uses pointers to the opaque struct kmutex.  Cycle
broken by using `struct kmutex *' instead of pulling in sys/mutex.h
for the definition of kmutex_t.

Side effect: This revealed that sys/cpu_data.h needed sys/intr.h
(which was pulled in accidentally by sys/mutex.h via sys/sched.h) for
SOFTINT_COUNT.  Also revealed some other machine/cpu.h header files
were missing includes of sys/mutex.h for kmutex_t.

ia64: Need sys/types.h for u_int, vaddr_t; sys/mutex.h for kmutex_t.

explicitly include no longer implicitly included sys/mutex.h.

arm/xscale: Use sys/bitops.h fls32 - 1 instead of 31 - __builtin_clz.
Sidesteps namespace collision with `#define bits ...' in net/zlib.c.

complete the previous - there were two calls to find_first_bit() to fix.

arm/xscale: Missed a spot with previous find_first_bit commit.

evbarm/g42xxeb: Fix off-by-one in previous.

The original find_first_bit(x) was 31 - __builtin_clz((uint32_t)x),
which is equivalent to fls32(x) - 1, not to fls32(x).

Note that fls32 is 1-based and returns 0 for x=0.

Revision 1.18 / (download) - annotate - [select for diffs], Sun Jul 9 16:32:28 2023 UTC (7 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.17: +2 -1 lines
Diff to previous 1.17 (colored)

sys/rwlock.h: Make this more self-contained for bool.

XXX pullup-10

Revision 1.17 / (download) - annotate - [select for diffs], Wed Oct 26 23:22:22 2022 UTC (15 months, 3 weeks ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base
Branch point for: netbsd-10
Changes since 1.16: +2 -2 lines
Diff to previous 1.16 (colored)

rwlock(9): Nix extern _rw_init in .c; use sys/rwlock.h.

Revision 1.10.62.1 / (download) - annotate - [select for diffs], Wed Apr 8 14:09:03 2020 UTC (3 years, 10 months ago) by martin
Branch: phil-wifi
Changes since 1.10: +16 -17 lines
Diff to previous 1.10 (colored) next main 1.11 (colored)

Merge changes from current as of 20200406

Revision 1.12.2.5 / (download) - annotate - [select for diffs], Sat Feb 29 20:21:10 2020 UTC (3 years, 11 months ago) by ad
Branch: ad-namecache
Changes since 1.12.2.4: +2 -1 lines
Diff to previous 1.12.2.4 (colored) to branchpoint 1.12 (colored) next main 1.13 (colored)

Sync with head.

Revision 1.16 / (download) - annotate - [select for diffs], Sat Feb 22 21:24:45 2020 UTC (4 years ago) by ad
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, bouyer-sunxi-drm-base, bouyer-sunxi-drm, ad-namecache-base3
Changes since 1.15: +2 -1 lines
Diff to previous 1.15 (colored)

Add rw_lock_op(): return either RW_READER or RW_WRITER for a lock that is
known to be held by the caller.  Panic if the lock is not held.

Revision 1.12.2.4 / (download) - annotate - [select for diffs], Sat Jan 25 22:38:53 2020 UTC (4 years ago) by ad
Branch: ad-namecache
Changes since 1.12.2.3: +6 -5 lines
Diff to previous 1.12.2.3 (colored) to branchpoint 1.12 (colored)

Sync with head.

Revision 1.12.2.3 / (download) - annotate - [select for diffs], Sat Jan 25 21:45:00 2020 UTC (4 years ago) by ad
Branch: ad-namecache
Changes since 1.12.2.2: +5 -6 lines
Diff to previous 1.12.2.2 (colored) to branchpoint 1.12 (colored)

Remove unintentional differences to base.

Revision 1.12.2.2 / (download) - annotate - [select for diffs], Wed Jan 22 11:40:17 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.12.2.1: +6 -5 lines
Diff to previous 1.12.2.1 (colored) to branchpoint 1.12 (colored)

Back out previous.

Revision 1.15 / (download) - annotate - [select for diffs], Tue Jan 21 20:29:51 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base2
Changes since 1.14: +2 -1 lines
Diff to previous 1.14 (colored)

Add a rw_owner_running() for the pagedaemon.

Revision 1.14 / (download) - annotate - [select for diffs], Tue Jan 21 04:09:10 2020 UTC (4 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.13: +5 -5 lines
Diff to previous 1.13 (colored)

Update a comment.

Revision 1.12.2.1 / (download) - annotate - [select for diffs], Sun Jan 19 19:44:34 2020 UTC (4 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.12: +5 -12 lines
Diff to previous 1.12 (colored)

Sync with head.

Revision 1.13 / (download) - annotate - [select for diffs], Sun Jan 19 18:34:24 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base1
Changes since 1.12: +5 -12 lines
Diff to previous 1.12 (colored)

Tidy rwlocks a bit, no functional change intended.  Mainly:

- rw_downgrade(): do it in a for () loop like all the others.
- Explicitly carry around RW_NODEBUG - don't be lazy.
- Remove pointless macros.
- Don't make assertions conditional on LOCKDEBUG, there's no reason.
- Make space for a new flag bit (not added yet).

Revision 1.12 / (download) - annotate - [select for diffs], Wed Jan 1 21:34:39 2020 UTC (4 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.11: +4 -2 lines
Diff to previous 1.11 (colored)

Add some new functions for lock objects:

mutex_obj_refcnt(), mutex_obj_tryalloc()
rw_obj_refcnt(), rw_obj_tryalloc()

Revision 1.11 / (download) - annotate - [select for diffs], Fri Nov 29 20:04:54 2019 UTC (4 years, 2 months ago) by riastradh
Branch: MAIN
Changes since 1.10: +4 -2 lines
Diff to previous 1.10 (colored)

Largely eliminate the MD rwlock.h header file.

This was full of definitions that have been obsolete for over a
decade.  The file still remains for __HAVE_RW_STUBS but that's all.
Used only internally in kern_rwlock.c now, not by <sys/rwlock.h>.

Revision 1.9.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:44:33 2010 UTC (13 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.9: +10 -6 lines
Diff to previous 1.9 (colored) next main 1.10 (colored)

Sync with HEAD.

Revision 1.5.4.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:04:43 2010 UTC (13 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.5.4.2: +10 -6 lines
Diff to previous 1.5.4.2 (colored) to branchpoint 1.5 (colored) next main 1.6 (colored)

sync with head

Revision 1.10 / (download) - annotate - [select for diffs], Mon Feb 8 09:54:27 2010 UTC (14 years ago) by skrll
Branch: MAIN
CVS Tags: yamt-pagecache-tag8, yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, yamt-pagecache, yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base7, uebayasi-xip-base6, uebayasi-xip-base5, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1, tls-maxphys-base-20171202, tls-maxphys-base, tls-maxphys, tls-earlyentropy-base, tls-earlyentropy, rmind-uvmplock-nbase, rmind-uvmplock-base, rmind-uvmplock, rmind-smpnet-nbase, rmind-smpnet-base, rmind-smpnet, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20191119, phil-wifi-20190609, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606, nick-nhusb-base-20150406, nick-nhusb-base, nick-nhusb, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb8-mediatek-base, matt-nb8-mediatek, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-mips64-premerge-20101231, localcount-20160914, khorben-n900, jruoho-x86intr-base, jruoho-x86intr, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3, jdolecek-ncq-base, jdolecek-ncq, isaki-audio2-base, isaki-audio2, cherry-xenmp-base, cherry-xenmp, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2, agc-symver-base, agc-symver
Branch point for: phil-wifi
Changes since 1.9: +10 -6 lines
Diff to previous 1.9 (colored)

Re-apply:

	Invert the sense of the bit to mark if LOCKDEBUG is enabled to
	disabled.

	This will help my fellow developers spot "use before initialised"
	problems that hppa picks up very well.

but fix the !LOCKDEBUG case by defining the "no debug" bits to zero so
they have no effect on lock stubs.

Revision 1.9 / (download) - annotate - [select for diffs], Sat Feb 6 04:50:19 2010 UTC (14 years ago) by cube
Branch: MAIN
CVS Tags: uebayasi-xip-base
Branch point for: uebayasi-xip
Changes since 1.8: +6 -6 lines
Diff to previous 1.8 (colored)

Revert commit from Fri Feb  5 06:43:17 UTC 2010 by skrll:

      Invert the sense of the bit to mark if LOCKDEBUG is enabled to disabled.

      This will help my fellow developers spot "use before initialised" problems
      that hppa picks up very well.

It has to be done differently, because the semantics of mtx_owner in the non-
LOCKDEBUG case can vary significantly between archs, and thus it is not
possible to simply flip a bit to 1.

Ok core@, as at least i386 is unbootable right now.

Revision 1.8 / (download) - annotate - [select for diffs], Fri Feb 5 06:43:17 2010 UTC (14 years ago) by skrll
Branch: MAIN
Changes since 1.7: +6 -6 lines
Diff to previous 1.7 (colored)

Invert the sense of the bit to mark if LOCKDEBUG is enabled to disabled.

This will help my fellow developers spot "use before initialised" problems
that hppa picks up very well.

Revision 1.6.14.1 / (download) - annotate - [select for diffs], Wed May 13 17:23:03 2009 UTC (14 years, 9 months ago) by jym
Branch: jym-xensuspend
Changes since 1.6: +6 -1 lines
Diff to previous 1.6 (colored) next main 1.7 (colored)

Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.5.4.2 / (download) - annotate - [select for diffs], Mon May 4 08:14:36 2009 UTC (14 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.5.4.1: +6 -1 lines
Diff to previous 1.5.4.1 (colored) to branchpoint 1.5 (colored)

sync with head.

Revision 1.6.8.1 / (download) - annotate - [select for diffs], Tue Apr 28 07:37:53 2009 UTC (14 years, 9 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.6: +6 -1 lines
Diff to previous 1.6 (colored) next main 1.7 (colored)

Sync with HEAD.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Apr 19 08:36:04 2009 UTC (14 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, matt-premerge-20091211, jymxensuspend-base, jym-xensuspend-nbase, jym-xensuspend-base
Changes since 1.6: +6 -1 lines
Diff to previous 1.6 (colored)

Add rw_obj_*() functions to mirror the existing mutex functions.
Proposed on tech-kern quite some time ago.

Revision 1.4.6.1 / (download) - annotate - [select for diffs], Mon Jun 2 13:24:33 2008 UTC (15 years, 8 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.4: +7 -74 lines
Diff to previous 1.4 (colored) next main 1.5 (colored)

Sync with HEAD.

Revision 1.5.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:35:50 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-pf42
Changes since 1.5: +1 -8 lines
Diff to previous 1.5 (colored) next main 1.6 (colored)

sync with head.

Revision 1.5.4.1 / (download) - annotate - [select for diffs], Fri May 16 02:25:51 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.5: +1 -8 lines
Diff to previous 1.5 (colored)

sync with head.

Revision 1.6 / (download) - annotate - [select for diffs], Mon Apr 28 20:24:11 2008 UTC (15 years, 9 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, nick-hppapmap-base2, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, mjf-devfs2-base, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2, hpcarm-cleanup-nbase, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, jym-xensuspend
Changes since 1.5: +1 -8 lines
Diff to previous 1.5 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.5 / (download) - annotate - [select for diffs], Fri Apr 11 14:55:51 2008 UTC (15 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base
Branch point for: yamt-pf42, yamt-nfs-mp
Changes since 1.4: +7 -67 lines
Diff to previous 1.4 (colored)

rwlock changes, discussed on tech-kern:

- Use atomic ops directly, since rwlocks work the same way on all platforms.
- Try to make it a bit more cache efficient, and use branch hints.
- Fix a bug in rw_downgrade() where the turnstile lock was not released.
- Remove a couple of redundant assertions.
- Use atomic_swap instead of atomic_cas where it's safe to do so.
- After acquiring the turnstile lock in rw_vector_enter, check if the
  owner is running again and spin if so.
- Introduce and use rw_onproc() instead of abusing mutex_onproc().
- Change the handoff/release algorithm to reduce the window when a rwlock
  can held, but the owner not on a CPU.

Revision 1.2.20.2 / (download) - annotate - [select for diffs], Sun Mar 23 02:05:10 2008 UTC (15 years, 11 months ago) by matt
Branch: matt-armv6
Changes since 1.2.20.1: +4 -2 lines
Diff to previous 1.2.20.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

sync with HEAD

Revision 1.2.26.2 / (download) - annotate - [select for diffs], Mon Feb 18 21:07:23 2008 UTC (16 years ago) by mjf
Branch: mjf-devfs
Changes since 1.2.26.1: +4 -2 lines
Diff to previous 1.2.26.1 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

Sync with HEAD.

Revision 1.1.18.3 / (download) - annotate - [select for diffs], Mon Feb 4 09:25:00 2008 UTC (16 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.1.18.2: +4 -2 lines
Diff to previous 1.1.18.2 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

sync with head.

Revision 1.4 / (download) - annotate - [select for diffs], Fri Jan 25 19:02:31 2008 UTC (16 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: yamt-lazymbuf-base15, yamt-lazymbuf-base14, nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, ad-socklock-base1
Branch point for: mjf-devfs2
Changes since 1.3: +4 -2 lines
Diff to previous 1.3 (colored)

- Prevent LOCKDEBUG from complaining if we do rw_tryenter() on a lock
  that we already own.
- Add an assembly stub for rw_tryenter().

Revision 1.2.20.1 / (download) - annotate - [select for diffs], Wed Jan 9 01:58:16 2008 UTC (16 years, 1 month ago) by matt
Branch: matt-armv6
Changes since 1.2: +9 -9 lines
Diff to previous 1.2 (colored)

sync with HEAD

Revision 1.2.26.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:21:34 2007 UTC (16 years, 2 months ago) by mjf
Branch: mjf-devfs
Changes since 1.2: +9 -9 lines
Diff to previous 1.2 (colored)

Sync with HEAD.

Revision 1.1.18.2 / (download) - annotate - [select for diffs], Fri Dec 7 17:34:57 2007 UTC (16 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.1.18.1: +9 -9 lines
Diff to previous 1.1.18.1 (colored) to branchpoint 1.1 (colored)

sync with head

Revision 1.2.18.1 / (download) - annotate - [select for diffs], Wed Nov 21 21:56:17 2007 UTC (16 years, 3 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.2: +9 -9 lines
Diff to previous 1.2 (colored) next main 1.3 (colored)

Sync with HEAD.

Revision 1.2.24.1 / (download) - annotate - [select for diffs], Wed Nov 21 21:19:51 2007 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.2: +7 -7 lines
Diff to previous 1.2 (colored) next main 1.3 (colored)

Sync with HEAD

Revision 1.3 / (download) - annotate - [select for diffs], Wed Nov 21 10:19:11 2007 UTC (16 years, 3 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking2, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, matt-armv6-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf, bouyer-xeni386-nbase, bouyer-xeni386-merge1, bouyer-xeni386-base, bouyer-xeni386, bouyer-xenamd64-base2, bouyer-xenamd64-base
Changes since 1.2: +7 -7 lines
Diff to previous 1.2 (colored)

make kmutex_t and krwlock_t smaller by killing lock id.
ok'ed by Andrew Doran.

Revision 1.1.18.1 / (download) - annotate - [select for diffs], Mon Feb 26 09:12:14 2007 UTC (17 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.1: +177 -0 lines
Diff to previous 1.1 (colored)

sync with head.

Revision 1.2 / (download) - annotate - [select for diffs], Fri Feb 9 21:55:37 2007 UTC (17 years ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-x86pmap-base2, yamt-x86pmap-base, yamt-x86pmap, yamt-idlelwp-base8, yamt-idlelwp, vmlocking-base, vmlocking, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup, post-newlock2-merge, nick-csl-alignment-base5, nick-csl-alignment-base, nick-csl-alignment, mjf-ufs-trans-base, mjf-ufs-trans, matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, jmcneill-base, hpcarm-cleanup, ad-audiomp-base, ad-audiomp
Branch point for: mjf-devfs, matt-armv6, jmcneill-pm, bouyer-xenamd64
Changes since 1.1: +177 -0 lines
Diff to previous 1.1 (colored)

Merge newlock2 to head.

Revision 1.1.36.7 / (download) - annotate - [select for diffs], Mon Feb 5 13:03:57 2007 UTC (17 years ago) by ad
Branch: newlock2
Changes since 1.1.36.6: +3 -3 lines
Diff to previous 1.1.36.6 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

- Decouple downgrade from rw_vector_exit(), and simplify a bit.
- Fix a problem that could cause stalls under load.

Revision 1.1.36.6 / (download) - annotate - [select for diffs], Sat Feb 3 10:04:45 2007 UTC (17 years ago) by ad
Branch: newlock2
Changes since 1.1.36.5: +2 -2 lines
Diff to previous 1.1.36.5 (colored) to branchpoint 1.1 (colored)

Pacify lint.

Revision 1.1.36.5 / (download) - annotate - [select for diffs], Thu Jan 11 22:23:00 2007 UTC (17 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.1.36.4: +3 -4 lines
Diff to previous 1.1.36.4 (colored) to branchpoint 1.1 (colored)

Checkpoint work in progress.

Revision 1.1.36.4 / (download) - annotate - [select for diffs], Fri Dec 29 20:27:45 2006 UTC (17 years, 1 month ago) by ad
Branch: newlock2
Changes since 1.1.36.3: +47 -40 lines
Diff to previous 1.1.36.3 (colored) to branchpoint 1.1 (colored)

Checkpoint work in progress.

Revision 1.1.36.3 / (download) - annotate - [select for diffs], Fri Nov 17 16:34:40 2006 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.1.36.2: +9 -6 lines
Diff to previous 1.1.36.2 (colored) to branchpoint 1.1 (colored)

Checkpoint work in progress.

Revision 1.1.36.2 / (download) - annotate - [select for diffs], Fri Oct 20 19:45:12 2006 UTC (17 years, 4 months ago) by ad
Branch: newlock2
Changes since 1.1.36.1: +6 -7 lines
Diff to previous 1.1.36.1 (colored) to branchpoint 1.1 (colored)

- Update for lockdebug changes.
- Define mutex_getspl(), mutex_setspl() for modifying saved SPL value.

Revision 1.1.36.1 / (download) - annotate - [select for diffs], Sun Sep 10 23:42:41 2006 UTC (17 years, 5 months ago) by ad
Branch: newlock2
Changes since 1.1: +169 -0 lines
Diff to previous 1.1 (colored)

Add updated locking primatives.

Revision 1.1.2.5 / (download) - annotate - [select for diffs], Fri Mar 22 03:26:59 2002 UTC (21 years, 11 months ago) by thorpej
Branch: newlock
Changes since 1.1.2.4: +10 -1 lines
Diff to previous 1.1.2.4 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

Add some basic debugging infrastructure as found in mutexes.

Revision 1.1.2.4 / (download) - annotate - [select for diffs], Mon Mar 18 01:16:45 2002 UTC (21 years, 11 months ago) by thorpej
Branch: newlock
Changes since 1.1.2.3: +3 -3 lines
Diff to previous 1.1.2.3 (colored) to branchpoint 1.1 (colored)

Move the inclusion of <machine/*_impl.h> to the end so that MD
code can define CPP macros for the various entry points.

Revision 1.1.2.3 / (download) - annotate - [select for diffs], Sun Mar 17 20:18:55 2002 UTC (21 years, 11 months ago) by thorpej
Branch: newlock
Changes since 1.1.2.2: +10 -7 lines
Diff to previous 1.1.2.2 (colored) to branchpoint 1.1 (colored)

Change RWLOCK_ACQUIRE() and RWLOCK_RELEASE() to evaluate to true
or false depending on the success of the "compare and swap" operation.

This makes them a lot easier to implement on IA32.

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Sun Mar 17 06:50:55 2002 UTC (21 years, 11 months ago) by thorpej
Branch: newlock
Changes since 1.1.2.1: +7 -1 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored)

Note two more rwlock primitives MD code must provide, for use in
direct-handoff, and provide those additional primitives on the Alpha.

Revision 1.1.2.1 / (download) - annotate - [select for diffs], Thu Mar 14 17:11:03 2002 UTC (21 years, 11 months ago) by thorpej
Branch: newlock
Changes since 1.1: +134 -0 lines
Diff to previous 1.1 (colored)

Reader/writer lock implementation, modeled after the Solaris rwlocks,
a description of which can be found in:

	Solaris Internals: Core Kernel Architecture, Jim Mauro and
	    Richard McDougall, section 3.6.

XXX Does not currently distinguish between waiting readers and
    waiting writers.
XXX Because of above, does not yet implement direct-handoff.

Revision 1.1, Thu Mar 14 17:11:03 2002 UTC (21 years, 11 months ago) by thorpej
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, yamt-splraiseipl-base2, yamt-splraiseipl-base, yamt-splraiseipl, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, yamt-pdpolicy-base8, yamt-pdpolicy-base7, yamt-pdpolicy-base6, yamt-pdpolicy-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, yamt-pdpolicy, yamt-km-base4, yamt-km-base3, yamt-km-base2, yamt-km-base, yamt-km, thorpej-vnode-attr-base, thorpej-vnode-attr, simonb-timecounters-base, simonb-timecounters, simonb-timcounters-final, rpaulo-netinet-merge-pcb-base, rpaulo-netinet-merge-pcb, newlock2-nbase, newlock2-base, nathanw_sa_before_merge, nathanw_sa_base, ktrace-lwp-base, ktrace-lwp, kent-audio2-base, kent-audio2, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, gehenna-devsw-base, gehenna-devsw, gdamore-uart-base, gdamore-uart, elad-kernelauth-nbase, eeh-devprop-base, eeh-devprop
Branch point for: yamt-lazymbuf, newlock2, newlock
FILE REMOVED

file rwlock.h was initially added on branch newlock.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>