[2.6 patch] remove four superfluous BUG's in ReiserFS
The trivial patch below by Randy Hron still applies agains 2.6.0-test1. Please apply Adrian - Forwarded message from [EMAIL PROTECTED] - Date: Tue, 15 Apr 2003 10:30:24 -0400 From: [EMAIL PROTECTED] To: [EMAIL PROTECTED], [EMAIL PROTECTED] Subject: Re: BUGed to death The patch below eliminates 4 BUG() calls that clearly cannot happen based on the context. --- linux-2.5.67-mm2/fs/reiserfs/hashes.c.orig 2003-04-15 10:11:44.0 -0400 +++ linux-2.5.67-mm2/fs/reiserfs/hashes.c 2003-04-15 10:13:43.0 -0400 @@ -90,10 +90,6 @@ if (len >= 12) { - //assert(len < 16); - if (len >= 16) - BUG(); - a = (u32)msg[ 0] | (u32)msg[ 1] << 8 | (u32)msg[ 2] << 16| @@ -116,9 +112,6 @@ } else if (len >= 8) { - //assert(len < 12); - if (len >= 12) - BUG(); a = (u32)msg[ 0] | (u32)msg[ 1] << 8 | (u32)msg[ 2] << 16| @@ -137,9 +130,6 @@ } else if (len >= 4) { - //assert(len < 8); - if (len >= 8) - BUG(); a = (u32)msg[ 0] | (u32)msg[ 1] << 8 | (u32)msg[ 2] << 16| @@ -154,9 +144,6 @@ } else { - //assert(len < 4); - if (len >= 4) - BUG(); a = b = c = d = pad; for(i = 0; i < len; i++) { -- Randy Hron http://home.earthlink.net/~rwhron/kernel/bigbox.html - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ - End forwarded message -
Re: [2.6 patch] remove four superfluous BUG's in ReiserFS
The patch is a cleanup. It saves 85 bytes on x86. size hashes.o* textdata bss dec hex filename 1333 16 01349 545 hashes.o 1248 16 01264 4f0 hashes.o.new I tested the patch on uniprocessor x86 on filesystems created with: yes "y" | mkreiserfs --format 3.6 -h tea /dev/hdc1 mount -t reiserfs -o defaults,noatime,notail /dev/hdc1 /fs1 The keyed_hash function has 20 less instructions on x86, but performance improvement is very small. The default hash is r5, so in the common case, the patch doesn't do anything except save a few bytes. Time to run "dbench-2.0 32" 4x and "dbench-2.0 64" 5x. 2.6.0-test1-ac2-r 8560 seconds (patched) 2.6.0-test1-ac2-t 8615 seconds The patched version is about .5% faster. Oddly, the 3rd dbench 32 run on the unpatched version had 2 dbench processes that stayed Sleeping. Killing the dbench processes let everything continue. Because of that one skewed run, I deleted the 3rd dbench time from the "seconds" above for both kernels. bonnie++-1.03a didn't have much different between patched and unpatched except for sequential block i/o. Sequential Output --Block-- Kernel Size MB/sec %CPU Eff reiserfs-2.6.0-test1-ac2-r 1024 19.22 75.0 25.63 (patched) reiserfs-2.6.0-test1-ac2-t 1024 18.18 70.0 25.97 tiobench-0.3.3 improvement with the patch was also small. -- Randy Hron http://home.earthlink.net/~rwhron/kernel/bigbox.html