History log of /freebsd-10.2-release/share/man/man9/lock.9
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 285830 23-Jul-2015 gjb

- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
builds.
- Update newvers.sh to reflect RC1.
- Update __FreeBSD_version to reflect 10.2.
- Update default pkg(8) configuration to use the quarterly branch.[1]

Discussed with: re, portmgr [1]
Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 274606 16-Nov-2014 kib

MFC r273966:
Fix two issues with lockmgr(9) LK_CAN_SHARE() test, related
to the exclusive locker starvation.

MFC r273986:
Fix the build with ADAPTIVE_LOCKMGRS kernel option.


# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 256089 06-Oct-2013 kib

Document LK_TRYUPGRADE.

Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Approved by: re (marius)


# 244627 23-Dec-2012 avg

lock.9: fix incorrect descriptions of LK_SHARED and LK_DOWNGRADE behavior

Reviewed by: attilio
MFC after: 5 days
X-MFC after: r243900


# 235693 20-May-2012 gjb

Typo and mdoc(7) style fixes.

PR: 168117
Submitted by: Nobuyuki Koganemaru (kogane&jp!freebsd!org)
MFC after: 3 days


# 233648 29-Mar-2012 eadler

Remove trailing whitespace per mdoc lint warning

Disussed with: gavin
No objection from: doc
Approved by: joel
MFC after: 3 days


# 233422 24-Mar-2012 joel

Remove superfluous paragraph macro.


# 227588 16-Nov-2011 pjd

Constify arguments for locking KPIs where possible.

This enables locking consumers to pass their own structures around as const and
be able to assert locks embedded into those structures.

Reviewed by: ed, kib, jhb


# 194317 17-Jun-2009 attilio

Introduce support for adaptive spinning in lockmgr.
Actually, as it did receive few tuning, the support is disabled by
default, but it can opt-in with the option ADAPTIVE_LOCKMGRS.
Due to the nature of lockmgrs, adaptive spinning needs to be
selectively enabled for any interested lockmgr.
The support is bi-directional, or, in other ways, it will work in both
cases if the lock is held in read or write way. In particular, the
read path is passible of further tunning using the sysctls
debug.lockmgr.retries and debug.lockmgr.loops . Ideally, such sysctls
should be axed or compiled out before release.

Addictionally note that adaptive spinning doesn't cope well with
LK_SLEEPFAIL. The reason is that many (and probabilly all) consumers
of LK_SLEEPFAIL are mainly interested in knowing if the interlock was
dropped or not in order to reacquire it and re-test initial conditions.
This directly interacts with adaptive spinning because lockmgr needs
to drop the interlock while spinning in order to avoid a deadlock
(further details in the comments inside the patch).

Final note: finding someone willing to help on tuning this with
relevant workloads would be either very important and appreciated.

Tested by: jeff, pho
Requested by: many


# 188152 05-Feb-2009 attilio

Remove the assertive KA_HELD and KA_UNHELD as long as they are dangerous,
and not really helpful.


# 178160 12-Apr-2008 attilio

LK_NOWITNESS can be used now in lockmgr*() functions in order to skip
witness(4) checks on a per-instance basis.


# 177962 06-Apr-2008 attilio

Commit manpages for lockmgr_args_rw(9) and lockmgr_rw(9).


# 177697 28-Mar-2008 brueffer

Document lockmgr_waiters(9).

Reviewed by: attilio


# 176746 02-Mar-2008 brueffer

New sentence -> new line.


# 176713 01-Mar-2008 attilio

Fix lockstatus sorting on the top list.


# 176711 01-Mar-2008 attilio

- Add the informations for lockmgr_args(9)
- Sort rightly lockstatus(9) in the manpage


# 176710 01-Mar-2008 attilio

Update lockmgr manpage with last lockmgr modifies:
- Remove LK_SLEEPFAIL and LK_NOWAIT for lockinit() and add LK_QUIET and
LK_NOPROFILE
- Include sys/lock.h as mandatory for the lockmgr support


# 176562 25-Feb-2008 attilio

Modify VOP_ISLOCKED() and lockstatus() prototypes in order to reflect
'thread' argument axing.


# 176288 14-Feb-2008 brueffer

Some language and mdoc style improvements.


# 176253 13-Feb-2008 attilio

Update manpage with lockmgr_assert() description.


# 176016 06-Feb-2008 attilio

Update manpage in order to reflect LK_NODUP and LK_NOWITNESS options
introduction.


# 175639 24-Jan-2008 attilio

Reflect lockcount() axing and lockmgr() prototype changing.


# 175577 22-Jan-2008 attilio

Add the newly added function lockmgr_recursed() to the manpages.


# 175173 09-Jan-2008 brueffer

Fix typos.


# 175169 09-Jan-2008 attilio

Add lockmgr_disown() and relative explanation.


# 174951 28-Dec-2007 attilio

Trimm out now unused option LK_EXCLUPGRADE from the lockmgr namespace.
This option just adds complexity and the new implementation no longer
will support it, so axing it now that it is unused is probabilly the
better idea.

FreeBSD version is bumped in order to reflect the KPI breakage introduced
by this patch.

In the ports tree, kris found that only old OSKit code uses it, but as
it is thought to work only on 2.x kernels serie, version bumping will
solve any problem.


# 170970 21-Jun-2007 brueffer

Remove duplicate xref and add missing commas.

PR: 113891
Submitted by: pluknet <pluknet@gmail.com>
Approved by: re (blanket)


# 168071 30-Mar-2007 julian

Add some cross references to locking.9 from related pages.


# 167387 09-Mar-2007 jhb

Allow threads to atomically release rw and sx locks while waiting for an
event. Locking primitives that support this (mtx, rw, and sx) now each
include their own foo_sleep() routine.
- Rename msleep() to _sleep() and change it's 'struct mtx' object to a
'struct lock_object' pointer. _sleep() uses the recently added
lc_unlock() and lc_lock() function pointers for the lock class of the
specified lock to release the lock while the thread is suspended.
- Add wrappers around _sleep() for mutexes (mtx_sleep()), rw locks
(rw_sleep()), and sx locks (sx_sleep()). msleep() still exists and
is now identical to mtx_sleep(), but it is deprecated.
- Rename SLEEPQ_MSLEEP to SLEEPQ_SLEEP.
- Rewrite much of sleep.9 to not be msleep(9) centric.
- Flesh out the 'RETURN VALUES' section in sleep.9 and add an 'ERRORS'
section.
- Add __nonnull(1) to _sleep() and msleep_spin() so that the compiler will
warn if you try to pass a NULL wait channel. The functions already have
a KASSERT to that effect.


# 161505 21-Aug-2006 kib

Note that LK_UPGRADE may drop the shared lock before taking the
exclusive one.

Reviewed and edited by: tegge
MFC after: 3 days
Approved by: pjd (mentor)


# 159809 20-Jun-2006 maxim

o Remove LK_REENABLE and LK_NOPAUSE lockinit(9) flags, add LK_NOSHARE.

MFC after: 1 week


# 147647 28-Jun-2005 hmp

Use 'manual page' instead of 'man page' for consistency.

Approved by: re (hrs)


# 119893 08-Sep-2003 ru

mdoc(7): Use the new feature of the .In macro.


# 94480 12-Apr-2002 davidc

Update the prototype for lockinit to reflect that wmesg is a const char *.


# 93060 24-Mar-2002 davidc

Fixed bad wording/spelling in few paragraphs.


# 89806 26-Jan-2002 davidc

Merged all of the lockmgr functions into a single file (lock.9); as well,
some content and layout changes were made.

lock.9 had existed before but was never added to Makefile, so it was
never installed. That is why the duplicate files were created in the
first place.

Reviewed by: ru, alfred


# 89203 10-Jan-2002 ru

mdoc(7) police: tidy up the markup.


# 88509 26-Dec-2001 davidc

Update function definitions and required include files to reflect
the current state of the system.

Approved by: alfred


# 84306 01-Oct-2001 ru

mdoc(7) police: Use the new .In macro for #include statements.


# 79538 10-Jul-2001 ru

mdoc(7) police: removed HISTORY info from the .Os call.


# 79454 09-Jul-2001 dd

mdoc(7) police: remove extraneous .Pp before and/or after .Sh.


# 69035 22-Nov-2000 ru

mdoc(7) police: add the missing and required .Dd macro call.


# 67480 24-Oct-2000 markm

Add some very crude man pages to try to induce folk to work on them.

Agreed to work on them: jasone