On Thu, 9 Sept 2021 at 16:23, Juan Quintela <quint...@redhat.com> wrote: > From 964e436bdb8aef7dbebc28415e4ac3c5822b552e Mon Sep 17 00:00:00 2001 > From: Juan Quintela <quint...@redhat.com> > Date: Thu, 9 Sep 2021 17:07:17 +0200 > Subject: [PATCH] rdma: test for ibv_advise_mr API > > Signed-off-by: Juan Quintela <quint...@redhat.com> > --- > configure | 28 ++++++++++++++++++++++++++++ > migration/rdma.c | 2 ++ > 2 files changed, 30 insertions(+) > > diff --git a/configure b/configure > index 8adf2127c3..70054fd702 100755 > --- a/configure > +++ b/configure > @@ -339,6 +339,7 @@ whpx="auto" > nvmm="auto" > rdma="$default_feature" > pvrdma="$default_feature" > +rdma_ibv_advise_mr="no" > gprof="no" > debug_tcg="no" > debug="no" > @@ -2918,6 +2919,29 @@ EOF > fi > fi > > +# Let's see if enhanced reg_mr is supported > +if test "$rdma" = "yes" ; then > + > +cat > $TMPC <<EOF && > +#include <infiniband/verbs.h> > + > +int > +main(void) > +{ > + int advice = wr ? IBV_ADVISE_MR_ADVICE_PREFETCH_WRITE : > + IBV_ADVISE_MR_ADVICE_PREFETCH; > + struct ibv_sge sg_list = {.lkey = lkey, .addr = addr, .length = len}; > + > + ibv_advise_mr(pd, advice, IBV_ADVISE_MR_FLAG_FLUSH, &sg_list, 1); > + return 0; > +} > +EOF > + if ! compile_prog "" "-libverbs"; then > + rdma_ibv_advise_mr="yes" > + fi > +fi
We don't really want new compilation tests in configure: anything new should be done in meson.build. I think Paolo has work in progress to migrate the remaining configure tests. Something like config_host_data.set('HAVE_IBV_ADVICE_MR', cc.has_function('ibv_advise_mr', dependencies: rdma)) in the same bit of meson.build as the other has_function tests is probably sufficient. thanks -- PMM