linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Badari Pulavarty <pbadari@us.ibm.com>
To: christoph <hch@lst.de>
Cc: mcao@us.ibm.com, akpm@osdl.org,
	lkml <linux-kernel@vger.kernel.org>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	vs@namesys.com, zam@namesys.com
Subject: Re: [PATCH 0/3] map multiple blocks in get_block() and mpage_readpages()
Date: Fri, 24 Feb 2006 09:19:08 -0800	[thread overview]
Message-ID: <1140801549.22756.195.camel@dyn9047017100.beaverton.ibm.com> (raw)
In-Reply-To: <20060222151216.GA22946@lst.de>

On Wed, 2006-02-22 at 16:12 +0100, christoph wrote:
..
> Thanks Badari, with that interface changes the mpage_readpage changes
> look a lot nicer than my original version.  I'd like to second
> the request to put it into -mm. 
> 
> And if the namesys folks could try out whether this works for their
> reiser4 requirements it'd be nice.  If you have an even faster
> ->readpages I'd be interested in that secrete souce receipe for
> further improvement to mpage_readpages.

I don't have any secret receipes, but I was thinking of re-organizing
the code a little. Complexity is due to "confused" case and 
"blocksize < pagesize" cases + going in-and-out of the worker routine
with stored state.

I am thinking of having a "fast path" which doesn't deal with any
of those and "slow" path to deal with all that non-sense.
Something like ..

mpage_readpages()
{
	if (block-size < page-size)
		slow_path;

	while (nr-pages) {
		if (get_block(bh)) 
			slow_path;
		if (uptodate(bh))
			slow_path;
		while (bh.b_size) {
			if (not contig)
				submit bio();
			add all the pages we can to bio();
			bh.b_size -= size-of-pages-added;
			nr_pages -= count-of-pages-added;
		}

	}
}

slow_path is going to be slow & ugly. How important is to handle
1k, 2k filesystems efficiently ? Should I try ?
	
Thanks,
Badari


  parent reply	other threads:[~2006-02-24 17:17 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-20 21:21 [PATCH 0/3] map multiple blocks in get_block() and mpage_readpages() Badari Pulavarty
2006-02-20 21:23 ` [PATCH 1/3] pass b_size to ->get_block() Badari Pulavarty
2006-02-20 21:23 ` [PATCH 2/3] map multiple blocks for mpage_readpages() Badari Pulavarty
2006-02-23  3:29   ` Suparna Bhattacharya
2006-02-23 22:18     ` Badari Pulavarty
2006-02-20 21:24 ` [PATCH 3/3] remove ->get_blocks() support Badari Pulavarty
2006-02-20 21:59 ` [PATCH 0/3] map multiple blocks in get_block() and mpage_readpages() Nathan Scott
2006-02-20 23:06   ` Badari Pulavarty
2006-02-20 23:16     ` Nathan Scott
2006-02-21  2:41   ` Jeremy Higdon
2006-02-21 16:03     ` Badari Pulavarty
2006-02-21 21:39       ` Nathan Scott
2006-02-22 15:12 ` christoph
2006-02-22 16:58   ` Badari Pulavarty
2006-02-22 16:59     ` christoph
2006-02-23  1:40       ` Nathan Scott
2006-02-23  1:59         ` Andrew Morton
2006-02-23 16:28           ` [PATCH] change b_size to size_t Badari Pulavarty
2006-02-23 16:32             ` Benjamin LaHaise
2006-02-23 17:20               ` Badari Pulavarty
2006-02-23 17:28               ` Badari Pulavarty
2006-02-23 17:29                 ` Benjamin LaHaise
2006-02-23 18:46                   ` Badari Pulavarty
2006-02-23 17:40                 ` Badari Pulavarty
2006-02-23 16:40             ` Dave Kleikamp
2006-02-22 17:23     ` [PATCH 0/3] map multiple blocks in get_block() and mpage_readpages() Peter Staubach
2006-02-22 18:37     ` Dave Kleikamp
2006-02-22 19:00       ` Badari Pulavarty
2006-02-24 17:19   ` Badari Pulavarty [this message]
2006-03-06 10:03     ` Suparna Bhattacharya
2006-03-06 22:39       ` Nathan Scott
2006-03-07  9:00         ` Badari Pulavarty

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=1140801549.22756.195.camel@dyn9047017100.beaverton.ibm.com \
    --to=pbadari@us.ibm.com \
    --cc=akpm@osdl.org \
    --cc=hch@lst.de \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mcao@us.ibm.com \
    --cc=vs@namesys.com \
    --cc=zam@namesys.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;
as well as URLs for NNTP newsgroup(s).