On Tue, Aug 11 2015, Chandan Rajendra wrote: > On a ppc64 machine, when fio is invoked with the following configuration file > (generated by fstests' generic/300 test), it loops indefinitely. > > [global] > directory=/mnt/btrfs-xfstest-scratch > filesize=536870912 > size=999G > continue_on_error=write > ignore_error=,ENOSPC > error_dump=0 > > create_on_open=1 > fallocate=none > exitall=1 > > [direct_aio_raicer] > ioengine=libaio > iodepth=128*1 > bs=128k > direct=1 > numjobs=4 > rw=randwrite > runtime=100*1 > time_based > filename=racer > > [falloc_raicer] > ioengine=falloc > runtime=100*1 > iodepth=1 > bssplit=128k/80:512k/10:32k/10 > rw=randwrite > numjobs=1 > filename=racer > > [punch_hole_raicer] > ioengine=falloc > runtime=100*1 > bs=4k > time_based=10 > rw=randtrim > numjobs=2 > filename=racer > time_based > > [aio-dio-verifier] > ioengine=libaio > iodepth=128*1 > numjobs=1 > verify=crc32c-intel > verify_fatal=1 > verify_dump=1 > verify_backlog=1024 > verify_async=4 > verifysort=1 > direct=1 > bs=4k > rw=randwrite > filename=aio-dio-verifier > > This is because arch_ffz() ends up invoking the 32-bit version of __ilog2() > which always returns a bit number in the range 0 - 31. This can cause > "overlap" variable in axmap_set_fn() to never becomes zero. > > To fix this the commit adds a 64-bit version of __ilog2() (obtained from the > Linux kernel's arch/powerpc/include/asm/bitops.h). Awesome, thanks! This resolves an issue that someone reported a while back that only happened on ppc, and this explains it. -- Jens Axboe -- To unsubscribe from this list: send the line "unsubscribe fio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html