[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20160919095914.GH11487@quack2.suse.cz>
Date: Mon, 19 Sep 2016 11:59:14 +0200
From: Jan Kara <jack@...e.cz>
To: "Dilger, Andreas" <andreas.dilger@...el.com>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Jan Kara <jack@...e.cz>,
James Simmons <jsimmons@...radead.org>,
"devel@...verdev.osuosl.org" <devel@...verdev.osuosl.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"Drokin, Oleg" <oleg.drokin@...el.com>,
Lustre Development List <lustre-devel@...ts.lustre.org>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
"linux-ext4@...r.kernel.org" <linux-ext4@...r.kernel.org>,
dbueso@...e.com
Subject: Re: [lustre-devel] [PATCH 030/124] staging: lustre: llite: Replace
write mutex with range lock
On Mon 19-09-16 09:25:48, Dilger, Andreas wrote:
> On Sep 19, 2016, at 09:28, Greg Kroah-Hartman <gregkh@...uxfoundation.org> wrote:
> >
> > On Sun, Sep 18, 2016 at 04:37:29PM -0400, James Simmons wrote:
> >> + * Range lock is used to allow multiple threads writing a single shared
> >> + * file given each thread is writing to a non-overlapping portion of the
> >> + * file.
> >> + *
> >> + * Refer to the possible upstream kernel version of range lock by
> >> + * Jan Kara <jack@...e.cz>: https://lkml.org/lkml/2013/1/31/480
> >> + *
> >> + * This file could later replaced by the upstream kernel version.
> >
> > It doesn't look like range_lock ever got accepted in the kernel tree,
> > any idea what happened to it? Having a per-filesystem lock type seems
> > odd to me...
>
> I've added Jan and linux-fsdevel to the CC list to see what interest
> there is in the range locking implementaion. At the time we added this
> to Lustre it appeared that this was moving nicely torward landing, but
> it seems to have stalled.
>
> I think the range locking implementation is fairly generic, and if there
> are other users in the kernel it could easily be pulled out of the staging
> dir into vfs/. I'm not against it going into vfs/ directly either, but
> not sure whether that is acceptable if the only user is in staging.
Yeah, so the problem with my range_lock implementation (and your one looks
fairly similar from a quick look) is that it is fairly heavyweight. That
may be OK for an inode_lock replacement but it needs a careful
benchmarking. Davidlohr was looking into making the implementation more
efficient (he wanted to use it for mmap_sem) but I think it got preempted
by other work.
Honza
--
Jan Kara <jack@...e.com>
SUSE Labs, CR
Powered by blists - more mailing lists