Date: Sat, 19 Jul 2014 21:32:25 +0300 From: Alexander Motin <mav@FreeBSD.org> To: Robert Watson <rwatson@FreeBSD.org>, Xin LI <delphij@FreeBSD.org> Cc: svn-src-all@freebsd.org, src-committers@freebsd.org, svn-src-vendor@freebsd.org Subject: Re: svn commit: r268852 - in vendor-sys/illumos/dist/uts/common/fs/zfs: . sys Message-ID: <53CAB9B9.6010504@FreeBSD.org> In-Reply-To: <alpine.BSF.2.11.1407191141550.65204@fledge.watson.org> References: <201407181809.s6II9KkB002810@svn.freebsd.org> <alpine.BSF.2.11.1407191141550.65204@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 19.07.2014 13:42, Robert Watson wrote: > On Fri, 18 Jul 2014, Xin LI wrote: > >> Log: >> 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> >> >> illumos/illumos-gate@c9030f6c93613fe30ee0c16f92b96da7816ac052 > > Is there an opportunity to use our own read-mostly lock implementation > here? It should be substantially more scalable, has integration with > WITNESS, proper priority propagation, etc. Our rmlock(4) tells: "Writers are permitted to sleep while holding a read-mostly lock, but readers are not." That is not acceptable for ZFS, which allocates memory in many places. Also the rrw locks used there have specific recursion semantics: readers are allowed to recurse on the lock even when there is waiting writer. But first read acquisition at the same situation is not allowed. I am not sure whether out rmlocks can do the same. -- Alexander Motin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53CAB9B9.6010504>