freebsd-dev/share
Attilio Rao 651175c9db 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
2009-06-17 01:55:42 +00:00
..
colldef Croatian locale support for hr_HR.ISO8859-2 2009-06-10 21:55:38 +00:00
dict Correct typos containing my login name (plus one more in expr.y). 2007-02-18 19:48:59 +00:00
doc Update BIND to version 9.6.1rc1. This version has better performance and 2009-05-31 05:42:58 +00:00
examples Where if not in examples we should follow style(9)? 2009-06-03 09:28:58 +00:00
info
man Introduce support for adaptive spinning in lockmgr. 2009-06-17 01:55:42 +00:00
me
misc Add myself. 2009-06-14 16:48:17 +00:00
mk Add support for the build options that are currently in the port: 2009-06-01 21:58:59 +00:00
mklocale Fix printing of some wide-characters by iswprint() on ja_JP.eucJP 2009-06-12 23:15:36 +00:00
monetdef Add euro symbol to pt_PT locale using other encodings 2009-06-10 22:09:40 +00:00
msgdef add ca_AD, ca_FR and ca_IT locales 2009-06-10 12:20:11 +00:00
numericdef add ca_AD, ca_FR and ca_IT locales 2009-06-10 12:20:11 +00:00
security
sendmail Dont install .svn metadata with the sendmail install. 2008-05-31 19:15:15 +00:00
skel Add explicit test so that non-existence of /usr/games/fortune 2009-03-27 21:13:14 +00:00
snmp
syscons Add various new keymaps: 2009-06-12 22:53:49 +00:00
tabset
termcap Add missing passthrough printing entries for VT100 and workalikes 2009-06-14 07:02:50 +00:00
timedef Long long time ago, several utilities in base used to parse %c output and 2009-06-15 18:49:06 +00:00
zoneinfo MFV of tzdata2009i: 2009-06-09 00:09:36 +00:00
Makefile Whitespace nit 2008-10-08 13:20:02 +00:00
Makefile.inc