Ext3: use unlikely to improve the efficiency of the kernel
authorWang Shilong <wangsl-fnst@cn.fujitsu.com>
Sat, 12 Jan 2013 09:36:17 +0000 (01:36 -0800)
committerJan Kara <jack@suse.cz>
Mon, 21 Jan 2013 10:19:57 +0000 (11:19 +0100)
Because the function 'sb_getblk' seldomly fails to return
NULL value,it will be better to use unlikely to check it.

Signed-off-by: Wang Shilong <wangsl-fnst@cn.fujitsu.com>
Signed-off-by: Jan Kara <jack@suse.cz>
fs/ext3/inode.c
fs/ext3/resize.c
fs/ext3/xattr.c

index 6e4f8a529fbcebaebfad5f093d98fcc9601f3e91..d7df06839f6a002f51095a905a8230b7d96637d2 100644 (file)
@@ -1082,7 +1082,7 @@ struct buffer_head *ext3_getblk(handle_t *handle, struct inode *inode,
        if (!err && buffer_mapped(&dummy)) {
                struct buffer_head *bh;
                bh = sb_getblk(inode->i_sb, dummy.b_blocknr);
-               if (!bh) {
+               if (unlikely(!bh)) {
                        *errp = -EIO;
                        goto err;
                }
@@ -2733,7 +2733,7 @@ static int __ext3_get_inode_loc(struct inode *inode,
                return -EIO;
 
        bh = sb_getblk(inode->i_sb, block);
-       if (!bh) {
+       if (unlikely(!bh)) {
                ext3_error (inode->i_sb, "ext3_get_inode_loc",
                                "unable to read inode block - "
                                "inode=%lu, block="E3FSBLK,
@@ -2787,7 +2787,7 @@ static int __ext3_get_inode_loc(struct inode *inode,
 
                        bitmap_bh = sb_getblk(inode->i_sb,
                                        le32_to_cpu(desc->bg_inode_bitmap));
-                       if (!bitmap_bh)
+                       if (unlikely(!bitmap_bh))
                                goto make_io;
 
                        /*
index 0f814f3450de65174573b7ccd0ee4be34ab89065..704e8ce7d782e434a73798fc08d48e5e1aef6b04 100644 (file)
@@ -116,7 +116,7 @@ static struct buffer_head *bclean(handle_t *handle, struct super_block *sb,
        int err;
 
        bh = sb_getblk(sb, blk);
-       if (!bh)
+       if (unlikely(!bh))
                return ERR_PTR(-EIO);
        if ((err = ext3_journal_get_write_access(handle, bh))) {
                brelse(bh);
@@ -234,7 +234,7 @@ static int setup_new_group_blocks(struct super_block *sb,
                        goto exit_bh;
 
                gdb = sb_getblk(sb, block);
-               if (!gdb) {
+               if (unlikely(!gdb)) {
                        err = -EIO;
                        goto exit_bh;
                }
@@ -722,7 +722,7 @@ static void update_backups(struct super_block *sb,
                        break;
 
                bh = sb_getblk(sb, group * bpg + blk_off);
-               if (!bh) {
+               if (unlikely(!bh)) {
                        err = -EIO;
                        break;
                }
index d22ebb7a4f55b3fb947e5718c1fbb4d109a7871b..9f57470b1727868bfb8d22da1e0df11a1a98aeb3 100644 (file)
@@ -813,7 +813,7 @@ inserted:
                        ea_idebug(inode, "creating block %d", block);
 
                        new_bh = sb_getblk(sb, block);
-                       if (!new_bh) {
+                       if (unlikely(!new_bh)) {
 getblk_failed:
                                ext3_free_blocks(handle, inode, block, 1);
                                error = -EIO;