From: "Stephen C. Tweedie" <sct@redhat.com>
To: bsuparna@in.ibm.com
Cc: "Stephen C. Tweedie" <sct@redhat.com>,
linux-kernel@vger.kernel.org,
kiobuf-io-devel@lists.sourceforge.net,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
Christoph Hellwig <hch@caldera.de>, Andi Kleen <ak@suse.de>
Subject: Re: [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait /notify + callback chains
Date: Mon, 5 Feb 2001 15:01:17 +0000 [thread overview]
Message-ID: <20010205150117.D1167@redhat.com> (raw)
In-Reply-To: <CA2569EA.00506BBC.00@d73mta05.au.ibm.com>
In-Reply-To: <CA2569EA.00506BBC.00@d73mta05.au.ibm.com>; from bsuparna@in.ibm.com on Mon, Feb 05, 2001 at 08:01:45PM +0530
Hi,
On Mon, Feb 05, 2001 at 08:01:45PM +0530, bsuparna@in.ibm.com wrote:
>
> >It's the very essence of readahead that we wake up the earlier buffers
> >as soon as they become available, without waiting for the later ones
> >to complete, so we _need_ this multiple completion concept.
>
> I can understand this in principle, but when we have a single request going
> down to the device that actually fills in multiple buffers, do we get
> notified (interrupted) by the device before all the data in that request
> got transferred ?
It depends on the device driver. Different controllers will have
different maximum transfer size. For IDE, for example, we get wakeups
all over the place. For SCSI, it depends on how many scatter-gather
entries the driver can push into a single on-the-wire request. Exceed
that limit and the driver is forced to open a new scsi mailbox, and
you get independent completion signals for each such chunk.
> >Which is exactly why we have one kiobuf per higher-level buffer, and
> >we chain together kiobufs when we need to for a long request, but we
> >still get the independent completion notifiers.
>
> As I mentioned above, the alternative is to have the i/o completion related
> linkage information within the wakeup structures instead. That way, it
> doesn't matter to the lower level driver what higher level structure we
> have above (maybe buffer heads, may be page cache structures, may be
> kiobufs). We only chain together memory descriptors for the buffers during
> the io.
You forgot IO failures: it is essential, once the IO completes, to
know exactly which higher-level structures completed successfully and
which did not. The low-level drivers have to have access to the
independent completion notifications for this to work.
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 parent reply other threads:[~2001-02-05 15:04 UTC|newest]
Thread overview: 76+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CA2569EA.00506BBC.00@d73mta05.au.ibm.com>
2001-02-05 15:01 ` Stephen C. Tweedie [this message]
2001-02-06 13:50 [Kiobuf-io-devel] RFC: Kernel mechanism: Compound event wait /notify + callback chains bsuparna
2001-02-06 14:07 ` Jens Axboe
-- strict thread matches above, loose matches on Subject: below --
2001-02-05 14:31 bsuparna
[not found] <CA2569E9.004A4E23.00@d73mta05.au.ibm.com>
2001-02-05 12:09 ` Stephen C. Tweedie
2001-02-04 13:24 bsuparna
2001-02-02 15:31 bsuparna
2001-02-01 14:44 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 22:09 ` Ingo Molnar
2001-02-05 16:56 ` Linus Torvalds
2001-02-05 16:36 ` 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:48 ` 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
2001-02-01 13:20 bsuparna
2001-02-01 7:58 bsuparna
2001-02-01 12:39 ` Stephen C. Tweedie
2001-02-01 4:55 bsuparna
2001-02-01 12:19 ` Stephen C. Tweedie
2001-02-01 16:30 ` Chaitanya Tumuluri
2001-02-01 3:59 bsuparna
[not found] <CA2569E5.004D51A7.00@d73mta05.au.ibm.com>
2001-01-31 23:32 ` Stephen C. Tweedie
2001-01-31 13:58 bsuparna
2001-01-30 14:09 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=20010205150117.D1167@redhat.com \
--to=sct@redhat.com \
--cc=ak@suse.de \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=bsuparna@in.ibm.com \
--cc=hch@caldera.de \
--cc=kiobuf-io-devel@lists.sourceforge.net \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox