From: "Stephen C. Tweedie" <sct@redhat.com>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>,
"Stephen C. Tweedie" <sct@redhat.com>,
Manfred Spraul <manfred@colorfullife.com>,
Christoph Hellwig <hch@caldera.de>, Steve Lord <lord@sgi.com>,
linux-kernel@vger.kernel.org,
kiobuf-io-devel@lists.sourceforge.net
Subject: Re: [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait
Date: Mon, 5 Feb 2001 20:54:29 +0000 [thread overview]
Message-ID: <20010205205429.V1167@redhat.com> (raw)
In-Reply-To: <E14Pr8G-0003zV-00@the-village.bc.nu> <Pine.LNX.4.10.10102051118210.31206-100000@penguin.transmeta.com>
In-Reply-To: <Pine.LNX.4.10.10102051118210.31206-100000@penguin.transmeta.com>; from torvalds@transmeta.com on Mon, Feb 05, 2001 at 11:28:17AM -0800
Hi,
On Mon, Feb 05, 2001 at 11:28:17AM -0800, Linus Torvalds wrote:
> The _vectors_ are needed at the very lowest levels: the levels that do not
> necessarily have to worry at all about completion notification etc. You
> want the arbitrary scatter-gather vectors passed down to the stuff that
> sets up the SG arrays etc, the stuff that doesn't care AT ALL about the
> high-level semantics.
OK, this is exactly where we have a problem: I can see too many cases
where we *do* need to know about completion stuff at a fine
granularity when it comes to disk IO (unlike network IO, where we can
usually rely on a caller doing retransmit at some point in the stack).
If we are doing readahead, we want completion callbacks raised as soon
as possible on IO completions, no matter how many other IOs have been
merged with the current one. More importantly though, when we are
merging multiple page or buffer_head IOs in a request, we want to know
exactly which buffer/page contents are valid and which are not once
the IO completes.
The current request struct's buffer_head list provides that quite
naturally, but is a hugely heavyweight way of performing large IOs.
What I'm really after is a way of sending IOs to make_request in such
a way that if the caller provides an array of buffer_heads, it gets
back completion information on each one, but if the IO is requested in
large chunks (eg. XFS's pagebufs or large kiobufs from raw IO), then
the request code can deal with it in those large chunks.
What worries me is things like the soft raid1/5 code: pretending that
we can skimp on the return information about which blocks were
transferred successfully and which were not sounds like a really bad
idea when you've got a driver which relies on that completion
information in order to do intelligent error recovery.
Cheers,
Stephen
-
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-05 20:58 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 [this message]
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
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=20010205205429.V1167@redhat.com \
--to=sct@redhat.com \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=hch@caldera.de \
--cc=kiobuf-io-devel@lists.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
--cc=lord@sgi.com \
--cc=manfred@colorfullife.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox