Re: [Qemu-devel] [PATCH 00/18] Add support for RDMA MAD
Hi, This series failed docker-mingw@fedora build test. Please find the testing commands and their output below. If you have Docker installed, you can probably reproduce it locally. Type: series Message-id: 20181105124559.21561-1-yuval.sh...@oracle.com Subject: [Qemu-devel] [PATCH 00/18] Add support for RDMA MAD === TEST SCRIPT BEGIN === #!/bin/bash time make docker-test-mingw@fedora SHOW_ENV=1 J=8 === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 Switched to a new branch 'test' b6ca60ed79 hw/rdma: Remove unneeded code that handles more that one port 83a3c478e8 hw/pvrdma: Fill error code in command's response 7008410817 hw/pvrdma: Fill all CQE fields 07f5b9c884 hw/pvrdma: Make device state depend on Ethernet function state a415fd2c9e hw/rdma: Initialize node_guid from vmxnet3 mac address 9071ff2744 hw/pvrdma: Make sure PCI function 0 is vmxnet3 013b497207 vmxnet3: Move some definitions to header file ec75608cc4 hw/pvrdma: Add support to allow guest to configure GID table ee5cb6df31 json: Define new QMP message for pvrdma c8d0ac03f3 hw/pvrdma: Set the correct opcode for send completion 67c60cad74 hw/pvrdma: Set the correct opcode for recv completion 9a7867e8ee hw/pvrdma: Make default pkey 0x 2f18df103a hw/pvrdma: Make function reset_device return void ab6be726cd hw/rdma: Add support for MAD packets 20308f3a39 hw/rdma: Abort send-op if fail to create addr handler f6955ebd67 hw/rdma: Return qpn 1 if ibqp is NULL bc41e279a4 hw/rdma: Add ability to force notification without re-arm ca613c2c9b contrib/rdmacm-mux: Add implementation of RDMA User MAD multiplexer === OUTPUT BEGIN === BUILD fedora make[1]: Entering directory '/var/tmp/patchew-tester-tmp-vcpv627g/src' GEN /var/tmp/patchew-tester-tmp-vcpv627g/src/docker-src.2018-11-05-12.15.44.26187/qemu.tar Cloning into '/var/tmp/patchew-tester-tmp-vcpv627g/src/docker-src.2018-11-05-12.15.44.26187/qemu.tar.vroot'... done. Checking out files: 45% (2958/6456) Checking out files: 46% (2970/6456) Checking out files: 47% (3035/6456) Checking out files: 48% (3099/6456) Checking out files: 49% (3164/6456) Checking out files: 50% (3228/6456) Checking out files: 51% (3293/6456) Checking out files: 52% (3358/6456) Checking out files: 53% (3422/6456) Checking out files: 54% (3487/6456) Checking out files: 55% (3551/6456) Checking out files: 56% (3616/6456) Checking out files: 57% (3680/6456) Checking out files: 58% (3745/6456) Checking out files: 59% (3810/6456) Checking out files: 60% (3874/6456) Checking out files: 61% (3939/6456) Checking out files: 62% (4003/6456) Checking out files: 63% (4068/6456) Checking out files: 64% (4132/6456) Checking out files: 65% (4197/6456) Checking out files: 66% (4261/6456) Checking out files: 67% (4326/6456) Checking out files: 68% (4391/6456) Checking out files: 69% (4455/6456) Checking out files: 70% (4520/6456) Checking out files: 71% (4584/6456) Checking out files: 72% (4649/6456) Checking out files: 73% (4713/6456) Checking out files: 74% (4778/6456) Checking out files: 75% (4842/6456) Checking out files: 76% (4907/6456) Checking out files: 77% (4972/6456) Checking out files: 78% (5036/6456) Checking out files: 79% (5101/6456) Checking out files: 80% (5165/6456) Checking out files: 81% (5230/6456) Checking out files: 82% (5294/6456) Checking out files: 83% (5359/6456) Checking out files: 84% (5424/6456) Checking out files: 85% (5488/6456) Checking out files: 86% (5553/6456) Checking out files: 87% (5617/6456) Checking out files: 88% (5682/6456) Checking out files: 89% (5746/6456) Checking out files: 90% (5811/6456) Checking out files: 91% (5875/6456) Checking out files: 92% (5940/6456) Checking out files: 93% (6005/6456) Checking out files: 94% (6069/6456) Checking out files: 95% (6134/6456) Checking out files: 96% (6198/6456) Checking out files: 97% (6263/6456) Checking out files: 98% (6327/6456) Checking out files: 99% (6392/6456) Checking out files: 100% (6456/6456) Checking out files: 100% (6456/6456), done. Your branch is up-to-date with 'origin/test'. Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-vcpv627g/src/docker-src.2018-11-05-12.15.44.26187/qemu.tar.vroot/dtc'... Submodule path 'dtc': checked out '88f18909db731a627456f26d779445f84e449536' Submodule 'ui/keycodemapdb' (git://git.qemu.org/keycodemapdb.git) registered for path 'ui/keycodemapdb' Cloning into '/var/tmp/patchew-tester-tmp-vcpv627g/src/docker-src.2018-11-05-12.15.44.26187/qemu.tar.vroot/ui/keycodemapdb'... Submodule path 'ui/keycodemapdb': checked out '6b3d716e2b6472eb7189d3220552280ef3
[Qemu-devel] [PATCH 00/18] Add support for RDMA MAD
Hi all. This is a major enhancement to the pvrdma device to allow it to work with state of the art applications such as MPI. As described in patch #5, MAD packets are management packets that are used for many purposes including but not limited to communication layer above IB verbs API. Patch 1 exposes new external executable (under contrib) that aims to address a specific limitation in the RDMA usrespace MAD stack. This patch-set mainly present MAD enhancement but during the work on it i came across some bugs and enhancement needed to be implemented before doing any MAD coding. This is the role of patches 2 to 4, 7 to 9 and 15 to 17. Patches 6 and 18 are cosmetic changes while not relevant to this patchset still introduce with it since (at least for 6) hard to decouple. Patches 12 to 15 couple pvrdma device with vmxnet3 device as this is the configuration enforced by pvrdma driver in guest - a vmxnet3 device in function 0 and pvrdma device in function 1 in the same PCI slot. Patch 12 moves needed code from vmxnet3 device to a new header file that can be used by pvrdma code while Patches 13 to 15 use of it. Along with this patch-set there is a parallel patch posted to libvirt to apply the change needed there as part of the process implemented in patches 10 and 11. This change is needed so that guest would be able to configure any IP to the Ethernet function of the pvrdma device. https://www.redhat.com/archives/libvir-list/2018-November/msg00135.html Thanks, Yuval Yuval Shaia (18): contrib/rdmacm-mux: Add implementation of RDMA User MAD multiplexer hw/rdma: Add ability to force notification without re-arm hw/rdma: Return qpn 1 if ibqp is NULL hw/rdma: Abort send-op if fail to create addr handler hw/rdma: Add support for MAD packets hw/pvrdma: Make function reset_device return void hw/pvrdma: Make default pkey 0x hw/pvrdma: Set the correct opcode for recv completion hw/pvrdma: Set the correct opcode for send completion json: Define new QMP message for pvrdma hw/pvrdma: Add support to allow guest to configure GID table vmxnet3: Move some definitions to header file hw/pvrdma: Make sure PCI function 0 is vmxnet3 hw/rdma: Initialize node_guid from vmxnet3 mac address hw/pvrdma: Make device state depend on Ethernet function state hw/pvrdma: Fill all CQE fields hw/pvrdma: Fill error code in command's response hw/rdma: Remove unneeded code that handles more that one port MAINTAINERS | 2 + Makefile | 6 +- Makefile.objs| 5 + contrib/rdmacm-mux/Makefile.objs | 3 + contrib/rdmacm-mux/main.c| 734 +++ contrib/rdmacm-mux/rdmacm-mux.h | 47 ++ hw/net/vmxnet3.c | 116 + hw/net/vmxnet3_defs.h| 133 ++ hw/rdma/rdma_backend.c | 439 +++--- hw/rdma/rdma_backend.h | 28 +- hw/rdma/rdma_backend_defs.h | 13 +- hw/rdma/rdma_rm.c| 111 - hw/rdma/rdma_rm.h| 17 +- hw/rdma/rdma_rm_defs.h | 21 +- hw/rdma/rdma_utils.h | 24 + hw/rdma/vmw/pvrdma.h | 8 +- hw/rdma/vmw/pvrdma_cmd.c | 112 +++-- hw/rdma/vmw/pvrdma_main.c| 37 +- hw/rdma/vmw/pvrdma_qp_ops.c | 62 ++- qapi/qapi-schema.json| 1 + qapi/rdma.json | 34 ++ 21 files changed, 1667 insertions(+), 286 deletions(-) create mode 100644 contrib/rdmacm-mux/Makefile.objs create mode 100644 contrib/rdmacm-mux/main.c create mode 100644 contrib/rdmacm-mux/rdmacm-mux.h create mode 100644 hw/net/vmxnet3_defs.h create mode 100644 qapi/rdma.json -- 2.17.2