lkml.org 
[lkml]   [2010]   [May]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 2/2] fs: optimize mpage_bio_submit()
    From: Changli Gao <xiaosuo@gmail.com>
    Date: Sat, May 29, 2010 at 09:19:26AM +0800

    > optimize mpage_bio_submit()
    >
    > check rw, then initialize bio->bi_end_io.
    >
    > Signed-off-by: Changli Gao <xiaosuo@gmail.com>
    > ----
    > fs/mpage.c | 4 +---
    > 1 file changed, 1 insertion(+), 3 deletions(-)
    > diff --git a/fs/mpage.c b/fs/mpage.c
    > index 94ff0d1..632681c 100644
    > --- a/fs/mpage.c
    > +++ b/fs/mpage.c
    > @@ -85,9 +85,7 @@ static void mpage_end_io_write(struct bio *bio, int err)
    >
    > static struct bio *mpage_bio_submit(int rw, struct bio *bio)
    > {
    > - bio->bi_end_io = mpage_end_io_read;
    > - if (rw == WRITE)
    > - bio->bi_end_io = mpage_end_io_write;
    > + bio->bi_end_io = rw != WRITE ? mpage_end_io_read : mpage_end_io_write;
    > submit_bio(rw, bio);
    > return NULL;

    ok, can you sincerely tell me that your change makes the code more
    readable? And have you checked to see what the compiler actually
    "optimizes"?

    original code:

    movq $mpage_end_io_read, %rdx #, tmp65
    movq $mpage_end_io_write, %rax #, tmp64
    cmpl $1, %edi #, rw
    cmovne %rdx, %rax # tmp65,, tmp64
    movq %rax, 80(%rsi) # tmp64, <variable>.bi_end_io
    .loc 1 91 0
    call submit_bio #

    your change:

    movq $mpage_end_io_read, %rdx #, tmp63
    movq $mpage_end_io_write, %rax #, iftmp.561
    cmpl $1, %edi #, rw
    cmovne %rdx, %rax # tmp63,, iftmp.561
    movq %rax, 80(%rsi) # iftmp.561, <variable>.bi_end_io
    .loc 1 90 0
    call submit_bio #

    so that change does nothing except obfuscating the source a bit more so
    that you get more headaches whenever you look at it.

    --
    Regards/Gruss,
    Boris.


    \
     
     \ /
      Last update: 2010-05-29 14:51    [W:0.024 / U:0.560 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site