X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=configure;h=a24e3eff7fd4985ba66fe4a8a0aedcc6d3f14088;hp=cbd4d306abb1ed148c046e729548c87558720b65;hb=0e4a9bc81d0af7358f14a1c2a9bc3351f1b6a0b1;hpb=d18bc848f942a91416ea0cfd5166a7ecc992d91e diff --git a/configure b/configure index cbd4d306..a24e3eff 100755 --- a/configure +++ b/configure @@ -135,6 +135,7 @@ show_help="no" exit_val=0 gfio_check="no" libhdfs="no" +pmemblk="no" disable_lex="" prefix=/usr/local @@ -165,10 +166,14 @@ for opt do ;; --disable-rbd) disable_rbd="yes" ;; + --disable-rbd-blkin) disable_rbd_blkin="yes" + ;; --disable-gfapi) disable_gfapi="yes" ;; --enable-libhdfs) libhdfs="yes" ;; + --enable-pmemblk) pmemblk="yes" + ;; --disable-lex) disable_lex="yes" ;; --enable-lex) disable_lex="no" @@ -199,6 +204,7 @@ if test "$show_help" = "yes" ; then echo "--disable-numa Disable libnuma even if found" echo "--disable-gfapi Disable gfapi" echo "--enable-libhdfs Enable hdfs support" + echo "--enable-pmemblk Enable NVML libpmemblk support" echo "--disable-lex Disable use of lex/yacc for math" echo "--enable-lex Enable use of lex/yacc for math" echo "--disable-shm Disable SHM support" @@ -787,6 +793,25 @@ EOF fi echo "CLOCK_MONOTONIC_PRECISE $clock_monotonic_precise" +########################################## +# clockid_t probe +clockid_t="no" +cat > $TMPC << EOF +#include +#include +#include +int main(int argc, char **argv) +{ + clockid_t cid; + memset(&cid, 0, sizeof(cid)); + return clock_gettime(cid, NULL); +} +EOF +if compile_prog "" "$LIBS" "clockid_t"; then + clockid_t="yes" +fi +echo "clockid_t $clockid_t" + ########################################## # gettimeofday() probe gettimeofday="no" @@ -1240,6 +1265,22 @@ if compile_prog "" "" "pwritev"; then fi echo "pwritev/preadv $pwritev" +########################################## +# Check whether we have pwritev2/preadv2 +pwritev2="no" +cat > $TMPC << EOF +#include +#include +int main(int argc, char **argv) +{ + return pwritev2(0, NULL, 1, 0, 0) + preadv2(0, NULL, 1, 0, 0); +} +EOF +if compile_prog "" "" "pwritev2"; then + pwritev2="yes" +fi +echo "pwritev2/preadv2 $pwritev2" + ########################################## # Check whether we have the required functions for ipv6 ipv6="no" @@ -1313,6 +1354,34 @@ fi echo "rbd_invalidate_cache $rbd_inval" fi +########################################## +# check for blkin +rbd_blkin="no" +cat > $TMPC << EOF +#include +#include + +int main(int argc, char **argv) +{ + int r; + struct blkin_trace_info t_info; + blkin_init_trace_info(&t_info); + rbd_completion_t completion; + rbd_image_t image; + uint64_t off; + size_t len; + const char *buf; + r = rbd_aio_write_traced(image, off, len, buf, completion, &t_info); + return 0; +} +EOF +if test "$disable_rbd" != "yes" && test "$disable_rbd_blkin" != "yes" \ + && compile_prog "" "-lrbd -lrados -lblkin" "rbd_blkin"; then + LIBS="-lblkin $LIBS" + rbd_blkin="yes" +fi +echo "rbd blkin tracing $rbd_blkin" + ########################################## # Check whether we have setvbuf setvbuf="no" @@ -1439,6 +1508,10 @@ if test "$libhdfs" = "yes" ; then if test "$hdfs_conf_error" = "1" ; then exit 1 fi + FIO_HDFS_CPU=$cpu + if test "$FIO_HDFS_CPU" = "x86_64" ; then + FIO_HDFS_CPU="amd64" + fi fi echo "HDFS engine $libhdfs" @@ -1463,6 +1536,10 @@ if compile_prog "" "" "mtd"; then fi echo "MTD $mtd" +########################################## +# Report whether pmemblk engine is enabled +echo "NVML libpmemblk engine $pmemblk" + # Check if we have lex/yacc available yacc="no" yacc_is_bison="no" @@ -1664,6 +1741,9 @@ fi if test "$clock_monotonic_precise" = "yes" ; then output_sym "CONFIG_CLOCK_MONOTONIC_PRECISE" fi +if test "$clockid_t" = "yes"; then + output_sym "CONFIG_CLOCKID_T" +fi if test "$gettimeofday" = "yes" ; then output_sym "CONFIG_GETTIMEOFDAY" fi @@ -1742,6 +1822,9 @@ fi if test "$pwritev" = "yes" ; then output_sym "CONFIG_PWRITEV" fi +if test "$pwritev2" = "yes" ; then + output_sym "CONFIG_PWRITEV2" +fi if test "$ipv6" = "yes" ; then output_sym "CONFIG_IPV6" fi @@ -1751,6 +1834,9 @@ fi if test "$rbd_inval" = "yes" ; then output_sym "CONFIG_RBD_INVAL" fi +if test "$rbd_blkin" = "yes" ; then + output_sym "CONFIG_RBD_BLKIN" +fi if test "$setvbuf" = "yes" ; then output_sym "CONFIG_SETVBUF" fi @@ -1769,6 +1855,7 @@ if test "$gf_trim" = "yes" ; then fi if test "$libhdfs" = "yes" ; then output_sym "CONFIG_LIBHDFS" + echo "FIO_HDFS_CPU=$FIO_HDFS_CPU" >> $config_host_mak echo "JAVA_HOME=$JAVA_HOME" >> $config_host_mak echo "FIO_LIBHDFS_INCLUDE=$FIO_LIBHDFS_INCLUDE" >> $config_host_mak echo "FIO_LIBHDFS_LIB=$FIO_LIBHDFS_LIB" >> $config_host_mak @@ -1776,6 +1863,9 @@ if test "$libhdfs" = "yes" ; then if test "$mtd" = "yes" ; then output_sym "CONFIG_MTD" fi +if test "$pmemblk" = "yes" ; then + output_sym "CONFIG_PMEMBLK" +fi if test "$arith" = "yes" ; then output_sym "CONFIG_ARITHMETIC" if test "$yacc_is_bison" = "yes" ; then