History log of /freebsd/sys/kern/kern_rwlock.c (Results 51 – 75 of 299)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 755230eb 21-Nov-2017 Mark Johnston <markj@FreeBSD.org>

Clean up the SYSINIT_FLAGS definitions for rwlock(9) and rmlock(9).

Avoid duplication in their macro definitions, and document them. No
functional change intended.

MFC after: 1 week


# 937d37fc 19-Nov-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Merge ^/head r325842 through r325998.


# 8fef6b2c 17-Nov-2017 Mateusz Guzik <mjg@FreeBSD.org>

rwlock: unlock before traversing threads to wake up

While here perform a minor cleanup of the unlock path.


# ae7d25a4 17-Nov-2017 Mateusz Guzik <mjg@FreeBSD.org>

locks: pull up PMC_SOFT_CALLs out of slow path loops


# 3af30059 17-Nov-2017 Mateusz Guzik <mjg@FreeBSD.org>

rwlock: avoid branches in the slow path if lockstat is disabled


# 55b1c6e7 15-Nov-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Merge ^/head r325663 through r325841.


# c7e4e92e 11-Nov-2017 Mateusz Guzik <mjg@FreeBSD.org>

rwlock: use fcmpset for setting RW_LOCK_WRITE_SPINNER


# c2c014f2 07-Nov-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Merge ^/head r323559 through r325504.


# db520fdd 06-Nov-2017 Mateusz Guzik <mjg@FreeBSD.org>

rwlock: fix up compilation without KDTRACE_HOOKS after r324787


# 0a8f81bc 22-Oct-2017 Enji Cooper <ngie@FreeBSD.org>

MFhead@r324837

While here, diff reduce some of the changes in sys/boot by moving
MK_COVERAGE=no to sys/boot/Makefile.inc .


# 2567807c 20-Oct-2017 Mateusz Guzik <mjg@FreeBSD.org>

rwlock: reduce lockstat branches in the slowpath

MFC after: 1 week


# 50896984 10-Oct-2017 Enji Cooper <ngie@FreeBSD.org>

MFhead@r324482


# d07e22cd 05-Oct-2017 Mateusz Guzik <mjg@FreeBSD.org>

locks: take the number of readers into account when waiting

Previous code would always spin once before checking the lock. But a lock
with e.g. 6 readers is not going to become free in the duration

locks: take the number of readers into account when waiting

Previous code would always spin once before checking the lock. But a lock
with e.g. 6 readers is not going to become free in the duration of once spin
even if they start draining immediately.

Conservatively perform one for each reader.

Note that the total number of allowed spins is still extremely small and is
subject to change later.

MFC after: 1 week

show more ...


# 20a15d17 05-Oct-2017 Mateusz Guzik <mjg@FreeBSD.org>

locks: partially tidy up waiting on readers

spin first instant of instantly re-readoing and don't re-read after
spinning is finished - the state is already known.

Note the code is subject to signif

locks: partially tidy up waiting on readers

spin first instant of instantly re-readoing and don't re-read after
spinning is finished - the state is already known.

Note the code is subject to significant changes later.

MFC after: 1 week

show more ...


Revision tags: release/10.4.0
# b754c279 13-Sep-2017 Navdeep Parhar <np@FreeBSD.org>

MFH @ r323558.


# 5be4ad9e 09-Sep-2017 Enji Cooper <ngie@FreeBSD.org>

MFhead@r323343


# 574adb65 06-Sep-2017 Mateusz Guzik <mjg@FreeBSD.org>

Sprinkle __read_frequently on few obvious places.

Note that some of annotated variables should probably change their types
to something smaller, preferably bit-sized.


# 531c2d7a 24-Jul-2017 Enji Cooper <ngie@FreeBSD.org>

MFhead@r320180


# bca9d05f 23-Jul-2017 Hans Petter Selasky <hselasky@FreeBSD.org>

Merge ^/head r319973 through 321382.


Revision tags: release/11.1.0
# f6e653bb 02-Jul-2017 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r320398 through r320572.


# 3f7830a3 02-Jul-2017 Mateusz Guzik <mjg@FreeBSD.org>

rwlock: perform the typically false td_rw_rlocks check later

Check if the lock is available first instead.

MFC after: 1 week


# a3604b95 27-Jun-2017 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r320042 through r320397.


# 704cb42f 19-Jun-2017 Mark Johnston <markj@FreeBSD.org>

Fix the !TD_IS_IDLETHREAD(curthread) locking assertions.

Most of the lock slowpaths assert that the calling thread isn't an idle
thread. However, this may not be true if the system has panicked, and

Fix the !TD_IS_IDLETHREAD(curthread) locking assertions.

Most of the lock slowpaths assert that the calling thread isn't an idle
thread. However, this may not be true if the system has panicked, and in
some cases the assertion appears before a SCHEDULER_STOPPED() check.

MFC after: 3 days
Sponsored by: Dell EMC Isilon

show more ...


# 348238db 01-Mar-2017 Dimitry Andric <dim@FreeBSD.org>

Merge ^/head r314420 through r314481.


# a2101806 01-Mar-2017 Mateusz Guzik <mjg@FreeBSD.org>

locks: ensure proper barriers are used with atomic ops when necessary

Unclear how, but the locking routine for mutexes was using the *release*
barrier instead of acquire. This must have been either

locks: ensure proper barriers are used with atomic ops when necessary

Unclear how, but the locking routine for mutexes was using the *release*
barrier instead of acquire. This must have been either a copy-pasto or bad
completion.

Going through other uses of atomics shows no barriers in:
- upgrade routines (addressed in this patch)
- sections protected with turnstile locks - this should be fine as necessary
barriers are in the worst case provided by turnstile unlock

I would like to thank Mark Millard and andreast@ for reporting the problem and
testing previous patches before the issue got identified.

ps.
.-'---`-.
,' `.
| \
| \
\ _ \
,\ _ ,'-,/-)\
( * \ \,' ,' ,'-)
`._,) -',-')
\/ ''/
) / /
/ ,'-'

Hardware provided by: IBM LTC

show more ...


12345678910>>...12