xfs
[Top] [All Lists]

[PATCH v2] libxfs: Optimize the loop for xfs_bitmap_empty

To: xfs@xxxxxxxxxxx
Subject: [PATCH v2] libxfs: Optimize the loop for xfs_bitmap_empty
From: Jia He <hejianet@xxxxxxxxx>
Date: Wed, 11 Nov 2015 15:49:01 +0800
Cc: Jia He <hejianet@xxxxxxxxx>, Dave Chinner <david@xxxxxxxxxxxxx>, Brian Foster <bfoster@xxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=nqwfne499QA+5j2nO94JT01Zoubr4ZPQtT7lgU8ckdE=; b=LVM/ySvT/NoOL7yDc8Udo25MX5Ikttb2JOFMUBWHZEpp2kN10b3ztKrOOKhKj8staV GfR8mTAXBV/LahCv9lBsE/piE/VG74MCRyT6AS8D9kPrHGzMBZq333KkSf4uaLtzkmsK PKQWAfWkTMFjh2Fmls91xbC13ZIKH+RqEMW+6/O1vwSAHIBsdBDfRoCKK7jxs+lETyLI 8mrDkatAJQjGsieE6OTxMtMJdcGyQmynXBP46zYDHvWb8hZFPRURcTOkbWLGxr70BAxc Bu75yariWWHrbVsqkdGmIdkNQ6uwbpAdePHryWn27sXIjRlpmdgW3rkZN5aDDt9Zokhs m8Nw==
In-reply-to: <20151110125403.GC21670@xxxxxxxxxxxxxxx>
References: <20151110125403.GC21670@xxxxxxxxxxxxxxx>
If there is any non zero bit in a long bitmap, it can jump out of the
loop and finish the function as soon as possible.

Signed-off-by: Jia He <hejianet@xxxxxxxxx>
Cc: Dave Chinner <david@xxxxxxxxxxxxx> 
Cc: Brian Foster <bfoster@xxxxxxxxxx> 
---
 fs/xfs/libxfs/xfs_bit.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/xfs/libxfs/xfs_bit.c b/fs/xfs/libxfs/xfs_bit.c
index 0e8885a..0a94cce 100644
--- a/fs/xfs/libxfs/xfs_bit.c
+++ b/fs/xfs/libxfs/xfs_bit.c
@@ -32,13 +32,13 @@ int
 xfs_bitmap_empty(uint *map, uint size)
 {
        uint i;
-       uint ret = 0;
 
        for (i = 0; i < size; i++) {
-               ret |= map[i];
+               if (map[i] != 0)
+                       return 0;
        }
 
-       return (ret == 0);
+       return 1;
 }
 
 /*
-- 
2.5.0

<Prev in Thread] Current Thread [Next in Thread>