Re: [PATCH 1/2] fs: optimize mpage_readpage()

From: Changli Gao
Date: Sat May 29 2010 - 09:27:21 EST


On Sat, May 29, 2010 at 8:10 PM, Borislav Petkov <bp@xxxxxxxxx> wrote:
> From: Changli Gao <xiaosuo@xxxxxxxxx>
> Date: Sat, May 29, 2010 at 09:18:46AM +0800
>
>> optimize mpage_readpage()
>>
>> we don't need to initialize bio, and pass it to do_mpage_readpage() as
>> parameter, as it is returned by do_mpage_readpage().
>>
>> Signed-off-by: Changli Gao <xiaosuo@xxxxxxxxx>
>> ----
>> Âfs/mpage.c | Â Â4 ++--
>> Â1 file changed, 2 insertions(+), 2 deletions(-)
>> diff --git a/fs/mpage.c b/fs/mpage.c
>> index fd56ca2..94ff0d1 100644
>> --- a/fs/mpage.c
>> +++ b/fs/mpage.c
>> @@ -409,14 +409,14 @@ EXPORT_SYMBOL(mpage_readpages);
>> Â */
>> Âint mpage_readpage(struct page *page, get_block_t get_block)
>> Â{
>> - Â Â struct bio *bio = NULL;
>> + Â Â struct bio *bio;
>> Â Â Â sector_t last_block_in_bio = 0;
>> Â Â Â struct buffer_head map_bh;
>> Â Â Â unsigned long first_logical_block = 0;
>>
>> Â Â Â map_bh.b_state = 0;
>> Â Â Â map_bh.b_size = 0;
>> - Â Â bio = do_mpage_readpage(bio, page, 1, &last_block_in_bio,
>> + Â Â bio = do_mpage_readpage(NULL, page, 1, &last_block_in_bio,
>> Â Â Â Â Â Â Â Â Â Â Â &map_bh, &first_logical_block, get_block);
>> Â Â Â if (bio)
>> Â Â Â Â Â Â Â mpage_bio_submit(READ, bio);
>
> Nope, I don't think that's a good idea.
>
> On the one hand, this is a trick to shut up gcc:
>
> fs/mpage.c: In function âmpage_readpageâ:
> fs/mpage.c:419: warning: âbioâ is used uninitialized in this function
>
> and, on the other hand, make sure bio is NULL and not some random stack
> value since bio is explicitly checked for NULL in do_mpage_readpage().
>

Did the compiler warning appear after applying my patch? It doesn't
happen when I testing it. And I don't pass bio to
do_mpage_readpage(), but I pass NULL instead.

--
Regardsï
Changli Gao(xiaosuo@xxxxxxxxx)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/