Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Ext3: use unlikely to improve the efficiency of the kernel

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>

authored by

Wang Shilong and committed by
Jan Kara
1b7d76e9 2b0542a4

+7 -7
+3 -3
fs/ext3/inode.c
··· 1082 1082 if (!err && buffer_mapped(&dummy)) { 1083 1083 struct buffer_head *bh; 1084 1084 bh = sb_getblk(inode->i_sb, dummy.b_blocknr); 1085 - if (!bh) { 1085 + if (unlikely(!bh)) { 1086 1086 *errp = -EIO; 1087 1087 goto err; 1088 1088 } ··· 2733 2733 return -EIO; 2734 2734 2735 2735 bh = sb_getblk(inode->i_sb, block); 2736 - if (!bh) { 2736 + if (unlikely(!bh)) { 2737 2737 ext3_error (inode->i_sb, "ext3_get_inode_loc", 2738 2738 "unable to read inode block - " 2739 2739 "inode=%lu, block="E3FSBLK, ··· 2787 2787 2788 2788 bitmap_bh = sb_getblk(inode->i_sb, 2789 2789 le32_to_cpu(desc->bg_inode_bitmap)); 2790 - if (!bitmap_bh) 2790 + if (unlikely(!bitmap_bh)) 2791 2791 goto make_io; 2792 2792 2793 2793 /*
+3 -3
fs/ext3/resize.c
··· 116 116 int err; 117 117 118 118 bh = sb_getblk(sb, blk); 119 - if (!bh) 119 + if (unlikely(!bh)) 120 120 return ERR_PTR(-EIO); 121 121 if ((err = ext3_journal_get_write_access(handle, bh))) { 122 122 brelse(bh); ··· 234 234 goto exit_bh; 235 235 236 236 gdb = sb_getblk(sb, block); 237 - if (!gdb) { 237 + if (unlikely(!gdb)) { 238 238 err = -EIO; 239 239 goto exit_bh; 240 240 } ··· 722 722 break; 723 723 724 724 bh = sb_getblk(sb, group * bpg + blk_off); 725 - if (!bh) { 725 + if (unlikely(!bh)) { 726 726 err = -EIO; 727 727 break; 728 728 }
+1 -1
fs/ext3/xattr.c
··· 813 813 ea_idebug(inode, "creating block %d", block); 814 814 815 815 new_bh = sb_getblk(sb, block); 816 - if (!new_bh) { 816 + if (unlikely(!new_bh)) { 817 817 getblk_failed: 818 818 ext3_free_blocks(handle, inode, block, 1); 819 819 error = -EIO;