From: Pavel Machek <pavel@suse.cz>
To: Linus Torvalds <torvalds@transmeta.com>, Jens Axboe <axboe@suse.de>
Cc: Marcelo Tosatti <marcelo@conectiva.com.br>,
Manfred Spraul <manfred@colorfullife.com>,
Ben LaHaise <bcrl@redhat.com>, Ingo Molnar <mingo@elte.hu>,
"Stephen C. Tweedie" <sct@redhat.com>,
Alan Cox <alan@lxorguk.ukuu.org.uk>, Steve Lord <lord@sgi.com>,
Linux Kernel List <linux-kernel@vger.kernel.org>,
kiobuf-io-devel@lists.sourceforge.net,
Ingo Molnar <mingo@redhat.com>
Subject: Re: [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait
Date: Thu, 8 Feb 2001 00:15:13 +0100 [thread overview]
Message-ID: <20010208001513.B189@bug.ucw.cz> (raw)
In-Reply-To: <20010206230929.K2975@suse.de> <Pine.LNX.4.10.10102061421490.1825-100000@penguin.transmeta.com>
In-Reply-To: <Pine.LNX.4.10.10102061421490.1825-100000@penguin.transmeta.com>; from Linus Torvalds on Tue, Feb 06, 2001 at 02:26:38PM -0800
Hi!
> > > Reading write(2):
> > >
> > > EAGAIN Non-blocking I/O has been selected using O_NONBLOCK and there was
> > > no room in the pipe or socket connected to fd to write the data
> > > immediately.
> > >
> > > I see no reason why "aio function have to block waiting for requests".
> >
> > That was my reasoning too with READA etc, but Linus seems to want that we
> > can block while submitting the I/O (as throttling, Linus?) just not
> > until completion.
>
> Note the "in the pipe or socket" part.
> ^^^^ ^^^^^^
>
> EAGAIN is _not_ a valid return value for block devices or for regular
> files. And in fact it _cannot_ be, because select() is defined to always
> return 1 on them - so if a write() were to return EAGAIN, user space would
> have nothing to wait on. Busy waiting is evil.
So you consider inability to select() on regular files _feature_?
It can be a pretty serious problem with slow block devices
(floppy). It also hurts when you are trying to do high-performance
reads/writes. [I know it hurt in userspace sherlock search engine --
kind of small altavista.]
How do you write high-performance ftp server without threads if select
on regular file always returns "ready"?
> Remember: in the end you HAVE to wait somewhere. You're always going to be
> able to generate data faster than the disk can take it. SOMETHING
Userspace wants to _know_ when to stop. It asks politely using
"select()".
Pavel
--
I'm pavel@ucw.cz. "In my country we have almost anarchy and I don't care."
Panos Katsaloulis describing me w.r.t. patents at discuss@linmodems.org
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2001-02-08 11:37 UTC|newest]
Thread overview: 186+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-02-01 14:44 [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait /notify + callback chains bsuparna
2001-02-01 15:09 ` Christoph Hellwig
2001-02-01 16:08 ` Steve Lord
2001-02-01 16:49 ` Stephen C. Tweedie
2001-02-01 17:02 ` Christoph Hellwig
2001-02-01 17:34 ` Alan Cox
2001-02-01 17:49 ` Stephen C. Tweedie
2001-02-01 17:09 ` Chaitanya Tumuluri
2001-02-01 20:33 ` Christoph Hellwig
2001-02-01 20:56 ` Steve Lord
2001-02-01 20:59 ` Christoph Hellwig
2001-02-01 21:17 ` Steve Lord
2001-02-01 21:44 ` Stephen C. Tweedie
2001-02-01 22:07 ` Stephen C. Tweedie
2001-02-02 12:02 ` Christoph Hellwig
2001-02-05 12:19 ` Stephen C. Tweedie
2001-02-05 21:28 ` Ingo Molnar
2001-02-05 22:58 ` Stephen C. Tweedie
2001-02-05 23:06 ` Alan Cox
2001-02-05 23:16 ` Stephen C. Tweedie
2001-02-06 0:19 ` Manfred Spraul
2001-02-03 20:28 ` Linus Torvalds
2001-02-05 11:03 ` Stephen C. Tweedie
2001-02-05 12:00 ` Manfred Spraul
2001-02-05 15:03 ` Stephen C. Tweedie
2001-02-05 15:19 ` Alan Cox
2001-02-05 17:20 ` Stephen C. Tweedie
2001-02-05 17:29 ` Alan Cox
2001-02-05 18:49 ` Stephen C. Tweedie
2001-02-05 19:04 ` Alan Cox
2001-02-05 19:09 ` Linus Torvalds
2001-02-05 19:16 ` [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait Alan Cox
2001-02-05 19:28 ` Linus Torvalds
2001-02-05 20:54 ` Stephen C. Tweedie
2001-02-05 21:08 ` David Lang
2001-02-05 21:51 ` Alan Cox
2001-02-06 0:07 ` Stephen C. Tweedie
2001-02-06 17:00 ` Christoph Hellwig
2001-02-06 17:05 ` Stephen C. Tweedie
2001-02-06 17:14 ` Jens Axboe
2001-02-06 17:22 ` Christoph Hellwig
2001-02-06 18:26 ` Stephen C. Tweedie
2001-02-06 17:37 ` Ben LaHaise
2001-02-06 18:00 ` Jens Axboe
2001-02-06 18:09 ` Ben LaHaise
2001-02-06 19:35 ` Jens Axboe
2001-02-06 18:14 ` Linus Torvalds
2001-02-08 11:21 ` Andi Kleen
2001-02-08 14:11 ` Martin Dalecki
2001-02-08 17:59 ` Linus Torvalds
2001-02-06 18:18 ` Ingo Molnar
2001-02-06 18:25 ` Ben LaHaise
2001-02-06 18:35 ` Ingo Molnar
2001-02-06 18:54 ` Ben LaHaise
2001-02-06 18:58 ` Ingo Molnar
2001-02-06 19:11 ` Ben LaHaise
2001-02-06 19:32 ` Jens Axboe
2001-02-06 19:32 ` Ingo Molnar
2001-02-06 19:32 ` Linus Torvalds
2001-02-06 19:44 ` Ingo Molnar
2001-02-06 19:49 ` Ben LaHaise
2001-02-06 19:57 ` Ingo Molnar
2001-02-06 20:07 ` Jens Axboe
2001-02-06 20:25 ` Ben LaHaise
2001-02-06 20:41 ` Manfred Spraul
2001-02-06 20:50 ` Jens Axboe
2001-02-06 21:26 ` Manfred Spraul
2001-02-06 21:42 ` Linus Torvalds
2001-02-06 20:16 ` Marcelo Tosatti
2001-02-06 22:09 ` Jens Axboe
2001-02-06 22:26 ` Linus Torvalds
2001-02-06 21:13 ` Marcelo Tosatti
2001-02-06 23:26 ` Linus Torvalds
2001-02-07 23:17 ` select() returning busy for regular files [was Re: [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait] Pavel Machek
2001-02-08 13:57 ` Ben LaHaise
2001-02-08 17:52 ` Linus Torvalds
2001-02-08 15:06 ` [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait Ben LaHaise
2001-02-08 13:44 ` Marcelo Tosatti
2001-02-08 13:45 ` Marcelo Tosatti
2001-02-07 23:15 ` Pavel Machek [this message]
2001-02-08 13:22 ` Stephen C. Tweedie
2001-02-08 12:03 ` Marcelo Tosatti
2001-02-08 15:46 ` Mikulas Patocka
2001-02-08 14:05 ` Marcelo Tosatti
2001-02-08 16:11 ` Mikulas Patocka
2001-02-08 14:44 ` Marcelo Tosatti
2001-02-08 16:57 ` Rik van Riel
2001-02-08 17:13 ` James Sutherland
2001-02-08 18:38 ` Linus Torvalds
2001-02-09 12:17 ` Martin Dalecki
2001-02-08 15:55 ` Jens Axboe
2001-02-08 18:09 ` Linus Torvalds
2001-02-08 14:52 ` Mikulas Patocka
2001-02-08 19:50 ` Stephen C. Tweedie
2001-02-11 21:30 ` Pavel Machek
2001-02-06 21:57 ` Manfred Spraul
2001-02-06 22:13 ` Linus Torvalds
2001-02-06 22:26 ` Andre Hedrick
2001-02-06 20:49 ` Jens Axboe
2001-02-07 0:21 ` Stephen C. Tweedie
2001-02-07 0:25 ` Ingo Molnar
2001-02-07 0:36 ` Stephen C. Tweedie
2001-02-07 0:50 ` Linus Torvalds
2001-02-07 1:49 ` Stephen C. Tweedie
2001-02-07 2:37 ` Linus Torvalds
2001-02-07 14:52 ` Stephen C. Tweedie
2001-02-07 19:12 ` Richard Gooch
2001-02-07 20:03 ` Stephen C. Tweedie
2001-02-07 1:51 ` Jeff V. Merkey
2001-02-07 1:01 ` Ingo Molnar
2001-02-07 1:59 ` Jeff V. Merkey
2001-02-07 1:02 ` Jens Axboe
2001-02-07 1:19 ` Linus Torvalds
2001-02-07 1:39 ` Jens Axboe
2001-02-07 1:45 ` Linus Torvalds
2001-02-07 1:55 ` Jens Axboe
2001-02-07 9:10 ` David Howells
2001-02-07 12:16 ` Stephen C. Tweedie
2001-02-07 2:00 ` Jeff V. Merkey
2001-02-07 1:06 ` Ingo Molnar
2001-02-07 1:09 ` Jens Axboe
2001-02-07 1:11 ` Ingo Molnar
2001-02-07 1:26 ` Linus Torvalds
2001-02-07 2:07 ` Jeff V. Merkey
2001-02-07 1:08 ` Jens Axboe
2001-02-07 2:08 ` Jeff V. Merkey
2001-02-07 1:42 ` Jeff V. Merkey
2001-02-07 0:42 ` Linus Torvalds
2001-02-07 0:35 ` Jens Axboe
2001-02-07 0:41 ` Linus Torvalds
2001-02-07 1:27 ` Stephen C. Tweedie
2001-02-07 1:40 ` Linus Torvalds
2001-02-12 10:07 ` Jamie Lokier
2001-02-06 20:26 ` Linus Torvalds
2001-02-06 20:25 ` Christoph Hellwig
2001-02-06 20:35 ` Ingo Molnar
2001-02-06 19:05 ` Marcelo Tosatti
2001-02-06 20:59 ` Ingo Molnar
2001-02-06 21:20 ` Steve Lord
2001-02-07 18:27 ` Christoph Hellwig
2001-02-06 20:59 ` Linus Torvalds
2001-02-07 18:26 ` Christoph Hellwig
2001-02-07 18:36 ` Linus Torvalds
2001-02-07 18:44 ` Christoph Hellwig
2001-02-08 0:34 ` Neil Brown
2001-02-06 19:46 ` Ingo Molnar
2001-02-06 20:16 ` Ben LaHaise
2001-02-06 20:22 ` Ingo Molnar
2001-02-06 19:20 ` Linus Torvalds
2001-02-06 0:31 ` Roman Zippel
2001-02-06 1:01 ` Linus Torvalds
2001-02-06 1:08 ` David S. Miller
2001-02-06 9:22 ` Roman Zippel
2001-02-06 9:30 ` Ingo Molnar
2001-02-05 22:09 ` [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait /notify + callback chains Ingo Molnar
2001-02-05 16:56 ` Linus Torvalds
2001-02-05 17:27 ` [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait Alan Cox
2001-02-05 16:36 ` [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait /notify + callback chains Linus Torvalds
2001-02-05 19:08 ` Stephen C. Tweedie
2001-02-01 17:49 ` Christoph Hellwig
2001-02-01 17:58 ` Alan Cox
2001-02-01 18:32 ` Rik van Riel
2001-02-01 18:59 ` yodaiken
2001-02-01 19:33 ` Stephen C. Tweedie
2001-02-01 18:51 ` bcrl
2001-02-01 16:16 ` Stephen C. Tweedie
2001-02-01 17:05 ` Christoph Hellwig
2001-02-01 17:09 ` Christoph Hellwig
2001-02-01 17:41 ` Stephen C. Tweedie
2001-02-01 18:14 ` Christoph Hellwig
2001-02-01 18:25 ` Alan Cox
2001-02-01 18:39 ` Rik van Riel
2001-02-01 18:46 ` [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait Alan Cox
2001-02-01 18:48 ` [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait /notify + callback chains Christoph Hellwig
2001-02-01 18:57 ` Alan Cox
2001-02-01 19:00 ` Christoph Hellwig
2001-02-01 19:32 ` Stephen C. Tweedie
2001-02-01 20:46 ` Christoph Hellwig
2001-02-01 21:25 ` Stephen C. Tweedie
2001-02-02 11:51 ` Christoph Hellwig
2001-02-02 14:04 ` Stephen C. Tweedie
2001-02-02 4:18 ` bcrl
2001-02-02 12:12 ` Christoph Hellwig
2001-02-01 20:04 ` Chaitanya Tumuluri
[not found] <CA2569E9.004A4E23.00@d73mta05.au.ibm.com>
2001-02-04 16:46 ` [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait Alan Cox
-- strict thread matches above, loose matches on Subject: below --
2001-02-12 14:56 bsuparna
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=20010208001513.B189@bug.ucw.cz \
--to=pavel@suse.cz \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=axboe@suse.de \
--cc=bcrl@redhat.com \
--cc=kiobuf-io-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=lord@sgi.com \
--cc=manfred@colorfullife.com \
--cc=marcelo@conectiva.com.br \
--cc=mingo@elte.hu \
--cc=mingo@redhat.com \
--cc=sct@redhat.com \
--cc=torvalds@transmeta.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.