From: Dan Kegel <dank@kegel.com>
To: Pierre Phaneuf <pp@ludusdesign.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: re: disk-based fds in select/poll
Date: Mon, 04 Jun 2001 17:27:41 -0700 [thread overview]
Message-ID: <3B1C277D.6F0EF0F9@kegel.com> (raw)
Pierre Phaneuf <pp@ludusdesign.com> wrote:
> It's fairly widely-known that select/poll returns immediately when
> testing a filesystem-based file descriptor for writability or
> readability.
>
> On top of this, even when in non-blocking mode, read() could block if
> the pages needed aren't in core. sendfile() behaves in a similar way.
>
> What would be needed to alleviate this?
> ...
> I remember seeing a suggestion by Linus for an event-based I/O
> interface, similar to kqueue on FreeBSD but much simpler. I'd just say
> "I want it too!", ok? :-)
>
> SGI's AIO might be a solution here, does it use threads? I'm trying to
> avoid context switching as much as possible, to keep the CPU cache as
> warm as possible.
IMHO, you want AIO. SGI's is fine for now. I hear rumors that there will be
something even better coming in 2.5, though I have no details.
Or you could use explicit userspace threads... say, divide up your
network connections among 8 or so threads. Then if one thread blocks,
the others are there to usefully soak up the CPU time.
Readiness events for readahead completion on disk files used to
seem like a neat idea to me, but now AIO seems more appealing
in the long run, since they handle random access properly.
- Dan
next reply other threads:[~2001-06-05 0:27 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-06-05 0:27 Dan Kegel [this message]
-- strict thread matches above, loose matches on Subject: below --
2001-06-04 20:43 disk-based fds in select/poll Pierre Phaneuf
2001-06-04 21:42 ` Alan Cox
2001-06-04 22:42 ` Pierre Phaneuf
2001-06-04 23:16 ` Alan Cox
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=3B1C277D.6F0EF0F9@kegel.com \
--to=dank@kegel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=pp@ludusdesign.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.