summaryrefslogtreecommitdiffstats
path: root/sys/dev/hptrr/os_bsd.h
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2008-02-06 01:02:13 +0000
committerjeff <jeff@FreeBSD.org>2008-02-06 01:02:13 +0000
commit77ea5a24c756bd86d2880b544e3ae2c4fc85de96 (patch)
tree5bef34d7805971aa4bece9b058097a604c9778de /sys/dev/hptrr/os_bsd.h
parent2656e4d699d3e85d13d9ce6ed95c7a71f1f72563 (diff)
downloadFreeBSD-src-77ea5a24c756bd86d2880b544e3ae2c4fc85de96.zip
FreeBSD-src-77ea5a24c756bd86d2880b544e3ae2c4fc85de96.tar.gz
Adaptive spinning in write path with readers and writer starvation avoidance.
- Move recursion checking into rwlock inlines to free a bit for use with adaptive spinners. - Clear the RW_LOCK_WRITE_SPINNERS flag whenever the lock state changes causing write spinners to restart their loop. - Write spinners are limited by a count while readers hold the lock as there is no way to know for certain whether readers are running still. - In the read path block if there are write waiters or spinners to avoid starving writers. Use a new per-thread count, td_rw_rlocks, to skip starvation avoidance if it might cause a deadlock. - Remove or change invalid assertions in turnstiles. Reviewed by: attilio (developed parts of the patch as well) Sponsored by: Nokia
Diffstat (limited to 'sys/dev/hptrr/os_bsd.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud