Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rdma-core for openSUSE:Factory checked in at 2021-03-02 12:27:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rdma-core (Old) and /work/SRC/openSUSE:Factory/.rdma-core.new.2378 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rdma-core" Tue Mar 2 12:27:19 2021 rev:44 rq:874835 version:33.1 Changes: -------- --- /work/SRC/openSUSE:Factory/rdma-core/rdma-core.changes 2021-02-23 20:21:47.995729704 +0100 +++ /work/SRC/openSUSE:Factory/.rdma-core.new.2378/rdma-core.changes 2021-03-02 12:30:33.947586654 +0100 @@ -1,0 +2,17 @@ +Fri Feb 19 08:23:46 UTC 2021 - Nicolas Morey-Chaisemartin <nmoreychaisemar...@suse.com> + +- Update to rdma-core v33.1 + - No release notes available + - Drop support for libnes +- Drop support for libnes by removing patch: + - Revert-libnes-Remove-libnes-from-rdma-core.patch +- Refresh patches against latest sources: + - Revert-libcxgb3-Remove-libcxgb3-from-rdma-core.patch + - cxgb3-nes-fix-declaration-of-free_context.patch has been replaced by + cxgb3-fix-declaration-of-free_context.patch +- Add patches for cxgb3 support against newest API + - cxgb3-fix-support-for-new-uquery-API.patch +- Enable LTO support +- Trigger udevadm in rdma-ndd %post (bsc#1182391) + +------------------------------------------------------------------- Old: ---- Revert-libnes-Remove-libnes-from-rdma-core.patch cxgb3-nes-fix-declaration-of-free_context.patch rdma-core-31.3.0.b7b09d201046.tar.gz New: ---- cxgb3-fix-declaration-of-free_context.patch cxgb3-fix-support-for-new-uquery-API.patch rdma-core-33.1.0.2504c0bab0a8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rdma-core.spec ++++++ --- /var/tmp/diff_new_pack.i13JCg/_old 2021-03-02 12:30:34.879587301 +0100 +++ /var/tmp/diff_new_pack.i13JCg/_new 2021-03-02 12:30:34.879587301 +0100 @@ -25,9 +25,9 @@ %define with_pyverbs 0 %endif -%define git_ver .0.b7b09d201046 +%define git_ver .0.2504c0bab0a8 Name: rdma-core -Version: 31.3 +Version: 33.1 Release: 0 Summary: RDMA core userspace libraries and daemons License: BSD-2-Clause OR GPL-2.0-only @@ -65,11 +65,11 @@ Source4: rdma-core-rpmlintrc Source5: gen-pandoc.sh Source6: get_build.py -Patch0: Revert-libnes-Remove-libnes-from-rdma-core.patch -Patch1: Revert-libcxgb3-Remove-libcxgb3-from-rdma-core.patch -Patch2: Revert-Update-kernel-headers.patch -Patch3: disable-rdma-interface-renaming.patch -Patch4: cxgb3-nes-fix-declaration-of-free_context.patch +Patch0: Revert-libcxgb3-Remove-libcxgb3-from-rdma-core.patch +Patch1: Revert-Update-kernel-headers.patch +Patch2: disable-rdma-interface-renaming.patch +Patch3: cxgb3-fix-declaration-of-free_context.patch +Patch4: cxgb3-fix-support-for-new-uquery-API.patch BuildRequires: binutils BuildRequires: cmake >= 2.8.11 BuildRequires: gcc @@ -203,7 +203,6 @@ Obsoletes: libmlx4-rdmav2 < %{version}-%{release} Obsoletes: libmlx5-rdmav2 < %{version}-%{release} Obsoletes: libmthca-rdmav2 < %{version}-%{release} -Obsoletes: libnes-rdmav2 < %{version}-%{release} Obsoletes: libocrdma-rdmav2 < %{version}-%{release} Obsoletes: librxe-rdmav2 < %{version}-%{release} %if 0%{?dma_coherent} @@ -233,7 +232,6 @@ - libmlx4: Mellanox ConnectX-3 InfiniBand HCA - libmlx5: Mellanox Connect-IB/X-4+ InfiniBand HCA - libmthca: Mellanox InfiniBand HCA -- libnes: NetEffect RNIC - libocrdma: Emulex OneConnect RDMA/RoCE Device - libqedr: QLogic QL4xxx RoCE HCA - librxe: A software implementation of the RoCE protocol @@ -405,8 +403,6 @@ easy, object-oriented access to IB verbs. %prep -# Make sure LTO is disable as rdma-core fails to compile with LTO enabled -%define _lto_cflags %{nil} %setup -q -n %{name}-%{version}%{git_ver} #Extract prebuilt pandoc file in the buildlib directory (cd buildlib && tar xf %{S:3}) @@ -476,12 +472,6 @@ mkdir -p %{buildroot}%{sysmodprobedir} mkdir -p %{buildroot}%{_unitdir} -# SRIOV service -install -D -m0644 redhat/rdma.sriov-vfs %{buildroot}/%{_sysconfdir}/rdma/sriov-vfs -install -D -m0755 redhat/rdma.sriov-init %{buildroot}%{_libexecdir}/rdma-set-sriov-vf -install -D -m0644 suse/rdma.sriov-rules %{buildroot}%{_udevrulesdir}/98-rdma-sriov.rules -install -D -m0644 suse/rdma.sriov-service %{buildroot}%{_unitdir}/rdma-sriov.service - # Port type setup for mlx4 dual port cards install -D -m0644 redhat/rdma.mlx4.conf %{buildroot}/%{_sysconfdir}/rdma/mlx4.conf sed 's%/usr/libexec%/usr/lib%g' redhat/rdma.mlx4.sys.modprobe > %{buildroot}%{sysmodprobedir}/50-libmlx4.conf @@ -589,6 +579,8 @@ %post -n rdma-ndd %service_add_post rdma-ndd.service +# we ship udev rules, so trigger an update. +%{_bindir}/udevadm trigger --subsystem-match=infiniband --action=change || true %postun -n rdma-ndd %service_del_postun rdma-ndd.service @@ -610,7 +602,6 @@ %config(noreplace) %{_sysconfdir}/rdma/modules/opa.conf %config(noreplace) %{_sysconfdir}/rdma/modules/rdma.conf %config(noreplace) %{_sysconfdir}/rdma/modules/roce.conf -%config(noreplace) %{_sysconfdir}/rdma/sriov-vfs %if 0%{?dma_coherent} %config(noreplace) %{_sysconfdir}/modprobe.d/mlx4.conf %endif @@ -618,7 +609,6 @@ %config(noreplace) %{_sysconfdir}/udev/rules.d/70-persistent-ipoib.rules %{_unitdir}/rdma-hw.target %{_unitdir}/rdma-load-modules@.service -%{_unitdir}/rdma-sriov.service %dir %{dracutlibdir} %dir %{dracutlibdir}/modules.d %dir %{dracutlibdir}/modules.d/05rdma @@ -629,9 +619,7 @@ %{_udevrulesdir}/90-rdma-hw-modules.rules %{_udevrulesdir}/90-rdma-ulp-modules.rules %{_udevrulesdir}/90-rdma-umad.rules -%{_udevrulesdir}/98-rdma-sriov.rules %{sysmodprobedir}/50-libmlx4.conf -%{_libexecdir}/rdma-set-sriov-vf %{_libexecdir}/mlx4-setup.sh %{_libexecdir}/truescale-serdes.cmds %license COPYING.* ++++++ Revert-libcxgb3-Remove-libcxgb3-from-rdma-core.patch ++++++ --- /var/tmp/diff_new_pack.i13JCg/_old 2021-03-02 12:30:34.907587320 +0100 +++ /var/tmp/diff_new_pack.i13JCg/_new 2021-03-02 12:30:34.907587320 +0100 @@ -1,4 +1,4 @@ -commit 46e6822db968a7749dd20269afd30e1793936498 +commit 2f56b7b7737d603c408117b88c60be29019818e4 Author: Nicolas Morey-Chaisemartin <nmoreychaisemar...@suse.com> Date: Fri Jan 10 09:07:51 2020 +0100 @@ -7,10 +7,10 @@ This reverts commit 36588f5844af4ef1e5b0d6ad002fa1adf9032653. diff --git CMakeLists.txt CMakeLists.txt -index b3ff156956a0..5adddc0160d3 100644 +index 5579b5a187c0..66eb0b2fbc4b 100644 --- CMakeLists.txt +++ CMakeLists.txt -@@ -615,6 +615,7 @@ add_subdirectory(librdmacm/man) +@@ -648,6 +648,7 @@ add_subdirectory(librdmacm/man) # Providers if (HAVE_COHERENT_DMA) add_subdirectory(providers/bnxt_re) @@ -19,7 +19,7 @@ add_subdirectory(providers/efa) add_subdirectory(providers/efa/man) diff --git MAINTAINERS MAINTAINERS -index 8030891d96a4..e47b97b2ff70 100644 +index 948c3a7fb53f..050113e1f60a 100644 --- MAINTAINERS +++ MAINTAINERS @@ -51,6 +51,11 @@ M: Devesh Sharma <devesh.sha...@broadcom.com> @@ -35,7 +35,7 @@ M: Steve Wise <sw...@opengridcomputing.com> S: Supported diff --git README.md README.md -index 24eee90cb8b7..565b97a908dd 100644 +index b649c6f2bc0f..b31d448264e5 100644 --- README.md +++ README.md @@ -15,6 +15,7 @@ under the providers/ directory. Support for the following Kernel RDMA drivers @@ -47,10 +47,10 @@ - hfi1.ko - hns-roce.ko diff --git debian/control debian/control -index 738b2d6da39d..1e002808cc40 100644 +index a423e4f8a4d2..33677170a22a 100644 --- debian/control +++ debian/control -@@ -93,6 +93,7 @@ Description: User space provider drivers for libibverbs +@@ -91,6 +91,7 @@ Description: User space provider drivers for libibverbs This package contains the user space verbs drivers: . - bnxt_re: Broadcom NetXtreme-E RoCE HCAs @@ -59,7 +59,7 @@ - efa: Amazon Elastic Fabric Adapter - hfi1verbs: Intel Omni-Path HFI diff --git debian/copyright debian/copyright -index db4951993bd8..c6d798d4c30e 100644 +index 3bf582b46e06..5c90b2550cf0 100644 --- debian/copyright +++ debian/copyright @@ -148,7 +148,8 @@ Files: providers/bnxt_re/* @@ -73,7 +73,7 @@ License: BSD-MIT or GPL-2 diff --git kernel-boot/rdma-description.rules kernel-boot/rdma-description.rules -index 4ea59ba1977b..bb33dce40bd6 100644 +index 48a7cede9bc8..57bb8f1273cd 100644 --- kernel-boot/rdma-description.rules +++ kernel-boot/rdma-description.rules @@ -22,6 +22,7 @@ DRIVERS=="ib_qib", ENV{ID_RDMA_INFINIBAND}="1" @@ -83,13 +83,13 @@ +DRIVERS=="cxgb3", ENV{ID_RDMA_IWARP}="1" DRIVERS=="cxgb4", ENV{ID_RDMA_IWARP}="1" DRIVERS=="i40e", ENV{ID_RDMA_IWARP}="1" - DRIVERS=="nes", ENV{ID_RDMA_IWARP}="1" + diff --git kernel-boot/rdma-hw-modules.rules kernel-boot/rdma-hw-modules.rules -index da4bbe363ac4..dde0ab8dacac 100644 +index 95eaf7206702..a9b5350aa79c 100644 --- kernel-boot/rdma-hw-modules.rules +++ kernel-boot/rdma-hw-modules.rules -@@ -8,6 +8,7 @@ SUBSYSTEM!="net", GOTO="rdma_hw_modules_end" - # RDMA. +@@ -9,6 +9,7 @@ SUBSYSTEM!="net", GOTO="rdma_hw_modules_net_end" + ENV{ID_NET_DRIVER}=="be2net", RUN{builtin}+="kmod load ocrdma" ENV{ID_NET_DRIVER}=="bnxt_en", RUN{builtin}+="kmod load bnxt_re" +ENV{ID_NET_DRIVER}=="cxgb3", RUN{builtin}+="kmod load iw_cxgb3" @@ -97,10 +97,10 @@ ENV{ID_NET_DRIVER}=="hns", RUN{builtin}+="kmod load hns_roce" ENV{ID_NET_DRIVER}=="i40e", RUN{builtin}+="kmod load i40iw" diff --git libibverbs/verbs.h libibverbs/verbs.h -index d873f6d07327..8b580d101ce2 100644 +index da782f2ad2f2..a528b49a4fea 100644 --- libibverbs/verbs.h +++ libibverbs/verbs.h -@@ -2156,6 +2156,7 @@ struct ibv_device **ibv_get_device_list(int *num_devices); +@@ -2190,6 +2190,7 @@ struct ibv_device **ibv_get_device_list(int *num_devices); struct verbs_devices_ops; extern const struct verbs_device_ops verbs_provider_bnxt_re; @@ -3091,10 +3091,10 @@ + } +} diff --git redhat/rdma-core.spec redhat/rdma-core.spec -index e0b143364991..8909ae2a86b4 100644 +index 1bdc4872a233..af0a2e69e3ea 100644 --- redhat/rdma-core.spec +++ redhat/rdma-core.spec -@@ -128,6 +128,8 @@ Summary: A library and drivers for direct userspace use of RDMA (InfiniBand/iWAR +@@ -147,6 +147,8 @@ Summary: A library and drivers for direct userspace use of RDMA (InfiniBand/iWAR Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig Requires: %{name}%{?_isa} = %{version}-%{release} @@ -3103,7 +3103,7 @@ Provides: libcxgb4 = %{version}-%{release} Obsoletes: libcxgb4 < %{version}-%{release} Provides: libefa = %{version}-%{release} -@@ -160,6 +162,7 @@ fast path operations. +@@ -177,6 +179,7 @@ fast path operations. Device-specific plug-in ibverbs userspace drivers are included: @@ -3111,23 +3111,8 @@ - libcxgb4: Chelsio T4 iWARP HCA - libefa: Amazon Elastic Fabric Adapter - libhfi1: Intel Omni-Path HFI -diff --git redhat/rdma.kernel-init redhat/rdma.kernel-init -index c7444a1c8d77..6f50e72fcc3b 100644 ---- redhat/rdma.kernel-init -+++ redhat/rdma.kernel-init -@@ -125,6 +125,10 @@ load_hardware_modules() - load_modules mlx5_ib - RC+=$? - fi -+ if is_loaded cxgb3 -a ! is_loaded iw_cxgb3; then -+ load_modules iw_cxgb3 -+ RC+=$? -+ fi - if is_loaded cxgb4 -a ! is_loaded iw_cxgb4; then - load_modules iw_cxgb4 - RC+=$? diff --git suse/rdma-core.spec suse/rdma-core.spec -index a32d8f9cb966..4113f2f6a390 100644 +index 63f8699ade18..082515dc11c3 100644 --- suse/rdma-core.spec +++ suse/rdma-core.spec @@ -182,6 +182,7 @@ RDMA core development libraries and headers. @@ -3138,7 +3123,7 @@ Obsoletes: libcxgb4-rdmav2 < %{version}-%{release} Obsoletes: libefa-rdmav2 < %{version}-%{release} Obsoletes: libhfi1verbs-rdmav2 < %{version}-%{release} -@@ -211,6 +212,7 @@ fast path operations. +@@ -209,6 +210,7 @@ fast path operations. Device-specific plug-in ibverbs userspace drivers are included: ++++++ _service ++++++ --- /var/tmp/diff_new_pack.i13JCg/_old 2021-03-02 12:30:34.935587340 +0100 +++ /var/tmp/diff_new_pack.i13JCg/_new 2021-03-02 12:30:34.935587340 +0100 @@ -8,7 +8,7 @@ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="versionrewrite-replacement">\1</param> - <param name="revision">b7b09d2010465a3747a26468be178efee617bcda</param> + <param name="revision">2504c0bab0a807455bfd0e7f516c86a07656e934</param> <param name="extract">suse/rdma-core.spec</param> </service> <service name="recompress" mode="disabled"> ++++++ cxgb3-nes-fix-declaration-of-free_context.patch -> cxgb3-fix-declaration-of-free_context.patch ++++++ --- /work/SRC/openSUSE:Factory/rdma-core/cxgb3-nes-fix-declaration-of-free_context.patch 2020-10-08 13:10:01.643055272 +0200 +++ /work/SRC/openSUSE:Factory/.rdma-core.new.2378/cxgb3-fix-declaration-of-free_context.patch 2021-03-02 12:30:33.663586457 +0100 @@ -1,8 +1,8 @@ -commit 3eb8e71b19b62fa13cfc01db34e33914b1949ea8 +commit 439bc8d0af866af6dd0face356bf6074c9ac51f1 Author: Nicolas Morey-Chaisemartin <nmoreychaisemar...@suse.com> Date: Fri Jul 24 10:44:05 2020 +0200 - cxgb3,nes: fix declaration of free_context + cxgb3: fix declaration of free_context free_context got moved to another struct by a4c102dd6b05 (verbs: Move free_context from verbs_device_ops to verbs_context_ops) @@ -39,34 +39,3 @@ - .free_context = iwch_free_context, }; PROVIDER_DRIVER(cxgb3, iwch_dev_ops); -diff --git providers/nes/nes_umain.c providers/nes/nes_umain.c -index 07aa7ddd112a..86f0f5c55db0 100644 ---- providers/nes/nes_umain.c -+++ providers/nes/nes_umain.c -@@ -63,6 +63,8 @@ static const struct verbs_match_ent hca_table[] = { - {}, - }; - -+static void nes_ufree_context(struct ibv_context *ibctx); -+ - static const struct verbs_context_ops nes_uctx_ops = { - .query_device = nes_uquery_device, - .query_port = nes_uquery_port, -@@ -86,7 +88,9 @@ static const struct verbs_context_ops nes_uctx_ops = { - .destroy_ah = nes_udestroy_ah, - .attach_mcast = nes_uattach_mcast, - .detach_mcast = nes_udetach_mcast, -- .async_event = nes_async_event -+ .async_event = nes_async_event, -+ .free_context = nes_ufree_context, -+ - }; - - static const struct verbs_context_ops nes_uctx_no_db_ops = { -@@ -215,6 +219,5 @@ static const struct verbs_device_ops nes_udev_ops = { - .alloc_device = nes_device_alloc, - .uninit_device = nes_uninit_device, - .alloc_context = nes_ualloc_context, -- .free_context = nes_ufree_context, - }; - PROVIDER_DRIVER(nes, nes_udev_ops); ++++++ cxgb3-fix-support-for-new-uquery-API.patch ++++++ commit e8b7609a257e2fd31bc5909913205f88ae9b458c Author: Nicolas Morey-Chaisemartin <nmoreychaisemar...@suse.com> Date: Fri Feb 19 09:10:10 2021 +0100 cxgb3: fix support for new uquery API Signed-off-by: Nicolas Morey-Chaisemartin <nmoreychaisemar...@suse.com> diff --git providers/cxgb3/iwch.c providers/cxgb3/iwch.c index 2bfca4f58f21..25ce55461a5d 100644 --- providers/cxgb3/iwch.c +++ providers/cxgb3/iwch.c @@ -78,7 +78,7 @@ static const struct verbs_match_ent hca_table[] = { static void iwch_free_context(struct ibv_context *ibctx); static const struct verbs_context_ops iwch_ctx_common_ops = { - .query_device = iwch_query_device, + .query_device_ex = iwch_query_device, .query_port = iwch_query_port, .alloc_pd = iwch_alloc_pd, .dealloc_pd = iwch_free_pd, @@ -178,6 +178,19 @@ static void iwch_uninit_device(struct verbs_device *verbs_device) free(dev); } +static int _ibv_get_fw_ver(char *value, size_t len, struct verbs_sysfs_dev *sysfs_dev) +{ + + /* + * NOTE: This can only be called by a driver inside the dev_list_lock, + * ie during context setup or otherwise. + */ + assert(pthread_mutex_trylock(&dev_list_lock) != 0); + + return (ibv_read_ibdev_sysfs_file(value, len, sysfs_dev, "fw_ver") <= 0); +} + + static bool iwch_device_match(struct verbs_sysfs_dev *sysfs_dev) { char value[32], *cp; @@ -191,7 +204,7 @@ static bool iwch_device_match(struct verbs_sysfs_dev *sysfs_dev) * Verify that the firmware major number matches. Major number * mismatches are fatal. Minor number mismatches are tolerated. */ - if (ibv_get_fw_ver(value, sizeof(value), sysfs_dev)) + if (_ibv_get_fw_ver(value, sizeof(value), sysfs_dev)) return false; cp = strtok(value+1, "."); diff --git providers/cxgb3/iwch.h providers/cxgb3/iwch.h index c7d85d3aab2e..c228197bd483 100644 --- providers/cxgb3/iwch.h +++ providers/cxgb3/iwch.h @@ -143,7 +143,8 @@ static inline unsigned long long_log2(unsigned long x) } extern int iwch_query_device(struct ibv_context *context, - struct ibv_device_attr *attr); + const struct ibv_query_device_ex_input *input, + struct ibv_device_attr_ex *attr, size_t attr_size); extern int iwch_query_port(struct ibv_context *context, uint8_t port, struct ibv_port_attr *attr); diff --git providers/cxgb3/verbs.c providers/cxgb3/verbs.c index 39a44192e29c..35cde9199279 100644 --- providers/cxgb3/verbs.c +++ providers/cxgb3/verbs.c @@ -42,23 +42,27 @@ #include "iwch.h" #include "iwch-abi.h" -int iwch_query_device(struct ibv_context *context, struct ibv_device_attr *attr) +int iwch_query_device(struct ibv_context *context, + const struct ibv_query_device_ex_input *input, + struct ibv_device_attr_ex *attr, size_t attr_size) { - struct ibv_query_device cmd; + struct ib_uverbs_ex_query_device_resp resp; + size_t resp_size = sizeof(resp); uint64_t raw_fw_ver; unsigned major, minor, sub_minor; int ret; - ret = ibv_cmd_query_device(context, attr, &raw_fw_ver, &cmd, - sizeof cmd); + ret = ibv_cmd_query_device_any(context, input, attr, attr_size, &resp, + &resp_size); if (ret) return ret; + raw_fw_ver = resp.base.fw_ver; major = (raw_fw_ver >> 32) & 0xffff; minor = (raw_fw_ver >> 16) & 0xffff; sub_minor = raw_fw_ver & 0xffff; - snprintf(attr->fw_ver, sizeof attr->fw_ver, + snprintf(attr->orig_attr.fw_ver, sizeof(attr->orig_attr.fw_ver), "%d.%d.%d", major, minor, sub_minor); return 0; ++++++ prebuilt-pandoc.tgz ++++++ ++++ 2446 lines of diff (skipped) ++++++ rdma-core-31.3.0.b7b09d201046.tar.gz -> rdma-core-33.1.0.2504c0bab0a8.tar.gz ++++++ ++++ 77363 lines of diff (skipped)