Skip site navigation (1)Skip section navigation (2)
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>