Coder Social home page Coder Social logo

qperf's People

Contributors

anandbibhuti avatar bsmith94 avatar hestela avatar mmarcini avatar mregmi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

qperf's Issues

SDP is obsolete

I cannot find an official announcement, but it looks like SDP has been deprecated/obsolete for quite some time. It seems like sdp_bw and sdp_lat should be removed from qperf's set of tests.

The current behavior (debian 8, kernel 3.16.0-4, libsdp-1.1.99-2.1) is that qperf reports:

# LD_PRELOAD=libsdp.so qperf
unable to bind to listen port

/tmp/libsdp.1000.log:

Thu Nov 16 23:20:06 2017 qperf[2287] libsdp Error socket: <97> calling socket for SDP socket

97 == EAFNOSUPPORT returned from the call to socket(AF_INET_SDP...).

For the sake of identifying prior art: RHEL's qperf-0.4.9-3.el7.src.rpm has a patch that removes the sdp tests from src/help.txt, although it does not remove the tests from the source code.

Likely paths toward resolution appear to be:

  1. Remove qperf's SDP features.
  2. Make qperf's SDP features optional, via configure, with a default of disabled.
  3. Improve the error message to inform the user that SDP is not supported by the OS.
  4. 2 and 3.

Thoughts?

Support for --flip flag?

Thank you for this great project, super useful for ib testing.
However, i have roughly looked into the source code, and found that --flip argument is actually not implemented.
Does the team have plan to work on this feature? Or, does '--flip' only work for certain tests?

cleanup does not remove compile script

The cleanup script is leaving the build-generated compile script. It should be removed.

# ./autogen.sh
# ./configure
# make
# make clean
# ./cleanup
# git status
On branch master
Your branch is up to date with 'origin/master'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)

	compile

fails to build on debian sid 20171208

qperf failed to build on today's update of debian sid.

In file included from rdma.c:43:0:
/usr/include/rdma/rdma_cma.h:91:2: error: unknown type name ‘__be16’
  __be16  pkey;
  ^~~~~~
/usr/include/rdma/rdma_cma.h:588:1: error: unknown type name ‘__be16’; did you mean ‘htobe16’?
 __be16 rdma_get_src_port(struct rdma_cm_id *id);
 ^~~~~~
 htobe16
/usr/include/rdma/rdma_cma.h:589:1: error: unknown type name ‘__be16’; did you mean ‘htobe16’?
 __be16 rdma_get_dst_port(struct rdma_cm_id *id);
 ^~~~~~
 htobe16
Makefile:386: recipe for target 'rdma.o' failed

qperf XRC functionality fails to build

qperf is written against an old version of the ibverbs XRC API. The build fails to detect that ibverbs is XRC-capable. Also, if XRC detection is corrected, the current XRC code fails to build.

This patch corrects XRC detection:

--- a/configure.in
+++ b/configure.in
@@ -2,7 +2,7 @@
 AM_INIT_AUTOMAKE(qperf, 0.4.10)
 AC_PROG_CC
 AC_CHECK_LIB(ibverbs, ibv_open_device, RDMA=1)
-AC_CHECK_LIB(ibverbs, ibv_open_xrc_domain, HAS_XRC=1)
+AC_CHECK_LIB(ibverbs, ibv_cmd_open_xrcd, HAS_XRC=1)
 AC_CHECK_LIB(rdmacm, rdma_create_id)
 AM_CONDITIONAL(RDMA, test -n "$RDMA")
 AM_CONDITIONAL(HAS_XRC, test -n "$HAS_XRC")

Once that change is made, the build fails due to:

  • Undeclared:
    • IBV_QPT_XRC
    • ibv_open_xrc_domain
    • ibv_close_xrc_domain
    • ibv_create_xrc_srq
  • Missing structure members:
    • qp_attr.xrc_domain
    • dev->srq->xrc_srq_num

qperf XRC tests output "bad test"

qperf --help tests documents XRC tests, but reports "bad test" when those tests are chosen for execution.

# qperf --help tests| grep xrc
    xrc_bi_bw               XRC streaming two way bandwidth
    xrc_bw                  XRC streaming one way bandwidth
    xrc_lat                 XRC one way latency
# qperf host1 xrc_bw
xrc_bw: bad test; try: qperf --help tests
# qperf host1 xrc_lat
xrc_lat: bad test; try: qperf --help tests
# qperf host1 xrc_bw_bw
xrc_bw_bw: bad test; try: qperf --help tests

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.