From: Suparna Bhattacharya <suparna@in.ibm.com>
To: Alan Cox <alan@lxorguk.ukuu.org.uk>
Cc: Stephen Lord <lord@sgi.com>, Andrew Morton <akpm@zip.com.au>,
Mark Peloquin <peloquin@us.ibm.com>,
linux-kernel@vger.kernel.org
Subject: Re: Bio pool & scsi scatter gather pool usage
Date: Mon, 22 Apr 2002 12:20:18 +0530 [thread overview]
Message-ID: <3CC3B2AA.80217EA0@in.ibm.com> (raw)
In-Reply-To: <3CBFC755.50106@sgi.com> <E16yUE0-0006i7-00@the-village.bc.nu>
Alan Cox wrote:
>
> > But this gets you lowest common denominator sizes for the whole
> > volume, which is basically the buffer head approach, chop all I/O up
> > into a chunk size we know will always work. Any sort of nasty boundary
> > condition at one spot in a volume means the whole thing is crippled
> > down to that level. It then becomes a black magic art to configure a
> > volume which is not restricted to a small request size.
>
> Its still cheaper to merge bio chains than split them.
Depends on how small each piece ends up having to be with the lowest
common denominator approach. (Shouldn't end up with too small pieces)
Its easy to miss/forget that merging chains redundantly does have a
bit of extra cost on the completion path - extra callback invokations
(bi_end_io)to collate results.
> The VM issues with
> splitting them are not nice at all since you may need to split a bio to
> write out a page and it may be the last page
Yes, the mempool alloc aspects get quite confusing even when thinking
about
the normal bio path ... (e.g bounce bio's are probably already an aspect
of
concern since we have multiple allocations by the same thread drawing
into the
same pool, a generic condition that has earlier been cited as a source
of potential deadlock) With splitting it gets worse. (BTW, for similar
reasons. drawing from
the common pool may not be the best thing to do when splitting ..,
though
multiple pools probably come with their source of problems)
But then, the situation of writeout of the last page again is not a
common
case. In this case it makes sense to revert to the lowest common
denominator
... , but must we do so in every case ?
Again, it really depends on how small the lowest common denominator
turns
out to be. If one can have the entire layout information abstracted in
a way to be able to compute it in advance for a given block so it
doesn't
limit one to be too conservative fine ... but I don't know if that's
always feasible.
As such, its good to avoid splitting in general relying on good hints,
but
perhaps have room for the stray case that crops up -- either handle the
split,
or maybe have a way pass back an error to retry with smaller size.
Maybe 2 limits (one that indicates that anything bigger than this is
sure to
get split, so always break it up, and another that says that anything
smaller
than this is sure not to be split, so use this size when you can't
afford a
split).
Regards
Suparna
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
next prev parent reply other threads:[~2002-04-22 6:50 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-04-18 22:58 Bio pool & scsi scatter gather pool usage Mark Peloquin
2002-04-18 23:36 ` Alan Cox
2002-04-18 23:48 ` Andrew Morton
2002-04-19 7:29 ` Stephen Lord
2002-04-19 8:08 ` Joe Thornber
2002-04-19 8:51 ` Alan Cox
2002-04-19 8:58 ` Alan Cox
2002-04-19 15:27 ` Steve Lord
2002-04-19 15:57 ` Alan Cox
2002-04-19 15:51 ` Rik van Riel
2002-04-22 6:50 ` Suparna Bhattacharya [this message]
2002-04-22 7:06 ` arjan
2002-04-22 7:54 ` Suparna Bhattacharya
2002-04-24 10:20 ` Helge Hafting
2002-04-19 18:15 ` Oliver Xymoron
-- strict thread matches above, loose matches on Subject: below --
2002-04-18 23:11 Douglas Gilbert
2002-04-18 18:23 Mark Peloquin
2002-04-18 18:57 ` Andrew Morton
2002-04-19 15:44 ` Denis Vlasenko
2002-04-25 19:43 ` Mike Fedyk
2002-04-25 19:56 ` Andrew Morton
2002-04-25 19:59 ` David Mansfield
2002-04-18 13:58 Mark Peloquin
2002-04-18 16:17 ` Andrew Morton
2002-04-18 17:35 ` Andrew Morton
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=3CC3B2AA.80217EA0@in.ibm.com \
--to=suparna@in.ibm.com \
--cc=akpm@zip.com.au \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=lord@sgi.com \
--cc=peloquin@us.ibm.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