From: Daniel Phillips <phillips@istop.com>
To: Andrew Morton <akpm@osdl.org>
Cc: Joel.Becker@oracle.com, linux-cluster@redhat.com,
wim.coekaerts@oracle.com, linux-fsdevel@vger.kernel.org,
ak@suse.de, linux-kernel@vger.kernel.org
Subject: Re: [Linux-cluster] Re: GFS, what's remaining
Date: Sun, 4 Sep 2005 15:51:56 -0400 [thread overview]
Message-ID: <200509041551.56614.phillips@istop.com> (raw)
In-Reply-To: <20050904002828.3d26f64c.akpm@osdl.org>
On Sunday 04 September 2005 03:28, Andrew Morton wrote:
> If there is already a richer interface into all this code (such as a
> syscall one) and it's feasible to migrate the open() tricksies to that API
> in the future if it all comes unstuck then OK. That's why I asked (thus
> far unsuccessfully):
>
> Are you saying that the posix-file lookalike interface provides
> access to part of the functionality, but there are other APIs which are
> used to access the rest of the functionality? If so, what is that
> interface, and why cannot that interface offer access to 100% of the
> functionality, thus making the posix-file tricks unnecessary?
There is no such interface at the moment, nor is one needed in the immediate
future. Let's look at the arguments for exporting a dlm to userspace:
1) Since we already have a dlm in kernel, why not just export that and save
100K of userspace library? Answer: because we don't want userspace-only
dlm features bulking up the kernel. Answer #2: the extra syscalls and
interface baggage serve no useful purpose.
2) But we need to take locks in the same lockspaces as the kernel dlm(s)!
Answer: only support tools need to do that. A cut-down locking api is
entirely appropriate for this.
3) But the kernel dlm is the only one we have! Answer: easily fixed, a
simple matter of coding. But please bear in mind that dlm-style
synchronization is probably a bad idea for most cluster applications,
particularly ones that already do their synchronization via sockets.
In other words, exporting the full dlm api is a red herring. It has nothing
to do with getting cluster filesystems up and running. It is really just
marketing: it sounds like a great thing for userspace to get a dlm "for
free", but it isn't free, it contributes to kernel bloat and it isn't even
the most efficient way to do it.
If after considering that, we _still_ want to export a dlm api from kernel,
then can we please take the necessary time and get it right? The full api
requires not only syscall-style elements, but asynchronous events as well,
similar to aio. I do not think anybody has a good answer to this today, nor
do we even need it to begin porting applications to cluster filesystems.
Oracle guys: what is the distributed locking API for RAC? Is the RAC team
waiting with bated breath to adopt your kernel-based dlm? If not, why not?
Regards,
Daniel
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Phillips <phillips@istop.com>
To: Andrew Morton <akpm@osdl.org>
Cc: Joel.Becker@oracle.com, linux-cluster@redhat.com,
linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
ak@suse.de
Subject: Re: Re: GFS, what's remaining
Date: Sun, 4 Sep 2005 15:51:56 -0400 [thread overview]
Message-ID: <200509041551.56614.phillips@istop.com> (raw)
In-Reply-To: <20050904002828.3d26f64c.akpm@osdl.org>
On Sunday 04 September 2005 03:28, Andrew Morton wrote:
> If there is already a richer interface into all this code (such as a
> syscall one) and it's feasible to migrate the open() tricksies to that API
> in the future if it all comes unstuck then OK. That's why I asked (thus
> far unsuccessfully):
>
> Are you saying that the posix-file lookalike interface provides
> access to part of the functionality, but there are other APIs which are
> used to access the rest of the functionality? If so, what is that
> interface, and why cannot that interface offer access to 100% of the
> functionality, thus making the posix-file tricks unnecessary?
There is no such interface at the moment, nor is one needed in the immediate
future. Let's look at the arguments for exporting a dlm to userspace:
1) Since we already have a dlm in kernel, why not just export that and save
100K of userspace library? Answer: because we don't want userspace-only
dlm features bulking up the kernel. Answer #2: the extra syscalls and
interface baggage serve no useful purpose.
2) But we need to take locks in the same lockspaces as the kernel dlm(s)!
Answer: only support tools need to do that. A cut-down locking api is
entirely appropriate for this.
3) But the kernel dlm is the only one we have! Answer: easily fixed, a
simple matter of coding. But please bear in mind that dlm-style
synchronization is probably a bad idea for most cluster applications,
particularly ones that already do their synchronization via sockets.
In other words, exporting the full dlm api is a red herring. It has nothing
to do with getting cluster filesystems up and running. It is really just
marketing: it sounds like a great thing for userspace to get a dlm "for
free", but it isn't free, it contributes to kernel bloat and it isn't even
the most efficient way to do it.
If after considering that, we _still_ want to export a dlm api from kernel,
then can we please take the necessary time and get it right? The full api
requires not only syscall-style elements, but asynchronous events as well,
similar to aio. I do not think anybody has a good answer to this today, nor
do we even need it to begin porting applications to cluster filesystems.
Oracle guys: what is the distributed locking API for RAC? Is the RAC team
waiting with bated breath to adopt your kernel-based dlm? If not, why not?
Regards,
Daniel
next prev parent reply other threads:[~2005-09-04 19:49 UTC|newest]
Thread overview: 158+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-09-01 10:46 GFS, what's remaining David Teigland
2005-09-01 10:42 ` Arjan van de Ven
2005-09-01 10:59 ` Andrew Morton
2005-09-01 10:59 ` Andrew Morton
2005-09-01 14:49 ` Alan Cox
2005-09-01 14:27 ` Christoph Hellwig
2005-09-01 15:28 ` Alan Cox
2005-09-01 15:28 ` Alan Cox
2005-09-01 15:11 ` Lars Marowsky-Bree
2005-09-01 17:56 ` Christoph Hellwig
2005-09-02 7:04 ` David Teigland
2005-09-01 17:23 ` Daniel Phillips
2005-09-01 17:23 ` Daniel Phillips
2005-09-01 20:21 ` Andrew Morton
2005-09-01 20:21 ` Andrew Morton
2005-09-02 21:17 ` Andi Kleen
2005-09-02 23:03 ` Bryan Henderson
2005-09-03 0:16 ` Mark Fasheh
2005-09-03 0:16 ` Mark Fasheh
2005-09-03 6:42 ` Daniel Phillips
2005-09-03 6:42 ` Daniel Phillips
2005-09-03 6:46 ` [Linux-cluster] " Wim Coekaerts
2005-09-03 6:46 ` Wim Coekaerts
2005-09-03 22:21 ` [Linux-cluster] " Daniel Phillips
2005-09-03 22:21 ` Daniel Phillips
2005-09-04 1:09 ` [Linux-cluster] " Joel Becker
2005-09-04 1:32 ` Andrew Morton
2005-09-04 1:32 ` Andrew Morton
2005-09-04 3:06 ` [Linux-cluster] " Joel Becker
2005-09-04 3:06 ` Joel Becker
2005-09-04 4:22 ` [Linux-cluster] " Daniel Phillips
2005-09-04 4:30 ` Joel Becker
2005-09-04 4:51 ` Daniel Phillips
2005-09-04 4:51 ` Daniel Phillips
2005-09-04 5:00 ` [Linux-cluster] " Joel Becker
2005-09-04 5:00 ` Joel Becker
2005-09-04 5:52 ` [Linux-cluster] " Daniel Phillips
2005-09-04 5:56 ` Joel Becker
2005-09-04 4:46 ` Andrew Morton
2005-09-04 4:58 ` Joel Becker
2005-09-04 5:41 ` Andrew Morton
2005-09-04 5:41 ` Andrew Morton
2005-09-04 5:49 ` [Linux-cluster] " Joel Becker
2005-09-04 5:49 ` Joel Becker
2005-09-05 4:30 ` [Linux-cluster] " David Teigland
2005-09-05 4:30 ` David Teigland
2005-09-05 8:54 ` [Linux-cluster] " Andrew Morton
2005-09-05 9:24 ` David Teigland
2005-09-05 9:24 ` David Teigland
2005-09-05 9:19 ` [Linux-cluster] " Andrew Morton
2005-09-05 9:30 ` Daniel Phillips
2005-09-05 9:48 ` David Teigland
2005-09-05 12:21 ` Alan Cox
2005-09-05 12:21 ` Alan Cox
2005-09-05 19:53 ` [Linux-cluster] " Andrew Morton
2005-09-05 23:20 ` Alan Cox
2005-09-05 23:20 ` Alan Cox
2005-09-05 23:06 ` [Linux-cluster] " Andrew Morton
2005-09-05 23:06 ` Andrew Morton
2005-09-14 9:01 ` [Linux-cluster] " Patrick Caulfield
2005-09-14 9:46 ` Antonio Vargas
2005-09-05 19:11 ` kurt.hackel
2005-09-04 6:10 ` Mark Fasheh
2005-09-04 7:23 ` Andrew Morton
2005-09-04 8:17 ` Mark Fasheh
2005-09-04 8:37 ` Andrew Morton
2005-09-04 8:37 ` Andrew Morton
2005-09-04 6:40 ` [Linux-cluster] " Daniel Phillips
2005-09-04 7:28 ` Andrew Morton
2005-09-04 7:28 ` Andrew Morton
2005-09-04 8:01 ` [Linux-cluster] " Joel Becker
2005-09-04 8:18 ` Andrew Morton
2005-09-04 9:11 ` Joel Becker
2005-09-04 9:11 ` Joel Becker
2005-09-04 9:18 ` [Linux-cluster] " Andrew Morton
2005-09-04 9:39 ` Joel Becker
2005-09-04 9:39 ` Joel Becker
2005-09-04 18:03 ` [Linux-cluster] " Hua Zhong
2005-09-04 19:51 ` Daniel Phillips [this message]
2005-09-04 19:51 ` Daniel Phillips
2005-09-04 7:12 ` Hua Zhong
2005-09-04 8:37 ` [Linux-cluster] " Alan Cox
2005-09-04 8:37 ` Alan Cox
2005-09-05 23:32 ` [Linux-cluster] " Joel Becker
2005-09-05 23:32 ` Joel Becker
2005-09-03 5:57 ` Daniel Phillips
2005-09-03 5:57 ` Daniel Phillips
2005-09-05 14:14 ` Lars Marowsky-Bree
2005-09-05 14:14 ` Lars Marowsky-Bree
2005-09-05 15:49 ` Daniel Phillips
2005-09-05 16:18 ` Dmitry Torokhov
2005-09-06 0:57 ` Daniel Phillips
2005-09-06 2:03 ` Dmitry Torokhov
2005-09-06 4:02 ` Daniel Phillips
2005-09-06 4:07 ` GFS, what's remainingh Dmitry Torokhov
2005-09-06 4:58 ` Daniel Phillips
2005-09-06 4:58 ` Daniel Phillips
2005-09-06 5:05 ` Dmitry Torokhov
2005-09-06 6:48 ` Daniel Phillips
2005-09-06 6:55 ` Dmitry Torokhov
2005-09-06 7:18 ` Daniel Phillips
2005-09-06 7:18 ` Daniel Phillips
2005-09-06 14:31 ` Dmitry Torokhov
2005-09-06 13:42 ` Alan Cox
2005-09-06 13:42 ` Alan Cox
2005-09-03 7:06 ` GFS, what's remaining Wim Coekaerts
2005-09-03 7:06 ` Wim Coekaerts
2005-09-03 7:27 ` Bernd Eckenfels
2005-09-05 14:16 ` Lars Marowsky-Bree
2005-09-05 20:24 ` Bernd Eckenfels
2005-09-05 20:53 ` Kurt Hackel
2005-09-05 23:37 ` Joel Becker
2005-09-06 5:24 ` Daniel Phillips
2005-09-06 12:55 ` Suparna Bhattacharya
2005-09-03 5:18 ` David Teigland
2005-09-03 6:14 ` Arjan van de Ven
2005-09-03 6:14 ` Arjan van de Ven
2005-09-03 6:42 ` D. Hazelton
2005-09-03 10:35 ` David Teigland
2005-09-03 20:56 ` Daniel Phillips
2005-09-03 20:56 ` Daniel Phillips
2005-09-04 20:33 ` Pavel Machek
2005-09-04 22:18 ` Joel Becker
2005-09-04 22:18 ` Joel Becker
2005-09-05 5:54 ` Theodore Ts'o
2005-09-05 7:09 ` Mark Fasheh
2005-09-05 14:07 ` Theodore Ts'o
2005-09-05 8:27 ` real read-only [was Re: GFS, what's remaining] Pavel Machek
2005-09-05 14:03 ` Theodore Ts'o
2005-09-05 10:44 ` [Linux-cluster] Re: GFS, what's remaining Stephen C. Tweedie
2005-09-05 10:44 ` Stephen C. Tweedie
2005-09-05 16:41 ` Greg Freemyer
2005-09-01 11:35 ` Arjan van de Ven
2005-09-01 11:35 ` Arjan van de Ven
2005-09-02 9:44 ` David Teigland
2005-09-02 11:46 ` Jörn Engel
2005-09-02 11:46 ` Jörn Engel
2005-09-03 5:28 ` Greg KH
2005-09-05 3:47 ` David Teigland
2005-09-05 3:47 ` David Teigland
2005-09-05 8:58 ` Jörn Engel
2005-09-05 9:18 ` David Teigland
2005-09-05 9:18 ` David Teigland
2005-09-05 5:43 ` David Teigland
2005-09-05 5:43 ` David Teigland
2005-09-05 6:32 ` Pekka Enberg
2005-09-05 7:55 ` David Teigland
2005-09-05 7:55 ` David Teigland
2005-09-05 8:00 ` Pekka Enberg
2005-09-05 8:00 ` Pekka Enberg
2005-09-10 10:11 ` Arjan van de Ven
2005-09-05 6:29 ` David Teigland
2005-09-05 6:29 ` David Teigland
2005-09-08 5:41 ` David Teigland
2005-09-08 5:41 ` David Teigland
2005-09-01 12:33 ` Pekka Enberg
2005-09-01 17:27 ` Daniel Phillips
-- strict thread matches above, loose matches on Subject: below --
2005-09-01 18:47 [Linux-cluster] " Hua Zhong (hzhong)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200509041551.56614.phillips@istop.com \
--to=phillips@istop.com \
--cc=Joel.Becker@oracle.com \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=linux-cluster@redhat.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=wim.coekaerts@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.