[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110901163107.GE758@samba2>
Date: Thu, 1 Sep 2011 09:31:07 -0700
From: Jeremy Allison <jra@...ba.org>
To: Christoph Hellwig <hch@...radead.org>
Cc: Jeremy Allison <jra@...ba.org>,
Ulrich Drepper <drepper@...adia.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Daniel Ehrenberg <dehrenberg@...gle.com>,
Jens Axboe <axboe@...nel.dk>, Jeff Moyer <jmoyer@...hat.com>,
linux-kernel@...r.kernel.org, linux-aio@...ck.org
Subject: Re: Approaches to making io_submit not block
On Thu, Sep 01, 2011 at 12:23:37PM -0400, Christoph Hellwig wrote:
> On Thu, Sep 01, 2011 at 09:15:31AM -0700, Jeremy Allison wrote:
> > > We could easily give you an fcntl / dup3 flag to only release posix
> > > locks on the final close of a struct file if that helps you.
> >
> > That would help us enormously - it'd be Linux only of course but
> > we could easily add support for that.
> >
> > Can you propose the design here so we can run it past some of the
> > Solaris/FreeBSD folks (it'd be nice if we could get broader adoption) ?
>
> Not sure there is all that much to discuss. The idea is to have locks
> that behave like Posix locks, but only get release when the last duped
> fd to them gets released.
>
> We'd define a new O_LOCKS_WHATEVER flag for it, which gets set either
> using fcntl(..., F_SETFL, ...) or dup3. All in all that should be less
> than 50 lines of code in the kernel.
Ok, so it'd be set at open() time, say:
O_CLOLOCK_PERSIST
(to match the naming of something like O_CLOEXEC) and be available to set
with F_SETFD via an fcntl and dup3 call ?
> The alternative would be to design a different lock type, but that would
> be a lot more invasive, and not provide any real benefits.
No, we don't want that thanks :-).
Jeremy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists