diff --git a/src/test/blk_nblock/TEST0 b/src/test/blk_nblock/TEST0
index 26a555de500c2f073fd274c80abf9bd4e7db4638..f71a1ef832f6e7a790a25aa0c48c5216b0c8eef2 100755
--- a/src/test/blk_nblock/TEST0
+++ b/src/test/blk_nblock/TEST0
@@ -41,6 +41,7 @@ require_test_type medium
 
 require_fs_type any
 require_unlimited_vm
+exclude_ppc64
 
 # this test creates huge files
 configure_valgrind force-disable
diff --git a/src/test/blk_nblock/TEST1 b/src/test/blk_nblock/TEST1
index 236d4d98f3821f4ad5d208406ee76c804cf507ee..363aebac92ffd03cf15ab4e96d4efdb18891f426 100755
--- a/src/test/blk_nblock/TEST1
+++ b/src/test/blk_nblock/TEST1
@@ -40,6 +40,7 @@
 require_test_type medium
 
 require_fs_type any
+exclude_ppc64
 
 setup
 
diff --git a/src/test/blk_nblock/TEST3 b/src/test/blk_nblock/TEST3
new file mode 100755
index 0000000000000000000000000000000000000000..de6ddd8c4cb9d614067ea1fe4b91690b74252180
--- /dev/null
+++ b/src/test/blk_nblock/TEST3
@@ -0,0 +1,185 @@
+#!/usr/bin/env bash
+#
+# Copyright 2014-2019, Intel Corporation
+# Copyright 2019, IBM Corporation
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in
+#       the documentation and/or other materials provided with the
+#       distribution.
+#
+#     * Neither the name of the copyright holder nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+# src/test/blk_nblock/TEST3 -- unit test for pmemblk_nblock
+#
+# This test is equivalent of TEST0 for ppc64le platform.
+#
+
+. ../unittest/unittest.sh
+
+require_test_type medium
+
+require_fs_type any
+require_unlimited_vm
+require_ppc64
+
+# this test creates huge files
+configure_valgrind force-disable
+setup
+
+#
+# Create a gajillion files, each file size created
+# has six versions for the six block sizes being tested.
+# Except for testfile1, since that should fail because
+# it is too small.
+#
+# These are holey files, so they actually don't take up
+# any significant space.
+#
+truncate -s 2M $DIR/testfile1
+truncate -s 2G $DIR/testfile2.512
+truncate -s 2G $DIR/testfile2.520
+truncate -s 2G $DIR/testfile2.528
+truncate -s 2G $DIR/testfile2.4096
+truncate -s 2G $DIR/testfile2.4160
+truncate -s 2G $DIR/testfile2.4224
+truncate -s 512G $DIR/testfile3.512
+truncate -s 512G $DIR/testfile3.520
+truncate -s 512G $DIR/testfile3.528
+truncate -s 512G $DIR/testfile3.4096
+truncate -s 512G $DIR/testfile3.4160
+truncate -s 512G $DIR/testfile3.4224
+truncate -s 549755822080 $DIR/testfile4.512
+truncate -s 549755822080 $DIR/testfile4.520
+truncate -s 549755822080 $DIR/testfile4.528
+truncate -s 549755822080 $DIR/testfile4.4096
+truncate -s 549755822080 $DIR/testfile4.4160
+truncate -s 549755822080 $DIR/testfile4.4224
+truncate -s 513G $DIR/testfile5.512
+truncate -s 513G $DIR/testfile5.520
+truncate -s 513G $DIR/testfile5.528
+truncate -s 513G $DIR/testfile5.4096
+truncate -s 513G $DIR/testfile5.4160
+truncate -s 513G $DIR/testfile5.4224
+truncate -s 514G $DIR/testfile6.512
+truncate -s 514G $DIR/testfile6.520
+truncate -s 514G $DIR/testfile6.528
+truncate -s 514G $DIR/testfile6.4096
+truncate -s 514G $DIR/testfile6.4160
+truncate -s 514G $DIR/testfile6.4224
+# MINIMUM POOL SIZE = 16MB + 8KB
+MIN_POOL_SIZE=$((16*1024*1024 + 128*1024))
+truncate -s $MIN_POOL_SIZE $DIR/testfile7.512
+truncate -s $MIN_POOL_SIZE $DIR/testfile7.520
+truncate -s $MIN_POOL_SIZE $DIR/testfile7.528
+truncate -s $MIN_POOL_SIZE $DIR/testfile7.4096
+truncate -s $MIN_POOL_SIZE $DIR/testfile7.4160
+truncate -s $MIN_POOL_SIZE $DIR/testfile7.4224
+
+# should fail:
+#	512:$DIR/testfile1 (file is too small)
+#	4096:$DIR/testfile2.512 (bsize doesn't match pool)
+expect_normal_exit ./blk_nblock$EXESUFFIX\
+	512:$DIR/testfile1\
+	512:$DIR/testfile2.512\
+	4096:$DIR/testfile2.512\
+	520:$DIR/testfile2.520\
+	528:$DIR/testfile2.528\
+	4096:$DIR/testfile2.4096\
+	4160:$DIR/testfile2.4160\
+	4224:$DIR/testfile2.4224\
+	512:$DIR/testfile3.512\
+	520:$DIR/testfile3.520\
+	528:$DIR/testfile3.528\
+	4096:$DIR/testfile3.4096\
+	4160:$DIR/testfile3.4160\
+	4224:$DIR/testfile3.4224\
+	512:$DIR/testfile4.512\
+	520:$DIR/testfile4.520\
+	528:$DIR/testfile4.528\
+	4096:$DIR/testfile4.4096\
+	4160:$DIR/testfile4.4160\
+	4224:$DIR/testfile4.4224\
+	512:$DIR/testfile5.512\
+	520:$DIR/testfile5.520\
+	528:$DIR/testfile5.528\
+	4096:$DIR/testfile5.4096\
+	4160:$DIR/testfile5.4160\
+	4224:$DIR/testfile5.4224\
+	512:$DIR/testfile6.512\
+	520:$DIR/testfile6.520\
+	528:$DIR/testfile6.528\
+	4096:$DIR/testfile6.4096\
+	4160:$DIR/testfile6.4160\
+	4224:$DIR/testfile6.4224\
+	512:$DIR/testfile7.512\
+	520:$DIR/testfile7.520\
+	528:$DIR/testfile7.528\
+	4096:$DIR/testfile7.4096\
+	4160:$DIR/testfile7.4160\
+	4224:$DIR/testfile7.4224
+
+check_pools $DIR/testfile2.512\
+	$DIR/testfile2.512\
+	$DIR/testfile2.520\
+	$DIR/testfile2.528\
+	$DIR/testfile2.4096\
+	$DIR/testfile2.4160\
+	$DIR/testfile2.4224\
+	$DIR/testfile3.512\
+	$DIR/testfile3.520\
+	$DIR/testfile3.528\
+	$DIR/testfile3.4096\
+	$DIR/testfile3.4160\
+	$DIR/testfile3.4224\
+	$DIR/testfile4.512\
+	$DIR/testfile4.520\
+	$DIR/testfile4.528\
+	$DIR/testfile4.4096\
+	$DIR/testfile4.4160\
+	$DIR/testfile4.4224\
+	$DIR/testfile5.512\
+	$DIR/testfile5.520\
+	$DIR/testfile5.528\
+	$DIR/testfile5.4096\
+	$DIR/testfile5.4160\
+	$DIR/testfile5.4224\
+	$DIR/testfile6.512\
+	$DIR/testfile6.520\
+	$DIR/testfile6.528\
+	$DIR/testfile6.4096\
+	$DIR/testfile6.4160\
+	$DIR/testfile6.4224\
+	$DIR/testfile7.512\
+	$DIR/testfile7.520\
+	$DIR/testfile7.528\
+	$DIR/testfile7.4096\
+	$DIR/testfile7.4160\
+	$DIR/testfile7.4224
+
+check
+
+pass
diff --git a/src/test/blk_nblock/TEST4 b/src/test/blk_nblock/TEST4
new file mode 100755
index 0000000000000000000000000000000000000000..f6a5df633a097d2a1317d9ed32f22f70bae30230
--- /dev/null
+++ b/src/test/blk_nblock/TEST4
@@ -0,0 +1,118 @@
+#!/usr/bin/env bash
+#
+# Copyright 2014-2019, Intel Corporation
+# Copyright 2019, IBM Corporation
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in
+#       the documentation and/or other materials provided with the
+#       distribution.
+#
+#     * Neither the name of the copyright holder nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+# src/test/blk_nblock/TEST4 -- unit test for pmemblk_nblock
+#
+# This test is equivalent of TEST1 for ppc64le platform.
+#
+
+. ../unittest/unittest.sh
+
+require_test_type medium
+
+require_fs_type any
+require_ppc64
+
+setup
+
+#
+# Create many files with different block sizes - most of
+# them corner cases.
+#
+# These are holey files, so they actually don't take up
+# any significant space.
+#
+truncate -s 1G $DIR/testfile1.2096640
+truncate -s 1G $DIR/testfile1.2096641
+truncate -s 2G $DIR/testfile2.0
+truncate -s 2G $DIR/testfile2.1
+truncate -s 2G $DIR/testfile2.17
+truncate -s 2G $DIR/testfile2.511
+truncate -s 2G $DIR/testfile2.1048576
+truncate -s 2G $DIR/testfile2.2097152
+truncate -s 2G $DIR/testfile2.4194304
+truncate -s 2G $DIR/testfile2.8388608
+truncate -s 2G $DIR/testfile2.16777216
+truncate -s 2G $DIR/testfile2.33554432
+truncate -s 2G $DIR/testfile2.67108864
+truncate -s 2G $DIR/testfile2.134217728
+truncate -s 2G $DIR/testfile2.268435456
+truncate -s 2G $DIR/testfile2.536870912
+truncate -s 2G $DIR/testfile2.1073741824
+truncate -s 2G $DIR/testfile2.2147483648
+truncate -s 2G $DIR/testfile2.-1
+
+expect_normal_exit ./blk_nblock$EXESUFFIX\
+	2096640:$DIR/testfile1.2096640\
+	2096641:$DIR/testfile1.2096641\
+	0:$DIR/testfile2.0\
+	1:$DIR/testfile2.1\
+	17:$DIR/testfile2.17\
+	511:$DIR/testfile2.511\
+	1048576:$DIR/testfile2.1048576\
+	2097152:$DIR/testfile2.2097152\
+	4194304:$DIR/testfile2.4194304\
+	8388608:$DIR/testfile2.8388608\
+	16777216:$DIR/testfile2.16777216\
+	33554432:$DIR/testfile2.33554432\
+	67108864:$DIR/testfile2.67108864\
+	134217728:$DIR/testfile2.134217728\
+	268435456:$DIR/testfile2.268435456\
+	536870912:$DIR/testfile2.536870912\
+	1073741824:$DIR/testfile2.1073741824\
+	2147483648:$DIR/testfile2.2147483648\
+	-1:$DIR/testfile2.-1
+
+check_pools $DIR/testfile1.2096640\
+	$DIR/testfile1.2096641\
+	$DIR/testfile2.1\
+	$DIR/testfile2.17\
+	$DIR/testfile2.511\
+	$DIR/testfile2.1048576\
+	$DIR/testfile2.2097152\
+	$DIR/testfile2.4194304\
+	$DIR/testfile2.8388608\
+	$DIR/testfile2.16777216\
+	$DIR/testfile2.33554432\
+	$DIR/testfile2.67108864\
+	$DIR/testfile2.134217728\
+	$DIR/testfile2.268435456\
+	$DIR/testfile2.536870912\
+	$DIR/testfile2.1073741824\
+	$DIR/testfile2.2147483648\
+
+check
+
+pass
diff --git a/src/test/blk_nblock/out2.log.match b/src/test/blk_nblock/out2.log.match
index 5a6b6c054093674c6a795cd54068b71a613e1e7d..49a65f5c8c5d0b3eef3d85e4aab7d4ff1bea4f78 100644
--- a/src/test/blk_nblock/out2.log.match
+++ b/src/test/blk_nblock/out2.log.match
@@ -1,5 +1,7 @@
 blk_nblock$(nW)TEST2: START: blk_nblock
  $(nW)blk_nblock$(nW) 512:$(nW)testset1 512:$(nW)testset2
-$(nW)testset1: block size 512 usable blocks: 129728
-$(nW)testset2: block size 512 usable blocks: 259776
+$(OPT)$(nW)testset1: block size 512 usable blocks: 129728
+$(OPX)$(nW)testset1: block size 512 usable blocks: 129490
+$(OPT)$(nW)testset2: block size 512 usable blocks: 259776
+$(OPX)$(nW)testset2: block size 512 usable blocks: 259419
 blk_nblock$(nW)TEST2: DONE
diff --git a/src/test/blk_nblock/out3.log.match b/src/test/blk_nblock/out3.log.match
new file mode 100644
index 0000000000000000000000000000000000000000..391a0bca9523e994012e64f78dd5b2bbf8b25308
--- /dev/null
+++ b/src/test/blk_nblock/out3.log.match
@@ -0,0 +1,41 @@
+blk_nblock$(nW)TEST3: START: blk_nblock
+ $(nW)blk_nblock$(nW) 512:$(nW)testfile1 512:$(nW)testfile2.512 4096:$(nW)testfile2.512 520:$(nW)testfile2.520 528:$(nW)testfile2.528 4096:$(nW)testfile2.4096 4160:$(nW)testfile2.4160 4224:$(nW)testfile2.4224 512:$(nW)testfile3.512 520:$(nW)testfile3.520 528:$(nW)testfile3.528 4096:$(nW)testfile3.4096 4160:$(nW)testfile3.4160 4224:$(nW)testfile3.4224 512:$(nW)testfile4.512 520:$(nW)testfile4.520 528:$(nW)testfile4.528 4096:$(nW)testfile4.4096 4160:$(nW)testfile4.4160 4224:$(nW)testfile4.4224 512:$(nW)testfile5.512 520:$(nW)testfile5.520 528:$(nW)testfile5.528 4096:$(nW)testfile5.4096 4160:$(nW)testfile5.4160 4224:$(nW)testfile5.4224 512:$(nW)testfile6.512 520:$(nW)testfile6.520 528:$(nW)testfile6.528 4096:$(nW)testfile6.4096 4160:$(nW)testfile6.4160 4224:$(nW)testfile6.4224 512:$(nW)testfile7.512 520:$(nW)testfile7.520 528:$(nW)testfile7.528 4096:$(nW)testfile7.4096 4160:$(nW)testfile7.4160 4224:$(nW)testfile7.4224
+$(nW)testfile1: pmemblk_create: Invalid argument
+$(nW)testfile2.512: block size 512 usable blocks: 4161224
+$(nW)testfile2.512: pmemblk_create: File exists
+$(nW)testfile2.520: block size 520 usable blocks: 2781251
+$(nW)testfile2.528: block size 528 usable blocks: 2781251
+$(nW)testfile2.4096: block size 4096 usable blocks: 523481
+$(nW)testfile2.4160: block size 4160 usable blocks: 492701
+$(nW)testfile2.4224: block size 4224 usable blocks: 492701
+$(nW)testfile3.512: block size 512 usable blocks: 1065417678
+$(nW)testfile3.520: block size 520 usable blocks: 712118466
+$(nW)testfile3.528: block size 528 usable blocks: 712118466
+$(nW)testfile3.4096: block size 4096 usable blocks: 134086488
+$(nW)testfile3.4160: block size 4160 usable blocks: 126206276
+$(nW)testfile3.4224: block size 4224 usable blocks: 126206276
+$(nW)testfile4.512: block size 512 usable blocks: 1065417678
+$(nW)testfile4.520: block size 520 usable blocks: 712118466
+$(nW)testfile4.528: block size 528 usable blocks: 712118466
+$(nW)testfile4.4096: block size 4096 usable blocks: 134086488
+$(nW)testfile4.4160: block size 4160 usable blocks: 126206276
+$(nW)testfile4.4224: block size 4224 usable blocks: 126206276
+$(nW)testfile5.512: block size 512 usable blocks: 1067498261
+$(nW)testfile5.520: block size 520 usable blocks: 713509030
+$(nW)testfile5.528: block size 528 usable blocks: 713509030
+$(nW)testfile5.4096: block size 4096 usable blocks: 134348113
+$(nW)testfile5.4160: block size 4160 usable blocks: 126452510
+$(nW)testfile5.4224: block size 4224 usable blocks: 126452510
+$(nW)testfile6.512: block size 512 usable blocks: 1069579156
+$(nW)testfile6.520: block size 520 usable blocks: 714899887
+$(nW)testfile6.528: block size 528 usable blocks: 714899887
+$(nW)testfile6.4096: block size 4096 usable blocks: 134610001
+$(nW)testfile6.4160: block size 4160 usable blocks: 126699007
+$(nW)testfile6.4224: block size 4224 usable blocks: 126699007
+$(nW)testfile7.512: block size 512 usable blocks: 32202
+$(nW)testfile7.520: block size 520 usable blocks: 21439
+$(nW)testfile7.528: block size 528 usable blocks: 21439
+$(nW)testfile7.4096: block size 4096 usable blocks: 3829
+$(nW)testfile7.4160: block size 4160 usable blocks: 3588
+$(nW)testfile7.4224: block size 4224 usable blocks: 3588
+blk_nblock$(nW)TEST3: DONE
diff --git a/src/test/blk_nblock/out4.log.match b/src/test/blk_nblock/out4.log.match
new file mode 100644
index 0000000000000000000000000000000000000000..d677b5c7180ebccd5f4cbedd8be159bd35255bff
--- /dev/null
+++ b/src/test/blk_nblock/out4.log.match
@@ -0,0 +1,22 @@
+blk_nblock$(nW)TEST4: START: blk_nblock
+ $(nW)blk_nblock$(nW) 2096640:$(nW)testfile1.2096640 2096641:$(nW)testfile1.2096641 0:$(nW)testfile2.0 1:$(nW)testfile2.1 17:$(nW)testfile2.17 511:$(nW)testfile2.511 1048576:$(nW)testfile2.1048576 2097152:$(nW)testfile2.2097152 4194304:$(nW)testfile2.4194304 8388608:$(nW)testfile2.8388608 16777216:$(nW)testfile2.16777216 33554432:$(nW)testfile2.33554432 67108864:$(nW)testfile2.67108864 134217728:$(nW)testfile2.134217728 268435456:$(nW)testfile2.268435456 536870912:$(nW)testfile2.536870912 1073741824:$(nW)testfile2.1073741824 2147483648:$(nW)testfile2.2147483648 -1:$(nW)testfile2.-1
+$(nW)testfile1.2096640: block size 2096640 usable blocks: 256
+$(nW)testfile1.2096641: pmemblk_create: Invalid argument
+$(nW)testfile2.0: pmemblk_create: Invalid argument
+$(nW)testfile2.1: block size 1 usable blocks: $(N)
+$(nW)testfile2.17: block size 17 usable blocks: $(N)
+$(nW)testfile2.511: block size 511 usable blocks: $(N)
+$(nW)testfile2.1048576: block size 1048576 usable blocks: 1791
+$(nW)testfile2.2097152: block size 2097152 usable blocks: 767
+$(nW)testfile2.4194304: pmemblk_create: Invalid argument
+$(nW)testfile2.8388608: pmemblk_create: Invalid argument
+$(nW)testfile2.16777216: pmemblk_create: Invalid argument
+$(nW)testfile2.33554432: pmemblk_create: Invalid argument
+$(nW)testfile2.67108864: pmemblk_create: Invalid argument
+$(nW)testfile2.134217728: pmemblk_create: Invalid argument
+$(nW)testfile2.268435456: pmemblk_create: Invalid argument
+$(nW)testfile2.536870912: pmemblk_create: Invalid argument
+$(nW)testfile2.1073741824: pmemblk_create: Invalid argument
+$(nW)testfile2.2147483648: pmemblk_create: Invalid argument
+$(nW)testfile2.-1: pmemblk_create: Invalid argument
+blk_nblock$(nW)TEST4: DONE
diff --git a/src/test/blk_non_zero/TEST10 b/src/test/blk_non_zero/TEST10
index 104e84a02587610692a315acf6b0dc53b9c5636d..b22d3c9e79604d397fa92df8efb1f26c52b333d9 100755
--- a/src/test/blk_non_zero/TEST10
+++ b/src/test/blk_non_zero/TEST10
@@ -44,13 +44,13 @@ require_fs_type any
 setup
 
 # single arena and minimum pmemblk pool file case
-create_nonzeroed_file 17M 8K $DIR/testfile1
+create_nonzeroed_file 17M $(blk_pool_desc_size) $DIR/testfile1
 
 expect_normal_exit ./blk_non_zero$EXESUFFIX 512 $DIR/testfile1 c 0\
 	t:3
 
 rm $DIR/testfile1
-create_nonzeroed_file 17M 8K $DIR/testfile1
+create_nonzeroed_file 17M $(blk_pool_desc_size) $DIR/testfile1
 
 expect_normal_exit ./blk_non_zero$EXESUFFIX 512 $DIR/testfile1 c 0\
 	m:3
diff --git a/src/test/blk_pool/out38.log.match b/src/test/blk_pool/out38.log.match
index 839aa26855227f5f1df0086c00451261ce594c1a..360d53bdec16f16a11a4af5458d1c0fc057a4bea 100644
--- a/src/test/blk_pool/out38.log.match
+++ b/src/test/blk_pool/out38.log.match
@@ -1,4 +1,4 @@
 blk_pool$(nW)TEST38: START: blk_pool
  $(nW)blk_pool$(nW) c $(nW)testset 100 0 0640
-$(nW)testset: file size 172 usable blocks 80592 mode 0666
+$(nW)testset: file size $(N) usable blocks 80592 mode 0666
 blk_pool$(nW)TEST38: DONE
diff --git a/src/test/blk_pool/out40.log.match b/src/test/blk_pool/out40.log.match
index 55c0a3bff2317e9186eecd4123cb05c3e0a35c60..60475c683ffbcb6118aa1d4106e72c7ed1fbc79f 100644
--- a/src/test/blk_pool/out40.log.match
+++ b/src/test/blk_pool/out40.log.match
@@ -1,4 +1,4 @@
 blk_pool$(nW)TEST40: START: blk_pool
  $(nW)blk_pool$(nW) c $(nW)testset 100 0 0640
-$(nW)testset: file size 768 usable blocks 34996 mode 0666
+$(nW)testset: file size $(N) usable blocks 34996 mode 0666
 blk_pool$(nW)TEST40: DONE
diff --git a/src/test/bttdevice/out0.log.match b/src/test/bttdevice/out0.log.match
index 79e165c313dc0031d2e7d40c4efdf250cbab6ae9..db9890213f8378a8d449fec46972baea15b35970 100644
--- a/src/test/bttdevice/out0.log.match
+++ b/src/test/bttdevice/out0.log.match
@@ -15,16 +15,21 @@ Flags                    : 0x0
 Major                    : 1
 Minor                    : 1
 External LBA size        : 1024
-External LBA count       : 20112
+$(OPT)External LBA count       : 20112
+$(OPX)External LBA count       : 20052
 Internal LBA size        : 1024
-Internal LBA count       : 20368
+$(OPT)Internal LBA count       : 20368
+$(OPX)Internal LBA count       : 20308
 Free blocks              : 256
 Info block size          : 4096
 Next arena offset        : 0x0
 Arena data offset        : 0x1000
-Area map offset          : 0x13e6000
-Area flog offset         : 0x13fa000
-Info block backup offset : 0x13fe000
+$(OPT)Area map offset          : 0x13e6000
+$(OPX)Area map offset          : 0x13d7000
+$(OPT)Area flog offset         : 0x13fa000
+$(OPX)Area flog offset         : 0x13eb000
+$(OPT)Info block backup offset : 0x13fe000
+$(OPX)Info block backup offset : 0x13ef000
 Checksum                 : $(XX) [OK]
 
 Create btt device - automatic uuid generation
@@ -44,14 +49,19 @@ Flags                    : 0x0
 Major                    : 1
 Minor                    : 1
 External LBA size        : 2048
-External LBA count       : 20168
+$(OPT)External LBA count       : 20168
+$(OPX)External LBA count       : 20138
 Internal LBA size        : 2048
-Internal LBA count       : 20424
+$(OPT)Internal LBA count       : 20424
+$(OPX)Internal LBA count       : 20394
 Free blocks              : 256
 Info block size          : 4096
 Next arena offset        : 0x0
 Arena data offset        : 0x1000
-Area map offset          : 0x27e6000
-Area flog offset         : 0x27fa000
-Info block backup offset : 0x27fe000
+$(OPT)Area map offset          : 0x27e6000
+$(OPX)Area map offset          : 0x27d7000
+$(OPT)Area flog offset         : 0x27fa000
+$(OPX)Area flog offset         : 0x27eb000
+$(OPT)Info block backup offset : 0x27fe000
+$(OPX)Info block backup offset : 0x27ef000
 Checksum                 : $(XX) [OK]
diff --git a/src/test/bttdevice/out1.log.match b/src/test/bttdevice/out1.log.match
index cec97a3f3fdfa4d59ea6b652c35910d318925edf..db930a8f1ead3239a5c2e458811e68052751688a 100644
--- a/src/test/bttdevice/out1.log.match
+++ b/src/test/bttdevice/out1.log.match
@@ -17,14 +17,19 @@ Flags                    : 0x0
 Major                    : 0
 Minor                    : 1
 External LBA size        : 10
-External LBA count       : 40322
+$(OPT)External LBA count       : 40322
+$(OPX)External LBA count       : 40203
 Internal LBA size        : 512
-Internal LBA count       : 40578
+$(OPT)Internal LBA count       : 40578
+$(OPX)Internal LBA count       : 40459
 Free blocks              : 256
 Info block size          : 4096
 Next arena offset        : 0x0
 Arena data offset        : 0x1000
-Area map offset          : 0x13d2000
-Area flog offset         : 0x13fa000
-Info block backup offset : 0x13fe000
+$(OPT)Area map offset          : 0x13d2000
+$(OPX)Area map offset          : 0x13c3000
+$(OPT)Area flog offset         : 0x13fa000
+$(OPX)Area flog offset         : 0x13eb000
+$(OPT)Info block backup offset : 0x13fe000
+$(OPX)Info block backup offset : 0x13ef000
 Checksum                 : $(XX) [wrong! should be: $(XX)]
diff --git a/src/test/pmempool_sync/TEST0 b/src/test/pmempool_sync/TEST0
index 1dd87ff57b73b9f1b59cf1e6e1caad9c73602463..aaf1d9eae1efc01ab958e0f397bd2fec9205570f 100755
--- a/src/test/pmempool_sync/TEST0
+++ b/src/test/pmempool_sync/TEST0
@@ -53,7 +53,7 @@ POOLSET=$DIR/pool0.set
 M=$(( 1024 * 1024 ))
 M20=$(( 20 * $M ))
 M40=$(( 40 * $M ))
-POOL_HEADER_OFFSET=4096
+POOL_HEADER_OFFSET=$(getconf PAGE_SIZE)
 ADDR_MASK=0xFFFFF000
 
 # Create poolset file
diff --git a/src/test/pmempool_sync/out10.log.match b/src/test/pmempool_sync/out10.log.match
index dbacc906bcf0df7a56da6f2fc24dacf1e9f55c0e..0bc890bc4bb8c629dc0b42069b9a3162df305b9e 100644
--- a/src/test/pmempool_sync/out10.log.match
+++ b/src/test/pmempool_sync/out10.log.match
@@ -33,7 +33,8 @@ Pool set UUID            : $(nW)
 
 PMEM OBJ Header:
 Layout                   : OBJ_LAYOUT$(nW)
-Lanes offset             : 0x2000
+$(OPT)Lanes offset             : 0x2000
+$(OPX)Lanes offset             : 0x20000
 Number of lanes          : 1024
 Heap offset              : $(nW)
 Heap size                : $(nW)
diff --git a/src/test/pmempool_sync/out2.log.match b/src/test/pmempool_sync/out2.log.match
index 01a4584ebe2715821831c7dcb234227bb8e78694..1a92c3460751ba1a425c6473ff5cece2dcbccfc6 100644
--- a/src/test/pmempool_sync/out2.log.match
+++ b/src/test/pmempool_sync/out2.log.match
@@ -34,7 +34,8 @@ Pool set UUID            : $(nW)
 
 PMEM OBJ Header:
 Layout                   : OBJ_LAYOUT$(nW)
-Lanes offset             : 0x2000
+$(OPT)Lanes offset             : 0x2000
+$(OPX)Lanes offset             : 0x20000
 Number of lanes          : 1024
 Heap offset              : $(nW)
 Heap size                : $(nW)
diff --git a/src/test/pmempool_sync/out4.log.match b/src/test/pmempool_sync/out4.log.match
index 0266fa4fd2c4f85cb929a4947b5000dc30f7c532..e6d3c587f6f8e353744089ef3e237f77974f1428 100644
--- a/src/test/pmempool_sync/out4.log.match
+++ b/src/test/pmempool_sync/out4.log.match
@@ -32,7 +32,8 @@ Pool set UUID            : $(nW)
 
 PMEM OBJ Header:
 Layout                   : OBJ_LAYOUT$(nW)
-Lanes offset             : 0x2000
+$(OPT)Lanes offset             : 0x2000
+$(OPX)Lanes offset             : 0x20000
 Number of lanes          : 1024
 Heap offset              : $(nW)
 Heap size                : $(nW)
diff --git a/src/test/pmempool_transform/out10.log.match b/src/test/pmempool_transform/out10.log.match
index 76ad05810c920d8ff8c68a43bfa85dbce86cb77a..1476db59f19e3ec8d4856c698a912e42616eaec8 100644
--- a/src/test/pmempool_transform/out10.log.match
+++ b/src/test/pmempool_transform/out10.log.match
@@ -35,7 +35,8 @@ Pool set UUID            : $(nW)
 
 PMEM OBJ Header:
 Layout                   : OBJ_LAYOUT$(nW)
-Lanes offset             : 0x2000
+$(OPT)Lanes offset             : 0x2000
+$(OPX)Lanes offset             : 0x20000
 Number of lanes          : 1024
 Heap offset              : $(nW)
 Heap size                : $(nW)
diff --git a/src/test/pmempool_transform/out13.log.match b/src/test/pmempool_transform/out13.log.match
index c07129319157307ae23c5e60efa1c163276b9216..a50ca6e16a29f4a8b1bd40f9e51ad6f35e4c9156 100644
--- a/src/test/pmempool_transform/out13.log.match
+++ b/src/test/pmempool_transform/out13.log.match
@@ -47,7 +47,8 @@ Pool set UUID            : $(nW)
 
 PMEM OBJ Header:
 Layout                   : OBJ_LAYOUT$(nW)
-Lanes offset             : 0x2000
+$(OPT)Lanes offset             : 0x2000
+$(OPX)Lanes offset             : 0x20000
 Number of lanes          : 1024
 Heap offset              : $(nW)
 Heap size                : $(nW)
@@ -68,7 +69,8 @@ Pool set UUID            : $(nW)
 
 PMEM OBJ Header:
 Layout                   : OBJ_LAYOUT$(nW)
-Lanes offset             : 0x2000
+$(OPT)Lanes offset             : 0x2000
+$(OPX)Lanes offset             : 0x20000
 Number of lanes          : 1024
 Heap offset              : $(nW)
 Heap size                : $(nW)
diff --git a/src/test/pmempool_transform/out17.log.match b/src/test/pmempool_transform/out17.log.match
index bc14a01cb7cfd5a973f9686562982b0b7c3173df..629668f2d6a9cf453441f6ed824f0ba27999dd5d 100644
--- a/src/test/pmempool_transform/out17.log.match
+++ b/src/test/pmempool_transform/out17.log.match
@@ -47,7 +47,8 @@ Pool set UUID            : $(nW)
 
 PMEM OBJ Header:
 Layout                   : OBJ_LAYOUT$(nW)
-Lanes offset             : 0x2000
+$(OPT)Lanes offset             : 0x2000
+$(OPX)Lanes offset             : 0x20000
 Number of lanes          : 1024
 Heap offset              : $(nW)
 Heap size                : $(nW)
diff --git a/src/test/pmempool_transform/out23.log.match b/src/test/pmempool_transform/out23.log.match
index 464d486b086211c77df2288dd069d258599328ed..e260824f128699278bb54cb4c17478270889b469 100644
--- a/src/test/pmempool_transform/out23.log.match
+++ b/src/test/pmempool_transform/out23.log.match
@@ -44,7 +44,8 @@ Pool set UUID            : $(nW)
 
 PMEM OBJ Header:
 Layout                   : OBJ_LAYOUT$(nW)
-Lanes offset             : 0x2000
+$(OPT)Lanes offset             : 0x2000
+$(OPX)Lanes offset             : 0x20000
 Number of lanes          : 1024
 Heap offset              : $(nW)
 Heap size                : $(nW)
diff --git a/src/test/pmempool_transform/out24.log.match b/src/test/pmempool_transform/out24.log.match
index c07129319157307ae23c5e60efa1c163276b9216..a50ca6e16a29f4a8b1bd40f9e51ad6f35e4c9156 100644
--- a/src/test/pmempool_transform/out24.log.match
+++ b/src/test/pmempool_transform/out24.log.match
@@ -47,7 +47,8 @@ Pool set UUID            : $(nW)
 
 PMEM OBJ Header:
 Layout                   : OBJ_LAYOUT$(nW)
-Lanes offset             : 0x2000
+$(OPT)Lanes offset             : 0x2000
+$(OPX)Lanes offset             : 0x20000
 Number of lanes          : 1024
 Heap offset              : $(nW)
 Heap size                : $(nW)
@@ -68,7 +69,8 @@ Pool set UUID            : $(nW)
 
 PMEM OBJ Header:
 Layout                   : OBJ_LAYOUT$(nW)
-Lanes offset             : 0x2000
+$(OPT)Lanes offset             : 0x2000
+$(OPX)Lanes offset             : 0x20000
 Number of lanes          : 1024
 Heap offset              : $(nW)
 Heap size                : $(nW)
diff --git a/src/test/pmempool_transform/out3.log.match b/src/test/pmempool_transform/out3.log.match
index 9e71d9d45c2477c7432f8ea2256524673b3320e6..2540796d4dcb066b1a67386fb723f082e1848e67 100644
--- a/src/test/pmempool_transform/out3.log.match
+++ b/src/test/pmempool_transform/out3.log.match
@@ -32,7 +32,8 @@ Pool set UUID            : $(nW)
 
 PMEM OBJ Header:
 Layout                   : OBJ_LAYOUT$(nW)
-Lanes offset             : 0x2000
+$(OPT)Lanes offset             : 0x2000
+$(OPX)Lanes offset             : 0x20000
 Number of lanes          : 1024
 Heap offset              : $(nW)
 Heap size                : $(nW)
@@ -53,7 +54,8 @@ Pool set UUID            : $(nW)
 
 PMEM OBJ Header:
 Layout                   : OBJ_LAYOUT$(nW)
-Lanes offset             : 0x2000
+$(OPT)Lanes offset             : 0x2000
+$(OPX)Lanes offset             : 0x20000
 Number of lanes          : 1024
 Heap offset              : $(nW)
 Heap size                : $(nW)
diff --git a/src/test/pmempool_transform/out4.log.match b/src/test/pmempool_transform/out4.log.match
index e72e265ed1108b2c1411c577fb00242e31d3ce13..592627890cde2bd20f509ea47983394dca224f27 100644
--- a/src/test/pmempool_transform/out4.log.match
+++ b/src/test/pmempool_transform/out4.log.match
@@ -62,7 +62,8 @@ Pool set UUID            : $(nW)
 
 PMEM OBJ Header:
 Layout                   : OBJ_LAYOUT$(nW)
-Lanes offset             : 0x2000
+$(OPT)Lanes offset             : 0x2000
+$(OPX)Lanes offset             : 0x20000
 Number of lanes          : 1024
 Heap offset              : $(nW)
 Heap size                : $(nW)
diff --git a/src/test/pmempool_transform/out5.log.match b/src/test/pmempool_transform/out5.log.match
index f2d895ca2496f6496c1d15f117c84f2ff55887ad..609b80d6efe4937942426a1e3ab0a6ae30f056ce 100644
--- a/src/test/pmempool_transform/out5.log.match
+++ b/src/test/pmempool_transform/out5.log.match
@@ -54,7 +54,8 @@ Pool set UUID            : $(nW)
 
 PMEM OBJ Header:
 Layout                   : OBJ_LAYOUT$(nW)
-Lanes offset             : 0x2000
+$(OPT)Lanes offset             : 0x2000
+$(OPX)Lanes offset             : 0x20000
 Number of lanes          : 1024
 Heap offset              : $(nW)
 Heap size                : $(nW)
diff --git a/src/test/pmempool_transform/out6.log.match b/src/test/pmempool_transform/out6.log.match
index e2cc9ce454c04604dad09206ad43d9172ff42e61..bdb9acad0134dd869e2e1f54281dc07a2d11625d 100644
--- a/src/test/pmempool_transform/out6.log.match
+++ b/src/test/pmempool_transform/out6.log.match
@@ -52,7 +52,8 @@ Pool set UUID            : $(nW)
 
 PMEM OBJ Header:
 Layout                   : OBJ_LAYOUT$(nW)
-Lanes offset             : 0x2000
+$(OPT)Lanes offset             : 0x2000
+$(OPX)Lanes offset             : 0x20000
 Number of lanes          : 1024
 Heap offset              : $(nW)
 Heap size                : $(nW)
diff --git a/src/test/tools/bttcreate/bttcreate.c b/src/test/tools/bttcreate/bttcreate.c
index aa7b6a0093422e835ed2c88b977b84788ffe1e6a..e3a1dad5ac63242ce73f4b260e8fadaa20cea8a2 100644
--- a/src/test/tools/bttcreate/bttcreate.c
+++ b/src/test/tools/bttcreate/bttcreate.c
@@ -51,10 +51,11 @@
 #include "pmemcommon.h"
 #include "os.h"
 #include "util.h"
+#include "page_size.h"
 
 #define BTT_CREATE_DEF_SIZE	(20 * 1UL << 20) /* 20 MB */
 #define BTT_CREATE_DEF_BLK_SIZE	512UL
-#define BTT_CREATE_DEF_OFFSET_SIZE	(4 * 1UL << 10) /* 4 KB */
+#define BTT_CREATE_DEF_OFFSET_SIZE	PMEM_PAGESIZE
 
 struct btt_context {
 	void *addr;
diff --git a/src/test/tools/pmemspoil/spoil.c b/src/test/tools/pmemspoil/spoil.c
index bfe411120b2b1781b9ff891d7be3aa8c123f2f91..c4190fa22e15bbbc69e31712d6cbf896cc0adc2c 100644
--- a/src/test/tools/pmemspoil/spoil.c
+++ b/src/test/tools/pmemspoil/spoil.c
@@ -1067,7 +1067,8 @@ pmemspoil_process_bttdevice(struct pmemspoil *psp,
 	PROCESS_BEGIN(psp, pfp) {
 		PROCESS(arena,
 			pmemspoil_get_arena_offset(psp, PROCESS_INDEX,
-					BTT_ALIGNMENT),
+					ALIGN_UP(sizeof(struct pool_hdr),
+					BTT_ALIGNMENT)),
 			UINT32_MAX, uint64_t);
 	} PROCESS_END
 	return PROCESS_RET;
diff --git a/src/test/util_poolset_size/TEST0 b/src/test/util_poolset_size/TEST0
index 335bf47c710f0faa0fc0375a36b78ca8d1f447de..c9c8d45015de2ecc7e236a4c877a4d38a4c333c4 100755
--- a/src/test/util_poolset_size/TEST0
+++ b/src/test/util_poolset_size/TEST0
@@ -40,6 +40,7 @@
 require_test_type medium
 
 require_fs_type any
+exclude_ppc64
 
 setup
 
diff --git a/src/test/util_poolset_size/TEST1 b/src/test/util_poolset_size/TEST1
new file mode 100755
index 0000000000000000000000000000000000000000..7b799bb832a68efbf8e6ce123a2ce3f08c245718
--- /dev/null
+++ b/src/test/util_poolset_size/TEST1
@@ -0,0 +1,68 @@
+#!/usr/bin/env bash
+#
+# Copyright 2016-2019, Intel Corporation
+# Copyright 2019, IBM Corporation
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in
+#       the documentation and/or other materials provided with the
+#       distribution.
+#
+#     * Neither the name of the copyright holder nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+
+#
+# src/test/util_poolset_size/TEST1 -- unit test for util_poolset_size
+#
+# This test is equivalent of TEST0 for ppc64le platform.
+#
+
+. ../unittest/unittest.sh
+
+require_test_type medium
+
+require_fs_type any
+require_ppc64
+
+setup
+
+create_poolset $DIR/pool.set1 152K:$DIR/testfile:x
+create_poolset $DIR/pool.set2 152K:$DIR/testfile1:x 32M:$DIR/testfile2:x
+create_poolset $DIR/pool.set3\
+	32M:$DIR/testfile11:x 32M:$DIR/testfile12:x\
+	R 64M:$DIR/testfile21:x 32M:$DIR/testfile22:x
+create_poolset $DIR/pool.set4\
+	32M:$DIR/testfile11:x 32M:$DIR/testfile12:x\
+	R 64M:$DIR/testfile21:x 32M:$DIR/testfile22:x\
+	R 64M:$DIR/testfile31:x 64M:$DIR/testfile32:x
+
+expect_normal_exit ./util_poolset_size$EXESUFFIX\
+	$DIR/pool.set1\
+	$DIR/pool.set2\
+	$DIR/pool.set3\
+	$DIR/pool.set4
+
+check
+
+pass
diff --git a/src/test/util_poolset_size/out1.log.match b/src/test/util_poolset_size/out1.log.match
new file mode 100644
index 0000000000000000000000000000000000000000..d3b8db5fe7a74fd4e9d54040c563f16dea6b1b68
--- /dev/null
+++ b/src/test/util_poolset_size/out1.log.match
@@ -0,0 +1,7 @@
+util_poolset_size$(nW)TEST1: START: util_poolset_size
+ $(nW)util_poolset_size$(nW) $(*)pool.set1 $(*)pool.set2 $(*)pool.set3 $(*)pool.set4
+util_poolset_size($(*)pool.set1): 131072
+util_poolset_size($(*)pool.set2): 33619968
+util_poolset_size($(*)pool.set3): 67043328
+util_poolset_size($(*)pool.set4): 67043328
+util_poolset_size$(nW)TEST1: DONE