Gmane
Favicon
From: Badari Pulavarty <pbadari <at> us.ibm.com>
Subject: [PATCH 0/4] map multiple blocks in get_block() and mpage_readpages()
Newsgroups: gmane.linux.kernel
Date: 2006-02-27 21:20:39 GMT (3 years, 18 weeks, 1 day, 3 hours and 46 minutes ago)
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(). And also, on success get_block() actually indicates
the amount of disk mapping it did.

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

[PATCH 1/4] change buffer_head.b_size to size_t

[PATCH 2/4] pass b_size to ->get_block()

[PATCH 3/4] map multiple blocks for mpage_readpages()

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

I noticed decent improvements (reduced sys time) on JFS, XFS and ext3.
(on simple "dd" read tests).

         (rc3.mm1)      (rc3.mm1 + patches)
real    0m18.814s       0m18.482s
user    0m0.000s        0m0.004s
sys     0m3.240s        0m2.912s

Andrew, Could you include it in -mm tree ?

Comments ?

Thanks,
Badari