From: "Aaron Wiebe" <epiphani@gmail.com>
To: linux-kernel@vger.kernel.org
Subject: Re: slow open() calls and o_nonblock
Date: Mon, 4 Jun 2007 10:20:00 -0400 [thread overview]
Message-ID: <e7ca40f70706040720k48aae8efg7a4997ce1d6f2450@mail.gmail.com> (raw)
In-Reply-To: <e7ca40f70706031152q4e9630aq3c29623bd56fe0e5@mail.gmail.com>
Replying to David Schwartz here.. (David, good to hear from you again
- haven't seen you around since the irc days :))
David Schwartz wrote:
>
> There is no way you can re-try the request. The open must either succeed or
> not return a handle. It is not like a 'read' operation that has an "I didn't
> do anything, and you can retry this request" option.
>
> If 'open' returns a file handle, you can't retry it (since it must succeed
> in order to do that, failure must not return a handle). If you 'open'
> doesn't return a file handle, you can't retry it (because, without a handle,
> there is no way to associate a future request with this one, if it creates a
> file, the file must not be created if you don't call 'open' again).
I understand, but this is exactly the situation that I'm complaining
about. There is no functionality to provide a nonblocking open - no
ability to come back around and retry a given open call.
> You need either threads or a working asynchronous system call interface.
> Short of that, you need your own NFS client code.
This is exactly my point - there is no asynchronous system call to do
this work, to my knowledge. I will likely fix this in my own code
using threads, but I see using threads in this case as working around
that lack of systems interface. Threads, imho, should be limited to
cases where I'm using them to distribute load across multiple
processors, not because the kernel interfaces for IO cannot support
nonblocking calls.
I'm speaking to my ideal world view - but any application I write
should not have to wait for the kernel if I don't want it to. I
should be able to submit my request, and come back to it later as I so
decide.
(And I did actually consider writing my own NFS client for about 5 minutes.)
Thanks for the response!
-Aaron
next prev parent reply other threads:[~2007-06-04 14:20 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-03 18:52 slow open() calls and o_nonblock Aaron Wiebe
2007-06-03 19:16 ` Davide Libenzi
2007-06-03 23:56 ` John Stoffel
2007-06-04 1:05 ` Aaron Wiebe
2007-06-04 1:20 ` Neil Brown
2007-06-04 13:59 ` Aaron Wiebe
2007-06-04 1:25 ` Bernd Eckenfels
2007-06-04 0:27 ` David Schwartz
2007-06-04 1:05 ` Al Viro
2007-06-04 1:19 ` Bernd Eckenfels
2007-06-04 13:49 ` Alan Cox
2007-06-04 14:04 ` Aaron Wiebe
2007-06-04 14:17 ` John Stoffel
2007-06-04 14:24 ` Aaron Wiebe
2007-06-04 14:20 ` Aaron Wiebe [this message]
2007-06-04 15:42 ` Trond Myklebust
2007-06-04 15:59 ` Aaron Wiebe
2007-06-04 16:26 ` Aaron Wiebe
2007-06-04 19:46 ` Trond Myklebust
2007-06-04 20:32 ` David Schwartz
2007-06-04 14:39 ` Aaron Wiebe
-- strict thread matches above, loose matches on Subject: below --
2007-06-04 3:57 Albert Cahalan
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=e7ca40f70706040720k48aae8efg7a4997ce1d6f2450@mail.gmail.com \
--to=epiphani@gmail.com \
--cc=linux-kernel@vger.kernel.org \
/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.