Alexander Motin e16b3fcc61 Illumos 5008 - lock contention (rrw_exit) while running a read only load
5008 lock contention (rrw_exit) while running a read only load
Reviewed by: Matthew Ahrens <matthew.ahrens@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: Alex Reece <alex.reece@delphix.com>
Reviewed by: Christopher Siden <christopher.siden@delphix.com>
Reviewed by: Richard Yao <ryao@gentoo.org>
Reviewed by: Saso Kiselkov <skiselkov.ml@gmail.com>
Approved by: Garrett D'Amore <garrett@damore.org>

Porting notes:

This patch ported perfectly cleanly to ZoL.  During testing 100% cached
small-block reads, extreme contention was noticed on rrl->rr_lock from
rrw_exit() due to the frequent entering and leaving ZPL.  Illumos picked
up this patch from FreeBSD and it also helps under Linux.

On a 1-minute 4K cached read test with 10 fio processes pinned to a single
socket on a 4-socket (10 thread per socket) NUMA system, contentions on
rrl->rr_lock were reduced from 508799 to 43085.

Ported-by: Tim Chase <tim@chase2k.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #3555
2015-07-06 09:34:13 -07:00
..
2014-08-01 14:28:05 -07:00
2015-01-16 14:41:26 -08:00
2015-01-16 14:41:26 -08:00
2015-01-16 14:41:26 -08:00
2015-07-06 09:31:30 -07:00
2015-01-16 14:41:26 -08:00
2013-12-18 16:46:35 -08:00
2015-01-16 14:41:26 -08:00
2015-01-16 14:41:26 -08:00
2015-06-25 08:58:16 -07:00
2015-01-16 14:41:26 -08:00
2010-08-31 13:41:59 -07:00
2010-08-31 13:41:58 -07:00
2015-06-25 08:58:16 -07:00
2015-06-25 08:58:16 -07:00
2015-01-16 14:41:26 -08:00
2015-01-16 14:41:26 -08:00
2015-06-25 08:58:16 -07:00
2013-10-31 14:58:04 -07:00
2015-01-16 14:41:26 -08:00
2015-01-16 14:41:26 -08:00
2015-06-25 08:58:16 -07:00
2015-01-16 14:41:26 -08:00
2013-10-31 14:58:04 -07:00
2015-05-04 09:41:09 -07:00
2015-01-16 14:41:26 -08:00
2010-08-31 13:41:58 -07:00
2014-07-29 10:55:29 -07:00
2015-01-16 14:41:26 -08:00
2015-01-16 14:41:26 -08:00
2013-10-30 14:51:27 -07:00
2014-09-05 15:11:43 -07:00
2015-01-16 14:41:26 -08:00
2014-08-01 14:28:05 -07:00
2014-08-01 14:28:05 -07:00
2015-04-24 09:54:22 -07:00
2015-06-25 08:58:16 -07:00