X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=configure;h=d92bb0f5f59015c85ad1794a2bb43b24cd4c3e4e;hp=2b46ab836711c8dee292e4d3a030eb577f194f93;hb=62b858f646ad4fce971fbde21ff4859ec84bc281;hpb=4252396ed2acb5807b771edc551098462ddea4f1 diff --git a/configure b/configure index 2b46ab83..d92bb0f5 100755 --- a/configure +++ b/configure @@ -142,6 +142,7 @@ gfio_check="no" libhdfs="no" pmemblk="no" devdax="no" +pmem="no" disable_lex="" disable_pmem="no" prefix=/usr/local @@ -343,6 +344,8 @@ CYGWIN*) # Flags below are still necessary mostly for MinGW. socklen_t="yes" sfaa="yes" + sync_sync="yes" + cmp_swap="yes" rusage_thread="yes" fdatasync="yes" clock_gettime="yes" # clock_monotonic probe has dependency on this @@ -706,6 +709,44 @@ if compile_prog "" "" "__sync_fetch_and_add()" ; then fi print_config "__sync_fetch_and_add" "$sfaa" +########################################## +# __sync_synchronize() test +if test "$sync_sync" != "yes" ; then + sync_sync="no" +fi +cat > $TMPC << EOF +#include + +int main(int argc, char **argv) +{ + __sync_synchronize(); + return 0; +} +EOF +if compile_prog "" "" "__sync_synchronize()" ; then + sync_sync="yes" +fi +print_config "__sync_synchronize" "$sync_sync" + +########################################## +# __sync_val_compare_and_swap() test +if test "$cmp_swap" != "yes" ; then + cmp_swap="no" +fi +cat > $TMPC << EOF +#include + +int main(int argc, char **argv) +{ + int x = 0; + return __sync_val_compare_and_swap(&x, 1, 2); +} +EOF +if compile_prog "" "" "__sync_val_compare_and_swap()" ; then + cmp_swap="yes" +fi +print_config "__sync_val_compare_and_swap" "$cmp_swap" + ########################################## # libverbs probe if test "$libverbs" != "yes" ; then @@ -1545,7 +1586,7 @@ print_config "rbd_poll" "$rbd_poll" fi ########################################## -# check for rbd_invaidate_cache() +# check for rbd_invalidate_cache() if test "$rbd_inval" != "yes" ; then rbd_inval="no" fi @@ -1805,6 +1846,7 @@ print_config "libpmemblk" "$libpmemblk" # Choose the ioengines if test "$libpmem" = "yes" && test "$disable_pmem" = "no"; then + pmem="yes" devdax="yes" if test "$libpmemblk" = "yes"; then pmemblk="yes" @@ -1819,6 +1861,10 @@ print_config "NVML pmemblk engine" "$pmemblk" # Report whether dev-dax engine is enabled print_config "NVML dev-dax engine" "$devdax" +########################################## +# Report whether libpmem engine is enabled +print_config "NVML libpmem engine" "$pmem" + ########################################## # Check if we have lex/yacc available yacc="no" @@ -2108,6 +2154,12 @@ fi if test "$sfaa" = "yes" ; then output_sym "CONFIG_SFAA" fi +if test "$sync_sync" = "yes" ; then + output_sym "CONFIG_SYNC_SYNC" +fi +if test "$cmp_swap" = "yes" ; then + output_sym "CONFIG_CMP_SWAP" +fi if test "$libverbs" = "yes" -a "$rdmacm" = "yes" ; then output_sym "CONFIG_RDMA" fi @@ -2254,6 +2306,9 @@ fi if test "$devdax" = "yes" ; then output_sym "CONFIG_LINUX_DEVDAX" fi +if test "$pmem" = "yes" ; then + output_sym "CONFIG_LIBPMEM" +fi if test "$arith" = "yes" ; then output_sym "CONFIG_ARITHMETIC" if test "$yacc_is_bison" = "yes" ; then