2006-02-15 00:00:56

by Badari Pulavarty

[permalink] [raw]
Subject: [PATCH 0/2] Add support to map multiple blocks in get_block() and remove get_blocks()

Hi,

Following patches add support to map multiple blocks in ->get_block().
This is will allow us to handle mapping of multiple disk blocks for
mpage_readpages() and mpage_writepages() etc. Instead of adding new
argument, I use "b_size" to indicate the amount of disk mapping needed
for get_block().

Now that get_block() can handle multiple blocks, there is no need
for ->get_blocks() which was added for DIO. Second patch removes
them.

[PATCH 1/2] map multiple blocks in get_block() for mpage_readpages()

[PATCH 2/2] remove ->get_blocks() support


Andrew, Please let me know if you want to pick these up into -mm
tree, since they need to be integrated with Mingming's ext3 multiblock
support.

Comments ?

Thanks,
Badari


2006-02-15 00:02:53

by Badari Pulavarty

[permalink] [raw]
Subject: [PATCH 1/2] map multiple blocks in get_block() for mpage_readpages()

This patch changes mpage_readpages() and get_block() to
get the disk mapping information for multiple blocks at the
same time.

Instead of adding new get_blocks() and pass it around every
where, I overload b_size of bufferhead to pass in how much
disk mapping we are requesting. Only the filesystems who
care to use this information and provide multiple disk
blocks at a time can choose to do so.

No changes are needed for the filesystems who wants to ignore this.

Thanks,
Badari



Attachments:
getblocks-readpages.patch (8.98 kB)

2006-02-15 00:04:13

by Badari Pulavarty

[permalink] [raw]
Subject: [PATCH 2/2] remove ->get_blocks() support

Now that get_block() can handle mapping multiple disk blocks,
no need to have ->get_blocks(). This patch removes fs specific
->get_blocks() added for DIO and makes it users use get_block()
instead.

Thanks,
Badari



Attachments:
remove-getblocks.patch (16.18 kB)

2006-02-15 21:29:14

by Mingming Cao

[permalink] [raw]
Subject: Re: [PATCH 0/2] Add support to map multiple blocks in get_block() and remove get_blocks()

On Tue, 2006-02-14 at 16:02 -0800, Badari Pulavarty wrote:
> Hi,
>
> Following patches add support to map multiple blocks in ->get_block().
> This is will allow us to handle mapping of multiple disk blocks for
> mpage_readpages() and mpage_writepages() etc. Instead of adding new
> argument, I use "b_size" to indicate the amount of disk mapping needed
> for get_block().
>
> Now that get_block() can handle multiple blocks, there is no need
> for ->get_blocks() which was added for DIO. Second patch removes
> them.
>
> [PATCH 1/2] map multiple blocks in get_block() for mpage_readpages()
>
> [PATCH 2/2] remove ->get_blocks() support
>
>
> Andrew, Please let me know if you want to pick these up into -mm
> tree, since they need to be integrated with Mingming's ext3 multiblock
> support.
>

Hi Badari,

Patch looks good. Did you get a chance to combine your patches with the
ext3 multiple blocks map/allocation patches, and run some simple
buffered-IO read tests? It would be nice to see if there is any
performance or cpu-usage gain (or regression).

Mingming

2006-02-15 22:39:24

by Badari Pulavarty

[permalink] [raw]
Subject: Re: [PATCH 0/2] Add support to map multiple blocks in get_block() and remove get_blocks()

On Wed, 2006-02-15 at 13:29 -0800, Mingming Cao wrote:
> On Tue, 2006-02-14 at 16:02 -0800, Badari Pulavarty wrote:
> > Hi,
> >
> > Following patches add support to map multiple blocks in ->get_block().
> > This is will allow us to handle mapping of multiple disk blocks for
> > mpage_readpages() and mpage_writepages() etc. Instead of adding new
> > argument, I use "b_size" to indicate the amount of disk mapping needed
> > for get_block().
> >
> > Now that get_block() can handle multiple blocks, there is no need
> > for ->get_blocks() which was added for DIO. Second patch removes
> > them.
> >
> > [PATCH 1/2] map multiple blocks in get_block() for mpage_readpages()
> >
> > [PATCH 2/2] remove ->get_blocks() support
> >
> >
> > Andrew, Please let me know if you want to pick these up into -mm
> > tree, since they need to be integrated with Mingming's ext3 multiblock
> > support.
> >
>
> Hi Badari,
>
> Patch looks good. Did you get a chance to combine your patches with the
> ext3 multiple blocks map/allocation patches, and run some simple
> buffered-IO read tests? It would be nice to see if there is any
> performance or cpu-usage gain (or regression).

Here are the patches against -mm tree, with your ext3 mblock work.
Can you give it a test and see how they do ?

Thanks,
Badari



Attachments:
getblocks-readpages.patch (9.03 kB)
remove-getblocks.patch (17.34 kB)
Download all attachments