Skip to contentSkip to conversation

Recent changes (master)

PATCH Jens Axboe 1 participant 1 message Jan 12, 2017

lore
Share & tools
lore

Jens Axboe

author
#0 lore raw

The following changes since commit 9bae252254d0ce37a144cb4c8d2cb4222d539a9e:

Python style/portability fix (2017-01-10 13:20:30 -0700)

are available in the git repository at:

git://git.kernel.dk/fio.git master

for you to fetch changes up to 0cbb3f53ebeec45478c7b361c2a84092da93e4a8:

pmemblk: Clarify fsize is in MiB not MB (2017-01-11 21:00:01 -0700)

----------------------------------------------------------------
Robert Elliott (4):
pmemblk, dev-dax: load libpmem and libpmemblk at startup pmemblk, dev-dax: Update descriptions
pmemblk, dev-dax: clean up error logs
pmemblk: Clarify fsize is in MiB not MB

 HOWTO             |  10 +++--
 configure         |  20 ++++++----
 engines/dev-dax.c |  44 ++++++--------------
 engines/pmemblk.c | 117 +++++++++++++++---------------------------------------
 fio.1             |   6 ++-
 5 files changed, 66 insertions(+), 131 deletions(-)

---

Diff of recent changes:

HOWTO +6 -4
index 33f8718..9c8a837 100644
@@ -904,11 +904,13 @@ ioengine=str	Defines how the job issues io to the file. The following
 				overwriting. The writetrim mode works well
 				for this constraint.
 
-			pmemblk	Read and write through the NVML libpmemblk
-				interface.
+			pmemblk	Read and write using filesystem DAX to a file
+				on a filesystem mounted with DAX on a persistent
+				memory device through the NVML libpmemblk library.
 
-			dev-dax Read and write through a DAX device exposed
-				from persistent memory.
+			dev-dax Read and write using device DAX to a persistent
+				memory device (e.g., /dev/dax0.0) through the
+				NVML libpmem library.
 
 			external Prefix to specify loading an external
 				IO engine object file. Append the engine
configure +13 -7
index 7de88f8..d768e9d 100755
@@ -1583,26 +1583,32 @@ int main(int argc, char **argv)
 EOF
 if compile_prog "" "-lpmem" "libpmem"; then
   libpmem="yes"
+  LIBS="-lpmem $LIBS"
 fi
 echo "libpmem                       $libpmem"
 
 ##########################################
 # Check whether we have libpmemblk
+# libpmem is a prerequisite
 libpmemblk="no"
-cat > $TMPC << EOF
+if test "$libpmem" = "yes"; then
+  cat > $TMPC << EOF
 #include <libpmemblk.h>
 int main(int argc, char **argv)
 {
-  int rc;
-  rc = pmemblk_open("", 0);
+  PMEMblkpool *pbp;
+  pbp = pmemblk_open("", 0);
   return 0;
 }
 EOF
-if compile_prog "" "-lpmemblk -lpmem" "libpmemblk"; then
-  libpmemblk="yes"
+  if compile_prog "" "-lpmemblk" "libpmemblk"; then
+    libpmemblk="yes"
+    LIBS="-lpmemblk $LIBS"
+  fi
 fi
 echo "libpmemblk                    $libpmemblk"
 
+# Choose the ioengines
 if test "$libpmem" = "yes" && test "$disable_pmem" = "no"; then
   devdax="yes"
   if test "$libpmemblk" = "yes"; then
@@ -1612,11 +1618,11 @@ fi
 
 ##########################################
 # Report whether pmemblk engine is enabled
-echo "NVML libpmemblk engine        $pmemblk"
+echo "NVML pmemblk engine           $pmemblk"
 
 ##########################################
 # Report whether dev-dax engine is enabled
-echo "NVML Device Dax engine        $devdax"
+echo "NVML dev-dax engine           $devdax"
 
 # Check if we have lex/yacc available
 yacc="no"
engines/dev-dax.c +12 -32

95 lines not on this page · raw message

engines/pmemblk.c +31 -86

223 lines not on this page · raw message

fio.1 +4 -2
index f486276..56f2d11 100644
@@ -811,10 +811,12 @@ and discarding before overwriting. The trimwrite mode works well for this
 constraint.
 .TP
 .B pmemblk
-Read and write through the NVML libpmemblk interface.
+Read and write using filesystem DAX to a file on a filesystem mounted with
+DAX on a persistent memory device through the NVML libpmemblk library.
 .TP
 .B dev-dax
-Read and write through a DAX device exposed from persistent memory.
+Read and write using device DAX to a persistent memory device
+(e.g., /dev/dax0.0) through the NVML libpmem library.
 .RE
 .P
 .RE