[-- Attachment #1: Type: text/plain, Size: 2530 bytes --] Hi Linus, More fixes from testing done on the rc kernel, including more SELinux testing. Looking forward, lockdep found regression today in ipoib which is still being fixed. The following changes since commit 315d160c5a4e034a576a13aa21e7235d5c9ec609: IB/core: Only enforce security for InfiniBand (2017-12-01 12:21:28 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 9d98e19ba08f6aa33a4a1414f3dfe8440e67530c: IB/ipoib: Restore MM behavior in case of tx_ring allocation failure (2017-12-13 10:31:57 -0700) ---------------------------------------------------------------- Second pull request for 4.15-rc - Fix for SELinux on the umad SMI path. Some old hardware does not fill the PKey properly exposing another bug in the newer SELinux code. - Check the input port as we can exceed array bounds from this user supplied value - Users are unable to use the hash field support as they want due to incorrect checks on the field restrictions, correct that so the feature works as intended - User triggerable oops in the NETLINK_RDMA handler - cxgb4 driver fix for a bad interaction with CQ flushing in iser caused by patches in this merge window, and bad CQ flushing during normal close. - Unbalanced memalloc_noio in ipoib in an error path. ---------------------------------------------------------------- Daniel Jurgens (2): IB/core: Bound check alternate path port number IB/core: Don't enforce PKey security on SMI MADs Guy Levi (1): IB/mlx4: Fix RSS hash fields restrictions Leon Romanovsky (1): RDMA/netlink: Fix general protection fault Steve Wise (2): iw_cxgb4: only clear the ARMED bit if a notification is needed iw_cxgb4: only insert drain cqes if wq is flushed Yuval Shaia (1): IB/ipoib: Restore MM behavior in case of tx_ring allocation failure drivers/infiniband/core/cma.c | 2 +- drivers/infiniband/core/device.c | 2 +- drivers/infiniband/core/iwcm.c | 2 +- drivers/infiniband/core/nldev.c | 2 +- drivers/infiniband/core/security.c | 7 +++++-- drivers/infiniband/core/uverbs_cmd.c | 6 ++++++ drivers/infiniband/hw/cxgb4/cq.c | 5 +++++ drivers/infiniband/hw/cxgb4/qp.c | 22 ++++++++++++++++------ drivers/infiniband/hw/mlx4/qp.c | 26 +++++++++++++++++++------- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 1 + 10 files changed, 56 insertions(+), 19 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --]
Hi Linus, This is the next batch of for-rc patches from RDMA. It includes the fix for the ipoib regression I mentioned last time, and the result of a fairly major debugging effort to get iser working reliably on cxgb4 hardware - it turns out the cxgb4 driver was not handling QP error flushing properly causing iser to fail. I was on the fence for the LAG counters bug fix at rc6. In the end this appears to be a user space API issue, as data exposed to user space is not correct under certain device configurations. I also expect this patch will go to -stable. The following changes since commit 9d98e19ba08f6aa33a4a1414f3dfe8440e67530c: IB/ipoib: Restore MM behavior in case of tx_ring allocation failure (2017-12-13 10:31:57 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 45e6ae7ef21b907dacb18da62d5787d74a31d860: IB/mlx5: Fix mlx5_ib_alloc_mr error flow (2017-12-27 15:24:41 -0700) ---------------------------------------------------------------- Third pull request for 4.15-rc - cxgb4 fix for an iser testing failure as debugged by Steve and Sagi. The problem was a driver bug in the handling of shutting down a QP. - Various vmw_pvrdma fixes for bogus WARN_ON, missed resource free on error unwind and a use after free bug - Improper congestion counter values on mlx5 when link aggregation is enabled - ipoib lockdep regression introduced in this merge window - hfi1 regression supporting the device in a VM introduced in a recent patch - Typo that breaks future uAPI compatibility in the verbs core - More SELinux related oops fixing - Fix an oops during error unwind in mlx5 ---------------------------------------------------------------- Alex Vesker (1): IB/ipoib: Fix lockdep issue found on ipoib_ib_dev_heavy_flush Bryan Tan (3): RDMA/vmw_pvrdma: Call ib_umem_release on destroy QP path RDMA/vmw_pvrdma: Use refcount_dec_and_test to avoid warning RDMA/vmw_pvrdma: Avoid use after free due to QP/CQ/SRQ destroy Majd Dibbiny (2): IB/mlx5: Fix congestion counters in LAG mode IB/mlx5: Serialize access to the VMA list Michael J. Ruhl (1): IB/hfi: Only read capability registers if the capability exists Moni Shoua (2): IB/uverbs: Fix command checking as part of ib_uverbs_ex_modify_qp() IB/core: Verify that QP is security enabled in create and destroy Nitzan Carmi (1): IB/mlx5: Fix mlx5_ib_alloc_mr error flow Steve Wise (3): iw_cxgb4: Only validate the MSN for successful completions iw_cxgb4: reflect the original WR opcode in drain cqes iw_cxgb4: when flushing, complete all wrs in a chain drivers/infiniband/core/security.c | 3 ++ drivers/infiniband/core/uverbs_cmd.c | 4 +- drivers/infiniband/core/verbs.c | 3 +- drivers/infiniband/hw/cxgb4/cq.c | 13 ++--- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 2 - drivers/infiniband/hw/cxgb4/qp.c | 72 ++++++++++++++++++++++++-- drivers/infiniband/hw/cxgb4/t4.h | 6 +++ drivers/infiniband/hw/hfi1/hfi.h | 1 - drivers/infiniband/hw/hfi1/pcie.c | 30 +++++------ drivers/infiniband/hw/mlx5/cmd.c | 11 ---- drivers/infiniband/hw/mlx5/cmd.h | 2 - drivers/infiniband/hw/mlx5/main.c | 43 +++++---------- drivers/infiniband/hw/mlx5/mlx5_ib.h | 4 ++ drivers/infiniband/hw/mlx5/mr.c | 1 + drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 6 +-- drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 7 +-- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 17 +++--- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 14 +++-- drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 7 +-- drivers/infiniband/ulp/ipoib/ipoib_ib.c | 7 ++- drivers/net/ethernet/mellanox/mlx5/core/lag.c | 56 ++++++++++++++++++++ include/linux/mlx5/driver.h | 4 ++ 22 files changed, 208 insertions(+), 105 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[-- Attachment #1: Type: text/plain, Size: 31754 bytes --] Hi Linus, The is the first pull request for the merge window. We are aware of another 20-30 patches that didn't make the cutoff and are various kinds of fixes and code quality improvements. Due to this we are anticipating a 2nd pull request next week. This cycle had two conflicts between the RDMA tree and v4.15 due to netdev and RDMA patches that went into the -rc cycle. I checked with the Mellanox teams involved and they confirm they were co-ordinated about this and felt the -rc patches needed to go ahead. There were also two conflicts between RDMA -rc patches and RDMA -next patches that were resolved by applying for-next patches overtop of RDMA -rc and merging into RDMA -next. Since the conflict with v4.15 involves some code motion and is not so trivial, so I have included a merge to tag v4.15 as the top commit in this PR that has the resolution reviewed by the patch authors and tested in linux-next. The tag 'for-linus-unmerged' is available without this merge if you desire. Overall this cycle did not have any major excitement, and did not require any shared branch with netdev. Lots of driver updates, particularly of the scale-up and performance variety. The largest body of core work was Parav's patches fixing and restructing some of the core code to make way for future RDMA containerization. There is one commit out of our tree: lib/kobject.c | 2 + That was Ack'd by GKH Regards, Jason The following changes since commit d8a5b80568a9cb66810e75b182018e9edb68e8ff: Linux 4.15 (2018-01-28 13:20:33 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to e7996a9a77fc669387da43ff4823b91cc4872bd0: Merge tag v4.15 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git (2018-01-30 09:30:00 -0700) ---------------------------------------------------------------- First merge window pull request for 4.16 - Misc small driver fixups to bnxt_re/hfi1/qib/hns/ocrdma/rdmavt/vmw_pvrdma/nes - Several major feature adds to bnxt_re driver: SRIOV VF RoCE support, HugePages support, extended hardware stats support, and SRQ support - A notable number of fixes to the i40iw driver from debugging scale up testing - More work to enable the new hip08 chip in the hns driver - Misc small ULP fixups to srp/srpt//ipoib - Preparation for srp initiator and target to support the RDMA-CM protocol for connections - Add RDMA-CM support to srp initiator, srp target is still a WIP - Fixes for a couple of places where ipoib could spam the dmesg log - Fix encode/decode of FDR/EDR data rates in the core - Many patches from Parav with ongoing work to clean up inconsistencies and bugs in RoCE support around the rdma_cm - mlx5 driver support for the userspace features 'thread domain', 'wallclock timestamps' and 'DV Direct Connected transport'. Support for the firmware dual port rocee capability - Core support for more than 32 rdma devices in the char dev allocation - kernel doc updates from Randy Dunlap - New netlink uAPI for inspecting RDMA objects similar in spirit to 'ss' - One minor change to the kobject code acked by GKH ---------------------------------------------------------------- Alex Estrin (1): IB/ipoib: Fix for notify send CQ failure messages Amrani, Ram (1): MAINTAINERS: Remove Ram Amrani from Q-Logic RDMA driver Andrew F. Davis (1): IB/ocrdma: Remove unneeded conversions to bool Andy Shevchenko (1): IB/srp: replace custom implementation of hex2bin() Anton Vasilyev (1): RDMA/ocrdma: Fix permissions for OCRDMA_RESET_STATS Arnd Bergmann (4): i40iw: remove unused 'timeval' struct member nes: remove unused 'timeval' struct member IB/mlx5: revisit -Wmaybe-uninitialized warning infiniband: cxgb4: use ktime_get for timestamps Artemy Kovalyov (1): IB/umem: Fix use of npages/nmap fields Arvind Yadav (1): RDMA/bnxt_re: Remove redundant bnxt_qplib_disable_nq() call Bart Van Assche (35): IB/core: Fix two kernel warnings triggered by rxe registration IB/srpt: Remove an unused structure member IB/srpt: Fix kernel-doc warnings in ib_srpt.c IB/srpt: Document all structure members in ib_srpt.h IB/srpt: Rename a local variable, a member variable and a constant IB/srpt: Reduce the severity level of a log message IB/srpt: Verify port numbers in srpt_event_handler() IB/srpt: Use the IPv6 format for GIDs in log messages IB/srpt: Convert a warning into a debug message IB/srpt: Reduce frequency of receive failure messages IB/srpt: Introduce srpt_format_guid() IB/srpt: Inline srpt_get_cmd_state() IB/srpt: Micro-optimize I/O context state manipulation RDMA/rxe: Fix a race condition related to the QP error state RDMA/rxe: Fix a race condition in rxe_requester() RDMA/rxe: Fix rxe_qp_cleanup() IB/srp: Use kstrtoull() instead of simple_strtoull() IB/srp: Improve path record query error message IB/srp: Refactor srp_send_req() IB/srpt: Make it safe to use RCU for srpt_device.rch_list IB/srpt: Rework srpt_disconnect_ch_sync() IB/srpt: Add P_Key support IB/srpt: One target per port IB/srpt: Use the source GID as session name IB/srpt: Rework multi-channel support IB/srpt: Simplify srpt_close_session() IB/srpt: Log all zero-length writes and completions IB/srpt: Fix login-related race conditions IB/srpt: Fix a race condition related to wait list processing IB/srpt: Don't allow reordering of commands on wait list IB/srpt: Preparations for adding RDMA/CM support IB/srpt: Move the code for parsing struct ib_cm_req_event_param kobject: Export kobj_ns_grab_current() and kobj_ns_drop() IB/srp: Add RDMA/CM support IB/srp: Add target_can_queue login parameter Bharat Potnuri (2): iser-target: avoid reinitializing rdma contexts for isert commands iw_cxgb4: Change error/warn prints to pr_debug Bodong Wang (1): IB/core: Fix ib_wc structure size to remain in 64 bytes boundary Bryan Tan (5): RDMA/vmw_pvrdma: Add UAR SRQ macros in ABI header file RDMA/vmw_pvrdma: Clarify QP and CQ is_kernel logic RDMA/vmw_pvrdma: Use more specific sizeof in kcalloc RDMA/vmw_pvrdma: Use refcount_t instead of atomic_t RDMA/vmw_pvrdma: Remove usage of BIT() from UAPI header Chien Tin Tung (1): i40iw: Use sqsize to initialize cqp_requests elements Colin Ian King (3): IB/qib: remove redundant setting of any in for-loop iw_cxgb4: make pointer reg_workq static IB/mlx5: remove redundant assignment of mdev Corentin Labbe (2): IB/mthca: remove mthca_user.h IB/qib: remove qib_keys.c Dan Carpenter (2): RDMA/cxgb4: Add a sanity check in process_work() IB/mlx4: Potential buffer overflow in _mlx4_set_path() Daniel Jurgens (14): IB/cm: Add debug prints to ib_cm net/mlx5: Fix race for multiple RoCE enable net/mlx5: Set software owner ID during init HCA IB/core: Change roce_rescan_device to return void IB/mlx5: Reduce the use of num_port capability IB/mlx5: Make netdev notifications multiport capable {net, IB}/mlx5: Manage port association for multiport RoCE IB/mlx5: Move IB event processing onto a workqueue IB/mlx5: Implement dual port functionality in query routines IB/mlx5: Update counter implementation for dual port RoCE {net, IB}/mlx5: Change set_roce_gid to take a port number IB/mlx5: Route MADs for dual port RoCE IB/mlx5: Don't advertise RAW QP support in dual port mode net/mlx5: Set num_vhca_ports capability Davidlohr Bueso (1): IB/mthca: Fix gup usage in mthca_map_user_db() Dennis Dalessandro (1): rdma: Update maintainer contact for Intel RDMA drivers Devesh Sharma (1): RDMA/bnxt_re: Add SRQ support for Broadcom adapters Don Hiatt (4): IB/hfi1: Mask the path bits with the LMC for 16B RC Acks IB/CM: Change sgid to IB GID when handling CM request IB/core: Use rdma_cap_opa_mad to check for OPA IB/hfi1: Change slid arg in ingress_pkey_table_fail to 32bit Doug Ledford (2): Merge branch 'bart-srpt-for-next' into k.o/wip/dl-for-next MAINTAINERS: Fix the location of the rdma git repo Erez Alfasi (1): IB/mlx4: Remove unused ibpd parameter Erez Shitrit (2): IB/ipoib: Avoid memory leak if the SA returns a different DGID IB/ipoib: Update pathrec field if not valid record Feras Daoud (2): net/mlx5e: Add clock info page to mlx5 core devices IB/mlx5: Mmap the HCA's clock info to user-space Geert Uytterhoeven (2): i40w: Remove garbage at end of INFINIBAND_I40IW Kconfig section RDMA/iwpm: Fix uninitialized error code in iwpm_send_mapinfo() Gomonovych, Vasyl (1): IB/core: Use PTR_ERR_OR_ZERO() Guy Levi (1): IB/mlx4: Add support to RSS hash for inner headers Hans Westgaard Ry (1): RDMA/core: Add encode/decode FDR/EDR rates Henry Orosco (1): i40iw: Change accelerated flag to bool Himanshu Jha (5): IB/ocrdma: Use zeroing memory allocator than allocator/memset RDMA/vmw_pvrdma: Use zeroing memory allocator than allocator/memset RDMA/qedr: Use zeroing memory allocator than allocator/memset RDMA/bnxt_re: Use zeroing memory allocator than allocator/memset IB/mthca: Use zeroing memory allocator than allocator/memset Huy Nguyen (2): IB/core: Remove the locking for character device bitmaps IB/core: Increase number of char device minors Jack Morgenstein (2): IB/mlx4: Fix incorrectly releasing steerable UD QPs when have only ETH ports IB/umad: Fix use of unprotected device pointer Jan Sokolowski (1): IB/hfi1: Use 4096 for default active MTU in query_qp Jason Gunthorpe (8): Merge branch 'from-rc' of git://git.kernel.org/.../rdma/rdma.git RDMA: Mark imm_data as be32 in the verbs uapi header RDMA/hns: Fix endian problems around imm_data and rkey RDMA/qedr: Fix endian problems around imm_data RDMA/uverbs: Use an unambiguous errno for method not supported IB/rxe: Change RDMA_RXE kconfig to use select RDMA: Move enum ib_cq_creation_flags to uapi headers Merge tag v4.15 of git://git.kernel.org/.../torvalds/linux-2.6.git Jia-Ju Bai (1): i40iw: Replace mdelay with msleep in i40iw_wait_pe_ready Joe Perches (1): IB/qib: Cleanup qib_set_part_key() with direct returns Jonathan Toppins (1): bnxt_re: report RoCE device support at info level Kaike Wan (2): IB/rdmavt: No need to cancel RNRNAK retry timer when it is running IB/rdmavt: Add trace for RNRNAK timer Kalderon, Michal (1): RDMA/qedr: lower print level of flushed CQEs Leon Romanovsky (17): RDMA/rxe: Remove useless EXPORT_SYMBOL RDMA/netlink: Simplify code of autoload modules RDMA/core: Replace open-coded variant of put_device RDMA/nldev: Refactor setting the nldev handle to a common function RDMA/cma: Mark end of CMA ID messages RDMA/mlx5: Remove redundant allocation warning print RDMA/srpt: Fix RCU debug build error RDMA/mlx5: Avoid memory leak in case of XRCD dealloc failure RDMA/cm: Fix access to uninitialized variable RDMA/core: Use the MODNAME instead of the function name for pd callers RDMA/core: Save kernel caller name when creating PD and CQ objects RDMA/restrack: Add general infrastructure to track RDMA resources RDMA/core: Add resource tracking for create and destroy QPs RDMA/core: Add resource tracking for create and destroy CQs RDMA/core: Add resource tracking for create and destroy PDs RDMA/nldev: Provide global resource utilization RDMA/nldev: Provide detailed QP information Majd Dibbiny (1): IB/core: Make sure that PSN does not overflow Maor Gottlieb (1): IB/mlx5: Report inner RSS capability Mark Bloch (6): IB/mlx5: Create profile infrastructure to add and remove stages IB/mlx5: Move RoCE/ETH initialization to the corresponding stage IB/mlx5: Move ODP initialization to the corresponding stage IB/mlx5: Move hardware counters initialization to the corresponding stage IB/mlx5: Move loopback initialization to the corresponding stage IB/mlx5: Move locks initialization to the corresponding stage Markus Elfring (3): IB/iser: Delete an error message for a failed memory allocation in iser_send_data_out() IB/iser: Delete an unnecessary variable initialisation in iser_send_data_out() IB/iser: Combine substrings for three messages Matan Barak (1): IB/core: Fix memory leak in cm_req_handler error flows Max Gurtovoy (1): IB/core: postpone WR initialization during queue drain Michael J. Ruhl (4): IB/hfi1: Add RQ/SRQ information to QP stats IB/{rdmavt, hfi1, qib}: Self determine driver name IB/{rdmavt, hfi1, qib}: Remove get_card_name() downcall IB/{hfi1, qib}: Fix a concurrency issue with device name in logging Mike Marciniszyn (3): IB/qib: Fix comparison error with qperf compare/swap test IB/rdmavt: Use correct numa node for SRQ allocation IB/rdmavt: Allocate CQ memory on the correct node Moni Shoua (6): net/mlx5: Add DCT command interface net/mlx5: Enable DC transport IB/core: Introduce driver QP type IB/mlx5: Handle type IB_QPT_DRIVER when creating a QP IB/mlx5: Add support for DC Initiator QP IB/mlx5: Add support for DC target QP Mustafa Ismail (3): i40iw: Reinitialize add_sd_cnt i40iw: Remove setting of rem_addr.len i40iw: Free IEQ resources Parav Pandit (44): IB/{core/cm}: Fix generating a return AH for RoCEE IB/core: Depend on IPv6 stack to resolve link local address for RoCEv2 IB/core: Avoid exporting module internal function RDMA/cma: Use correct size when writing netlink stats RDMA/cma: Set default GID type as RoCE when resolving RoCE route RDMA/cma: Simplify netdev check RDMA/cma: Avoid setting path record type twice RDMA/cma: Introduce and use helper functions to init work IB/core: Avoid unnecessary type cast IB/core: Refactor to avoid unnecessary check on GID lookup miss IB/rxe: Avoid passing unused index pointer which is optional IB/core: Avoid exporting module internal ib_find_gid_by_filter() RDMA/core: Avoid redundant memcpy in rdma_addr_find_l2_eth_by_grh IB/core: Removed unused function RDMA/{core, cma}: Simplify rdma_translate_ip RDMA/core: Avoid copying ifindex twice IB/{core, ipoib}: Simplify ib_find_gid to search only for IB link layer IB/{cm, umad}: Handle av init error IB/cm: Handle address handle attribute init error IB/cm: Fix sleeping while spin lock is held IB/{core, cm, cma, ipoib}: Rename ib_init_ah_from_path to ib_init_ah_attr_from_path IB/{core, umad, cm}: Rename ib_init_ah_from_wc to ib_init_ah_attr_from_wc IB/cm: Refactor to avoid setting path record software only fields IB/mlx5: Change debugfs to have per port contents RDMA/cma: Use the right net namespace for the rdma_cm_id RDMA/cma: Provide a function to set RoCE path record L2 parameters RDMA/{cma, ucma}: Simplify and rename rdma_set_ib_paths RDMA/cma: Fix rdma_cm raw IB path setting for RoCE RDMA/cma: Fix rdma_cm path querying for RoCE IB/core: Perform modify QP on real one IB/core: Limit DMAC resolution to userspace QPs IB/core: Attempt DMAC resolution for only RoCE IB/core: Limit DMAC resolution to RoCE Connected QPs RDMA/core: Clarify rdma_ah_find_type RDMA/cma: Introduce API to read GIDs for multiple transports RDMA/ucma: Use rdma cm API to query GID net/rds: Use rdma_read_gids to read connection GIDs RDMA/core: Simplify rdma_addr_get_sgid() to not support RoCE RDMA/cma: Check existence of netdevice during port validation RDMA/cma: Refactor to access multiple fields of rdma_dev_addr RDMA/cma: Update cma_validate_port to honor net namespace RDMA/cma: Update RoCE multicast routines to use net namespace IB/core: Avoid SGID attributes query while converting GID from OPA to IB RDMA/cma: Use existing netif_is_bond_master function Pravin Shedge (1): drivers: infiniband: remove duplicate includes Randy Dunlap (5): infiniband: drop unknown function from core_priv.h infiniband: fix core/verbs.c kernel-doc notation infiniband: fix core/fmr_pool.c kernel-doc notation infiniband: fix ulp/opa_vnic/opa_vnic_vema.c kernel-doc notation infiniband: fix sw/rdmavt/* kernel-doc notation Sagi Grimberg (1): IB/cq: Don't force IB_POLL_DIRECT poll context for ib_process_cq_direct Sebastian Sanchez (1): IB/hfi1: Fix infinite loop in 8051 command error path Selvin Xavier (3): RDMA/bnxt_re: Enable RoCE on virtual functions RDMA/bnxt_re: Add support for query firmware version RDMA/bnxt_re: expose detailed stats retrieved from HW Shiraz Saleem (10): nes: Change accelerated flag to bool i40iw: Set MAX_IRD_SIZE to 64 i40iw: Use utility function roundup_pow_of_two() i40iw: Correct Q1/XF object count equation i40iw: Add notifier for network device events i40iw: Selectively teardown QPs on IP addr change event i40iw: Fix sequence number for the first partial FPDU i40iw: Ignore LLP_DOUBT_REACHABILITY AE i40iw: Remove extra call to i40iw_est_sd() i40iw: Zero-out consumer key on allocate stag for FMR Sindhu Devale (1): i40iw: Remove limit on re-posting AEQ entries to HW Somnath Kotur (1): RDMA/bnxt_re: Add support for MRs with Huge pages Tatyana Nikolova (2): i40iw: Validate correct IRD/ORD connection parameters i40iw: Fix the connection ORD value for loopback Venkata Sandeep Dhanalakota (1): IB/SA: Check dlid before SA agent queries for ClassPortInfo Xiongfeng Wang (1): IB/cma: use strlcpy() instead of strncpy() Yishai Hadas (3): IB/mlx5: Extend UAR stuff to support dynamic allocation IB/mlx5: Expose dynamic mmap allocation IB/mlx5: Enable QP creation with a given blue flame index Yixian Liu (4): RDMA/hns: Refactor eq code for hip06 RDMA/hns: Add eq support of hip08 RDMA/hns: Add detailed comments for mb() call RDMA/hns: Fix QP state judgement before sending work requests Yuval Shaia (3): RDMA/vmw_pvrdma: Do not re-calculate npages IB/ipoib: Replace printk with pr_warn IB/ipoib: Warn when one port fails to initialize Zhu Yanjun (2): IB/rxe: add the static type to the variable IB/rxe: remove unnecessary skb_clone in xmit oulijun (12): RDMA/hns: Add rq inline data support for hip08 RoCE RDMA/hns: Update the usage of sr_max and rr_max field RDMA/hns: Set access flags of hip08 RoCE RDMA/hns: Filter for zero length of sge in hip08 kernel mode RDMA/hns: Assign dest_qp when deregistering mr RDMA/hns: Assign the correct value for tx_cqn RDMA/hns: Create gsi qp in hip08 RDMA/hns: Add gsi qp support for modifying qp in hip08 RDMA/hns: Fill sq wqe context of ud type in hip08 RDMA/hns: Assign zero for pkey_index of wc in hip08 RDMA/hns: Update the verbs of polling for completion RDMA/hns: Set the guid for hip08 RoCE device weiyongjun (A) (1): RDMA/hns: Remove unnecessary platform_get_resource() error check MAINTAINERS | 7 +- drivers/infiniband/core/Makefile | 2 +- drivers/infiniband/core/addr.c | 65 +- drivers/infiniband/core/cache.c | 23 +- drivers/infiniband/core/cm.c | 227 ++- drivers/infiniband/core/cma.c | 252 ++- drivers/infiniband/core/cma_configfs.c | 2 +- drivers/infiniband/core/core_priv.h | 52 +- drivers/infiniband/core/cq.c | 39 +- drivers/infiniband/core/device.c | 42 +- drivers/infiniband/core/fmr_pool.c | 12 +- drivers/infiniband/core/iwpm_util.c | 1 + drivers/infiniband/core/mad.c | 1 - drivers/infiniband/core/netlink.c | 10 +- drivers/infiniband/core/nldev.c | 394 ++++- drivers/infiniband/core/restrack.c | 164 ++ drivers/infiniband/core/roce_gid_mgmt.c | 13 +- drivers/infiniband/core/sa_query.c | 18 +- drivers/infiniband/core/security.c | 10 +- drivers/infiniband/core/sysfs.c | 1 - drivers/infiniband/core/ucm.c | 73 +- drivers/infiniband/core/ucma.c | 19 +- drivers/infiniband/core/umem.c | 2 +- drivers/infiniband/core/user_mad.c | 123 +- drivers/infiniband/core/uverbs_cmd.c | 14 +- drivers/infiniband/core/uverbs_ioctl.c | 19 +- drivers/infiniband/core/uverbs_main.c | 95 +- drivers/infiniband/core/uverbs_std_types.c | 3 + drivers/infiniband/core/verbs.c | 312 ++-- drivers/infiniband/hw/bnxt_re/bnxt_re.h | 43 +- drivers/infiniband/hw/bnxt_re/hw_counters.c | 145 +- drivers/infiniband/hw/bnxt_re/hw_counters.h | 39 + drivers/infiniband/hw/bnxt_re/ib_verbs.c | 404 ++++- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 20 + drivers/infiniband/hw/bnxt_re/main.c | 251 ++- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 463 ++++- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 78 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 5 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 7 +- drivers/infiniband/hw/bnxt_re/qplib_res.c | 9 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 141 +- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 91 +- drivers/infiniband/hw/bnxt_re/roce_hsi.h | 127 +- drivers/infiniband/hw/cxgb4/cm.c | 27 +- drivers/infiniband/hw/cxgb4/device.c | 36 +- drivers/infiniband/hw/cxgb4/ev.c | 2 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 4 +- drivers/infiniband/hw/cxgb4/qp.c | 6 +- drivers/infiniband/hw/cxgb4/t4.h | 4 +- drivers/infiniband/hw/hfi1/chip.c | 87 +- drivers/infiniband/hw/hfi1/chip.h | 2 +- drivers/infiniband/hw/hfi1/driver.c | 16 - drivers/infiniband/hw/hfi1/firmware.c | 64 +- drivers/infiniband/hw/hfi1/hfi.h | 25 +- drivers/infiniband/hw/hfi1/init.c | 2 + drivers/infiniband/hw/hfi1/mad.c | 6 +- drivers/infiniband/hw/hfi1/qp.c | 10 +- drivers/infiniband/hw/hfi1/rc.c | 8 +- drivers/infiniband/hw/hfi1/verbs.c | 6 +- drivers/infiniband/hw/hns/Makefile | 2 +- drivers/infiniband/hw/hns/hns_roce_cmd.c | 1 + drivers/infiniband/hw/hns/hns_roce_cmd.h | 10 + drivers/infiniband/hw/hns/hns_roce_common.h | 11 + drivers/infiniband/hw/hns/hns_roce_cq.c | 19 +- drivers/infiniband/hw/hns/hns_roce_device.h | 103 +- drivers/infiniband/hw/hns/hns_roce_eq.c | 759 -------- drivers/infiniband/hw/hns/hns_roce_eq.h | 134 -- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 758 +++++++- drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 44 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 1837 ++++++++++++++++++-- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 283 ++- drivers/infiniband/hw/hns/hns_roce_main.c | 16 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 72 +- drivers/infiniband/hw/i40iw/Kconfig | 1 - drivers/infiniband/hw/i40iw/i40iw.h | 3 + drivers/infiniband/hw/i40iw/i40iw_cm.c | 68 +- drivers/infiniband/hw/i40iw/i40iw_cm.h | 8 +- drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 25 +- drivers/infiniband/hw/i40iw/i40iw_d.h | 1 + drivers/infiniband/hw/i40iw/i40iw_hw.c | 3 +- drivers/infiniband/hw/i40iw/i40iw_main.c | 13 +- drivers/infiniband/hw/i40iw/i40iw_puda.c | 5 +- drivers/infiniband/hw/i40iw/i40iw_puda.h | 1 + drivers/infiniband/hw/i40iw/i40iw_uk.c | 18 +- drivers/infiniband/hw/i40iw/i40iw_user.h | 3 +- drivers/infiniband/hw/i40iw/i40iw_utils.c | 50 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 5 +- drivers/infiniband/hw/mlx4/cq.c | 4 +- drivers/infiniband/hw/mlx4/main.c | 19 +- drivers/infiniband/hw/mlx4/qp.c | 20 +- drivers/infiniband/hw/mlx5/cong.c | 83 +- drivers/infiniband/hw/mlx5/cq.c | 2 +- drivers/infiniband/hw/mlx5/mad.c | 23 +- drivers/infiniband/hw/mlx5/main.c | 1411 +++++++++++---- drivers/infiniband/hw/mlx5/mlx5_ib.h | 111 +- drivers/infiniband/hw/mlx5/mr.c | 3 + drivers/infiniband/hw/mlx5/odp.c | 9 - drivers/infiniband/hw/mlx5/qp.c | 432 ++++- drivers/infiniband/hw/mthca/mthca_memfree.c | 7 +- drivers/infiniband/hw/mthca/mthca_user.h | 112 -- drivers/infiniband/hw/nes/nes_cm.c | 2 +- drivers/infiniband/hw/nes/nes_cm.h | 3 +- drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 19 +- drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 8 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 10 +- drivers/infiniband/hw/qedr/verbs.c | 15 +- drivers/infiniband/hw/qib/qib.h | 8 +- drivers/infiniband/hw/qib/qib_driver.c | 16 - drivers/infiniband/hw/qib/qib_eeprom.c | 3 +- drivers/infiniband/hw/qib/qib_file_ops.c | 68 +- drivers/infiniband/hw/qib/qib_init.c | 2 + drivers/infiniband/hw/qib/qib_keys.c | 235 --- drivers/infiniband/hw/qib/qib_rc.c | 6 +- drivers/infiniband/hw/qib/qib_verbs.c | 2 - drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 1 - drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 1 - drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 4 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 13 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 21 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 15 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 11 +- drivers/infiniband/sw/rdmavt/cq.c | 15 +- drivers/infiniband/sw/rdmavt/mcast.c | 4 +- drivers/infiniband/sw/rdmavt/mr.c | 2 +- drivers/infiniband/sw/rdmavt/qp.c | 27 +- drivers/infiniband/sw/rdmavt/srq.c | 16 +- drivers/infiniband/sw/rdmavt/trace.h | 4 +- drivers/infiniband/sw/rdmavt/trace_qp.h | 42 + drivers/infiniband/sw/rdmavt/vt.c | 10 +- drivers/infiniband/sw/rdmavt/vt.h | 6 +- drivers/infiniband/sw/rxe/Kconfig | 4 +- drivers/infiniband/sw/rxe/rxe.c | 6 - drivers/infiniband/sw/rxe/rxe.h | 6 +- drivers/infiniband/sw/rxe/rxe_loc.h | 1 - drivers/infiniband/sw/rxe/rxe_net.c | 18 +- drivers/infiniband/sw/rxe/rxe_net.h | 1 - drivers/infiniband/sw/rxe/rxe_qp.c | 12 +- drivers/infiniband/sw/rxe/rxe_recv.c | 3 +- drivers/infiniband/sw/rxe/rxe_req.c | 9 +- drivers/infiniband/sw/rxe/rxe_resp.c | 5 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 2 + drivers/infiniband/sw/rxe/rxe_verbs.h | 3 + drivers/infiniband/ulp/ipoib/ipoib_cm.c | 18 +- drivers/infiniband/ulp/ipoib/ipoib_ib.c | 5 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 98 +- drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 6 +- drivers/infiniband/ulp/iser/iser_initiator.c | 16 +- drivers/infiniband/ulp/isert/ib_isert.c | 7 + drivers/infiniband/ulp/isert/ib_isert.h | 1 + drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 2 +- drivers/infiniband/ulp/srp/ib_srp.c | 795 +++++++-- drivers/infiniband/ulp/srp/ib_srp.h | 43 +- drivers/infiniband/ulp/srpt/ib_srpt.c | 962 ++++++---- drivers/infiniband/ulp/srpt/ib_srpt.h | 100 +- drivers/net/ethernet/mellanox/mlx4/qp.c | 3 + drivers/net/ethernet/mellanox/mlx5/core/eq.c | 9 +- .../net/ethernet/mellanox/mlx5/core/fpga/conn.c | 11 +- drivers/net/ethernet/mellanox/mlx5/core/fw.c | 10 +- .../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 2 +- .../net/ethernet/mellanox/mlx5/core/lib/clock.c | 55 + drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c | 5 +- drivers/net/ethernet/mellanox/mlx5/core/main.c | 15 +- .../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 2 +- drivers/net/ethernet/mellanox/mlx5/core/qp.c | 125 +- drivers/net/ethernet/mellanox/mlx5/core/vport.c | 91 +- include/linux/mlx5/device.h | 16 + include/linux/mlx5/driver.h | 43 +- include/linux/mlx5/mlx5_ifc.h | 32 +- include/linux/mlx5/qp.h | 12 + include/linux/mlx5/vport.h | 4 + include/rdma/ib_addr.h | 38 +- include/rdma/ib_sa.h | 10 +- include/rdma/ib_verbs.h | 64 +- include/rdma/opa_addr.h | 16 + include/rdma/rdma_cm.h | 19 + include/rdma/rdma_cm_ib.h | 8 +- include/rdma/rdma_vt.h | 31 +- include/rdma/restrack.h | 157 ++ include/scsi/srp.h | 17 + include/uapi/rdma/bnxt_re-abi.h | 9 + include/uapi/rdma/ib_user_verbs.h | 11 +- include/uapi/rdma/mlx4-abi.h | 7 +- include/uapi/rdma/mlx5-abi.h | 53 +- include/uapi/rdma/rdma_netlink.h | 49 + include/uapi/rdma/vmw_pvrdma-abi.h | 12 +- lib/kobject.c | 2 + net/rds/ib.c | 6 +- 187 files changed, 10240 insertions(+), 4028 deletions(-) create mode 100644 drivers/infiniband/core/restrack.c delete mode 100644 drivers/infiniband/hw/hns/hns_roce_eq.c delete mode 100644 drivers/infiniband/hw/hns/hns_roce_eq.h delete mode 100644 drivers/infiniband/hw/mthca/mthca_user.h delete mode 100644 drivers/infiniband/hw/qib/qib_keys.c create mode 100644 include/rdma/restrack.h [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --]
On Wed, Jan 31, 2018 at 9:47 AM, Jason Gunthorpe <jgg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> wrote: > > Since the conflict with v4.15 involves some code motion and is not so > trivial, so I have included a merge to tag v4.15 as the top commit in > this PR that has the resolution reviewed by the patch authors and > tested in linux-next. The tag 'for-linus-unmerged' is available > without this merge if you desire. Thanks, this was well done. A thoughtful merge with explanation for why the conflict happened and why back-merge was done, and taking a sane merge point (v4.15 rather than some random daily point). Maybe the back-merge commit itself could have had a slightly more complete merge message (the kind you had in the pull request here), but that's a small nit. So I thought I'd send out a "good job" email just as a contrast to me having to sometimes complain about back-merges. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Jan 31, 2018 at 12:11:24PM -0800, Linus Torvalds wrote: > On Wed, Jan 31, 2018 at 9:47 AM, Jason Gunthorpe <jgg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> wrote: > > > > Since the conflict with v4.15 involves some code motion and is not so > > trivial, so I have included a merge to tag v4.15 as the top commit in > > this PR that has the resolution reviewed by the patch authors and > > tested in linux-next. The tag 'for-linus-unmerged' is available > > without this merge if you desire. > > Thanks, this was well done. A thoughtful merge with explanation for > why the conflict happened and why back-merge was done, and taking a > sane merge point (v4.15 rather than some random daily point). Thanks Linus, it is good to know I've understood your past remarks properly! On the topic of back merges, can you give some guidance? With some success, we've encouraged all the driver vendors to test -rc kernels and test our RDMA for-next internally during the entire -rc cycle. Most of the testers are taking RDMA for-next and merging it with latest -rcX then testing the result. Due to the conflict above our tree was left with complicated merge conflicts for about 3-4 weeks, and some of the testers have had pain due to this. Would back merging -rcX ealier, with a similar but better merge commit, be an acceptable practice? I'm unsure since we'd be doing this to support testers/users and not as a development requirement. In this case we'd send you a PR with the back merge for conflict resolution well down the commit list. Thanks, Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Jan 31, 2018 at 1:04 PM, Jason Gunthorpe <jgg-VPRAkNaXOzVWk0Htik3J/w@public.gmane.org> wrote: > > On the topic of back merges, can you give some guidance? > > With some success, we've encouraged all the driver vendors to test -rc > kernels and test our RDMA for-next internally during the entire -rc > cycle. Most of the testers are taking RDMA for-next and merging it > with latest -rcX then testing the result. > > Due to the conflict above our tree was left with complicated merge > conflicts for about 3-4 weeks, and some of the testers have had pain > due to this. > > Would back merging -rcX ealier, with a similar but better merge > commit, be an acceptable practice? I'd hesitate to say "sure" in general. For pure testing of temporary kernels that aren't actually in any way upstream anyway, is there any reason why you can't just have a separate kernel with the merges in place, but not make them part of your development tree? Think of how "linux-next" works on a big scale: there's tons of random merges there exactly so that people can test the end result, but those merges are understood to be temporary and not part of the development trees themselves. So back-merges are not necessarily evil, and they _can_ be done well. But I don't actually see your case as being a reason for them in general. Linus -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Thu, Feb 01, 2018 at 11:12:43AM -0800, Linus Torvalds wrote: > For pure testing of temporary kernels that aren't actually in any way > upstream anyway, is there any reason why you can't just have a > separate kernel with the merges in place, but not make them part of > your development tree? Okay, thanks, I appreciate the clarity here. We can work something like this into our process, a temporary throw away branch is certainly easy enough to create. Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[-- Attachment #1: Type: text/plain, Size: 2887 bytes --] Hi Linus, Fourth pull request for -rc. Not much exciting here, almost entirely syzkaller fixes. This is going to be on ongoing theme for some time, I think. Both Google and Mellanox are now running syzkaller on different parts of the user API. The following changes since commit 28e9091e3119933c38933cb8fc48d5618eb784c8: RDMA/mlx5: Fix integer overflow while resizing CQ (2018-03-09 18:10:48 -0500) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to e8980d67d6017c8eee8f9c35f782c4bd68e004c9: RDMA/ucma: Ensure that CM_ID exists prior to access it (2018-03-20 11:07:21 -0600) ---------------------------------------------------------------- Fourth pull request for 4.16-rc - Many bug fixes related to syzkaller from Leon Romanovsky. These are still for the mlx driver and ucma interface. - Fix a situation with port reuse for iWarp, discovered during scale-up testing - Bug fixes for the profile and restrack patches accepted during this merge window - Compile warning cleanups from Arnd, this is apparently the last warning to make 32 bit builds quite. ---------------------------------------------------------------- Arnd Bergmann (2): infiniband: qplib_fp: fix pointer cast infiniband: bnxt_re: use BIT_ULL() for 64-bit bit masks Boris Pismenny (2): IB/mlx5: Fix out-of-bounds read in create_raw_packet_qp_rq IB/mlx5: Fix integer overflows in mlx5_ib_create_srq Leon Romanovsky (7): RDMA/mlx5: Fix crash while accessing garbage pointer and freed memory RDMA/ucma: Fix access to non-initialized CM_ID object RDMA/ucma: Don't allow join attempts for unsupported AF family RDMA/ucma: Check AF family prior resolving address RDMA/ucma: Fix use-after-free access in ucma_close RDMA/verbs: Remove restrack entry from XRCD structure RDMA/ucma: Ensure that CM_ID exists prior to access it Mark Bloch (1): IB/mlx5: Fix cleanup order on unload Tatyana Nikolova (1): RDMA/core: Do not use invalid destination in determining port reuse drivers/infiniband/core/cma.c | 15 ++++++++----- drivers/infiniband/core/ucma.c | 36 +++++++++++++++++++++++--------- drivers/infiniband/hw/bnxt_re/bnxt_re.h | 4 ++-- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 2 +- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 4 ++-- drivers/infiniband/hw/mlx5/main.c | 21 +++++++++++-------- drivers/infiniband/hw/mlx5/mlx5_ib.h | 3 ++- drivers/infiniband/hw/mlx5/mr.c | 12 +++++++---- drivers/infiniband/hw/mlx5/qp.c | 23 +++++++++++++------- drivers/infiniband/hw/mlx5/srq.c | 15 +++++++------ include/linux/mlx5/driver.h | 4 ++-- include/rdma/ib_verbs.h | 4 ---- 12 files changed, 90 insertions(+), 53 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --]
Hi Linus, Fifth pull request for -rc. It has been fairly silent lately on our -rc front. Big queue of patches on the mailing list going to for-next though. The following changes since commit e8980d67d6017c8eee8f9c35f782c4bd68e004c9: RDMA/ucma: Ensure that CM_ID exists prior to access it (2018-03-20 11:07:21 -0600) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 84652aefb347297aa08e91e283adf7b18f77c2d5: RDMA/ucma: Introduce safer rdma_addr_size() variants (2018-03-28 16:13:36 -0600) ---------------------------------------------------------------- Fifth pull request for 4.16-rc Bug fixes: - qedr driver bugfixes causing application hangs, wrong uapi errnos, and a race condition - 3 syzkaller found bugfixes in the ucma uapi Regression fixes for things introduced in 4.16: - Crash on error introduced in mlx5 UMR flow - Crash on module unload/etc introduced by bad interaction of restrack and mlx5 patches this cycle - Typo in a two line syzkaller bugfix causing a bad regression - Coverity report of nonsense code in hns driver ---------------------------------------------------------------- Chien Tin Tung (1): RDMA/ucma: Correct option size check using optlen Colin Ian King (1): RDMA/hns: ensure for-loop actually iterates and free's buffers Jason Gunthorpe (1): RDMA/rdma_cm: Fix use after free race with process_one_req Kalderon, Michal (3): RDMA/qedr: fix QP's ack timeout configuration RDMA/qedr: Fix rc initialization on CNQ allocation failure RDMA/qedr: Fix QP state initialization race Leon Romanovsky (3): RDMA/restrack: Move restrack_clean to be symmetrical to restrack_init RDMA/ucma: Check that device is connected prior to access it RDMA/ucma: Check that device exists prior to accessing it Mark Bloch (1): IB/mlx5: Don't clean uninitialized UMR resources Roland Dreier (1): RDMA/ucma: Introduce safer rdma_addr_size() variants drivers/infiniband/core/addr.c | 25 ++++++++++++++++ drivers/infiniband/core/device.c | 3 +- drivers/infiniband/core/ucma.c | 47 +++++++++++++++++------------- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 2 +- drivers/infiniband/hw/mlx5/main.c | 12 ++++++-- drivers/infiniband/hw/mlx5/mr.c | 3 ++ drivers/infiniband/hw/qedr/main.c | 3 +- drivers/infiniband/hw/qedr/verbs.c | 45 +++++++++++++++++++--------- include/rdma/ib_addr.h | 2 ++ 9 files changed, 102 insertions(+), 40 deletions(-)
[-- Attachment #1: Type: text/plain, Size: 30714 bytes --] Hi Linus, Here are the RDMA patches for for 4.17. This cycle we have some interesting conflicts, a syzkaller related bug fix in rc clashed very badly with the Mellanox shared pull request. Doug made the resolution in the RDMA tree for-next tree and DaveM refered to it when he pulled in the same patches. This turned out to create two commits to the same file which then also creates an unexpected conflict here. In retrospect perhaps we should have tried to push the conflict resolution as a shared patch as well. So at this point we have conflicts between net-next, RDMA for-rc and RDMA for-next. As before I've resolved them in the top commit, but this couldn't be done against a nice tag. I choose to use your merge of net-next, which has all the necessary patches. The for-linus-unmerged tag is the same PR without this resolution. In this case the conflicts are easy to resolve by hand. Just deleting the conflict markers is correct in every case execpt umca.c which requires this: - ctx->cm_id = __rdma_create_id(current->nsproxy->net_ns, - ucma_event_handler, ctx, cmd.ps, qp_type, NULL); - if (IS_ERR(ctx->cm_id)) { - ret = PTR_ERR(ctx->cm_id); - cm_id = rdma_create_id(current->nsproxy->net_ns, - ucma_event_handler, ctx, cmd.ps, qp_type); ++ cm_id = __rdma_create_id(current->nsproxy->net_ns, ++ ucma_event_handler, ctx, cmd.ps, qp_type, NULL); + if (IS_ERR(cm_id)) { + ret = PTR_ERR(cm_id); Doug and I are at a conference next week so if another PR is sent I expect it to only be bug fixes. Parav noted yesterday that there are some fringe case behavior changes in his work that he would like to fix, and I see that Intel has a number of rc looking patches for HFI1 they posted yesterday. Parav is again the biggest contributor by patch count with his ongoing work to enable container support in the RDMA stack, followed by Leon doing syzkaller inspired cleanups, though most of the actual fixing went to RC. There is one uncomfortable series here fixing the user ABI to actually work as intended in 32 bit mode. There are lots of notes in the commit messages, but the basic summary is we don't think there is an actual 32 bit kernel user of drivers/infiniband for several good reasons. However we are seeing people want to use a 32 bit user space with 64 bit kernel, which didn't completely work today. So in fixing it we required a 32 bit rxe user to upgrade their userspace. rxe users are still already quite rare and we think a 32 bit one is non-existing. Thanks, Jason The following changes since commit 5bb053bef82523a8fd78d650bca81c9f114fa276: Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next (2018-04-03 14:04:18 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 423009d1cbb77b67f6eba65efd116874e6b6b69d: Merge net-next of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git (2018-04-05 20:57:10 -0600) ---------------------------------------------------------------- Merge candidates for 4.17 merge window - Fix RDMA uapi headers to actually compile in userspace and be more complete - Three shared with netdev pull requests from Mellanox: * 7 patches, mostly to net with 1 IB related one at the back). This series addresses an IRQ performance issue (patch 1), cleanups related to the fix for the IRQ performance problem (patches 2-6), and then extends the fragmented completion queue support that already exists in the net side of the driver to the ib side of the driver (patch 7). * Mostly IB, with 5 patches to net that are needed to support the remaining 10 patches to the IB subsystem. This series extends the current 'representor' framework when the mlx5 driver is in switchdev mode from being a netdev only construct to being a netdev/IB dev construct. The IB dev is limited to raw Eth queue pairs only, but by having an IB dev of this type attached to the representor for a switchdev port, it enables DPDK to work on the switchdev device. * All net related, but needed as infrastructure for the rdma driver - Updates for the hns, i40iw, bnxt_re, cxgb3, cxgb4, hns drivers - SRP performance updates - IB uverbs write path cleanup patch series from Leon - Add RDMA_CM support to ib_srpt. This is disabled by default. Users need to set the port for ib_srpt to listen on in configfs in order for it to be enabled (/sys/kernel/config/target/srpt/discovery_auth/rdma_cm_port) - TSO and Scatter FCS support in mlx4 - Refactor of modify_qp routine to resolve problems seen while working on new code that is forthcoming - More refactoring and updates of RDMA CM for containers support from Parav - mlx5 'fine grained packet pacing', 'ipsec offload' and 'device memory' user API features - Infrastructure updates for the new IOCTL interface, based on increased usage - ABI compatibility bug fixes to fully support 32 bit userspace on 64 bit kernel as was originally intended. See the commit messages for extensive details - Syzkaller bugs and code cleanups motivated by them ---------------------------------------------------------------- Andrew Morton (2): drivers/infiniband/core/verbs.c: fix build with gcc-4.4.4 drivers/infiniband/ulp/srpt/ib_srpt.c: fix build with gcc-4.4.4 Andy Shevchenko (1): RDMA/hns: Replace __raw_write*(cpu_to_le*()) with LE write*() Ariel Levkovich (8): IB/uverbs: Expose device memory capabilities to user IB/uverbs: Add device memory capabilities reporting IB/uverbs: Add alloc/free dm uverbs ioctl support IB/uverbs: Add device memory registration ioctl support net/mlx5: Query device memory capabilities IB/mlx5: Device memory support in mlx5_ib net/mlx5: Mkey creation command adjustments IB/mlx5: Device memory mr registration support Arnd Bergmann (3): infiniband: qplib_fp: fix pointer cast infiniband: bnxt_re: use BIT_ULL() for 64-bit bit masks RDMA/i40iw: include linux/irq.h Arushi (1): infiniband: hw: Drop unnecessary continue Aviad Yehezkel (3): IB/mlx5: Add implementation for create and destroy action_xfrm {net,IB}/mlx5: Add ipsec helper IB/mlx5: Add IPsec support for egress and ingress Bart Van Assche (13): IB/srp: Fix completion vector assignment algorithm IB/srp: Fix srp_abort() Revert "IB/srp: Avoid that a cable pull can trigger a kernel crash" IB/srp: Use %pIS instead of inet_ntop() RDMA/core: Avoid that ib_drain_qp() triggers an out-of-bounds stack access RDMA/rxe: Fix an out-of-bounds read IB/srpt: Fix an out-of-bounds stack access in srpt_zerolength_write() IB/hfi1: Add a missing rcu_read_unlock() IB/srpt: Add RDMA/CM support IB/hfi1: Fix a kernel-doc warning RDMA/bnxt_re: Remove an unused variable IB/srp: Fix IPv6 address parsing IB/srp: Disallow duplicate RDMA/CM connections Bharat Potnuri (1): iw_cxgb4: print mapped ports correctly Bodong Wang (2): net/mlx5: Packet pacing enhancement IB/mlx5: Packet packing enhancement for RAW QP Boris Pismenny (2): IB/mlx4: Check for egress flow steering IB/uverbs: Introduce egress flow steering Colin Ian King (2): infiniband: remove redundant assignment to pointer 'rdi' qedr: Fix spelling mistake: "hanlde" -> "handle" Corentin Labbe (1): IB/cxgb3: remove cxio_dbg.c Daniel Jurgens (1): IB/mlx5: Only synchronize RCU once when removing mkeys Doug Ledford (6): Merge tag 'mlx5-updates-2018-02-21' of git://git.kernel.org/.../mellanox/linux into k.o/wip/dl-for-next Merge branch 'k.o/for-rc' into k.o/wip/dl-for-next Merge tag 'mlx5-updates-2018-02-23' of git://git.kernel.org/.../mellanox/linux into k.o/wip/dl-for-next Merge tag 'mlx5-updates-2018-02-28-1' of git://git.kernel.org/.../mellanox/linux into k.o/wip/dl-for-next Merge tag 'mlx5-updates-2018-02-28-2' of git://git.kernel.org/.../mellanox/linux into k.o/wip/dl-for-next Merge branch 'k.o/wip/dl-for-rc' into k.o/wip/dl-for-next Gustavo A. R. Silva (2): RDMA/bnxt_re/qplib_sp: Use true and false for boolean values IB/ocrdma_hw: Remove redundant checks and goto labels Guy Levi (1): IB/mlx4: Add Scatter FCS support over WQ creation Henry Orosco (2): i40iw: Refactor of driver generated AEs i40iw: Tear-down connection after CQP Modify QP failure Hernán Gonzalez (3): IB/qib: Remove unused variable (char *qib_sdma_event_names[]) IB/qib: Move char *qib_sdma_state_names[] and constify while there. IB/rxe: Remove unused variable (char *rxe_qp_state_name[]) Honggang Li (2): IB/core: Set speed string to SDR for invalid active rates IB/mlx5: Set the default active rate and width to QDR and 4X Ilya Lesokhin (1): IB/mlx5: Maintain a single emergency page Jason Gunthorpe (23): RDMA: Do not used __packed in uapi headers rxe: Do not use 'struct sockaddr' in a uapi header IB/uverbs: Tidy uverbs_uobject_add RDMA/rxe: Get rid of confusing udata parameter to rxe_cq_chk_attr RDMA/rxe: Use structs to describe the uABI instead of opencoding RDMA/mlx4: Move flag constants to uapi header RDMA/i40iw: Move uapi header to include/uapi RDMA/hns: Use structs to describe the uABI instead of opencoding RDMA/cxgb4: Use structs to describe the uABI instead of opencoding RDMA/bnxt: Fix structure layout for bnxt_re_pd_resp RDMA/cxgb3: Use structs to describe the uABI instead of opencoding RDMA/ocrdma: Fix structure layout for ocrdma_alloc_pd RDMA: Remove minor pahole differences between 32/64 RDMA/ucma: Fix uABI structure layouts for 32/64 compat RDMA/qedr: Fix uABI structure layouts for 32/64 compat RDMA/mlx4: Fix uABI structure layouts for 32/64 compat RDMA/rxe: Fix uABI structure layouts for 32/64 compat RDMA: Change all uapi headers to use __aligned_u64 instead of __u64 Merge branch '32compat' RDMA: Use u64_to_user_ptr everywhere RDMA/mlx5: Fix definition of mlx5_ib_create_qp_resp RDMA/qedr: Zero stack memory before copying to user space Merge net-next of git://git.kernel.org/.../torvalds/linux-2.6.git Kalderon, Michal (1): RDMA/qedr: Fix wmb usage in qedr Leon Romanovsky (28): RDMA/uverbs: Convert command mask validity check function to be bool RDMA/uverbs: Update sizeof users RDMA/uverbs: Refactor flags checks and update return value RDMA/uverbs: Fail as early as possible if not enough header data was provided RDMA/uverbs: Return not supported error code for unsupported commands RDMA/uverbs: Unify return values of not supported command RDMA/uverbs: Refactor command header processing RDMA/uverbs: Properly check command supported mask RDMA/uverbs: Move uncontext check before SRCU read lock RDMa/uverbs: Copy ex_hdr outside of SRCU read lock RDMA/uverbs: Refactor the header validation logic RDMA/uverbs: Replace user's types with kernel's types RDMA/uverbs: Reduce number of command header flags checks RDMA/verbs: Return proper error code for not supported system call mailmap: Map Leon Romanovsky's emails RDMA/mlx5: Refactor QP type check to be as early as possible RDMA/mlx5: Fix NULL dereference while accessing XRC_TGT QPs RDMA/uverbs: Ensure validity of current QP state value RDMA/pvrdma: Properly annotate QP states RDMA/verbs: Simplify modify QP check RDMA/mlx5: Protect from NULL pointer derefence RDMA/mlx5: Return proper value for not-supported command RDMA/mlx5: Unify error flows in rereg MR failure paths RDMA/mlx5: Guard ODP specific assignments with specific CONFIG RDMA/mlx5: Simplify clean and destroy MR calls RDMA/restrack: Don't rely on uninitialized variable in restrack_add flow RDMA/restrack: Remove ambiguity in resource track clean logic RDMA/nldev: Provide netdevice name and index Majd Dibbiny (2): IB/mlx5: Enable ECN capable bits for UD RoCE v2 QPs IB/mlx5: Respect new UMR capabilities Mark Bloch (2): IB/mlx5: Expose more priorities for bypass namespace IB/core: Protect against concurrent access to hardware stats Markus Elfring (2): IB/usnic: Delete an error message for a failed memory allocation in usnic_transport_init() RDMA/iwpm: Delete an error message for a failed memory allocation in iwpm_create_nlmsg() Martin Wilck (1): rdma_rxe: make rxe work over 802.1q VLAN devices Matan Barak (19): IB/uverbs: Move to new headers and make naming consistent IB/uverbs: Extend uverbs_ioctl header with driver_id IB/uverbs: Enable compact representation of uverbs_attr_spec IB/uverbs: Safely extend existing attributes IB/uverbs: Expose parsing tree of all common objects to providers IB/uverbs: Move ioctl path of create_cq and destroy_cq to a new file IB/uverbs: Add macros to simplify adding driver specific attributes IB/uverbs: Enable ioctl() uAPI by default for new verbs IB/uverbs: UAPI pointers should use __aligned_u64 type IB/mlx5: Initialize the parsing tree root without the help of uverbs IB/uverbs: Add enum attribute type to ioctl() interface IB/uverbs: Refactor kern_spec_to_ib_spec_filter IB/uverbs: Add flow_action create and destroy verbs IB/uverbs: Add action_handle flow steering specification IB/uverbs: Add modify ESP flow_action IB/uverbs: Introduce ESP steering match filter IB/mlx5: Add modify_flow_action_esp verb IB/mlx5: Add information for querying IPsec capabilities IB/mlx5: Add ability to hash by IPSEC_SPI when creating a TIR Mikhail Malygin (1): IB/rxe: Fix for oops in rxe_register_device on ppc64le arch Mustafa Ismail (1): i40iw: Refactor handling of txpend list Parav Pandit (31): IB/core: Fix comments of GID query functions IB/{core, ipoib}: Simplify ib_find_gid() for unused ndev IB/core: Honor return status of ib_init_ah_from_mcmember() IB/core: Honor port_num while resolving GID for IB link layer IB/cma: Use rdma_protocol_roce() and remove cma_protocol_roce_dev_port() IB/core: Remove rdma_resolve_ip_route() as exported symbol IB/ocrdma: Removed GID add/del null routines IB/cm: Add and use a helper function to add cm_id's to the port list IB/core: Refactor ib_init_ah_attr_from_path() for RoCE IB/cm: Introduce and use helper function to get cm_port from path IB/core: Move rdma_addr_find_l2_eth_by_grh to core_priv.h IB/core: Use rdma_is_port_valid() IB/core: Remove unimplemented ib_peek_cq IB/core: Refer to RoCE port property instead of GID table property IB/cma: Resolve route only while receiving CM requests IB/cm: Block processing alternate path handling RoCE Rx cm messages IB/core: Generate GID change event regardless of RoCE GID table property IB/core: Refer to RoCE port property instead of GID table property IB/core: Search GID only for IB link layer IB/core: Refer to RoCE port property to decide building cache IB/addr: Constify dst_entry pointer RDMA/cma: Move rdma_cm_state to cma_priv.h IB/qedr: Remove GID add/del dummy routines RDMA/core: Update query_gid documentation for HCA drivers RDMA/providers: Simplify query_gid callback of RoCE providers IB/core: Simplify ib_query_gid to always refer to cache IB/core: Refactor GID modify code for RoCE IB/providers: Avoid zero GID check for RoCE IB/providers: Avoid null netdev check for RoCE RDMA: Use ib_gid_attr during GID modification IB/rxe: Removed GID add/del dummy routines Roland Dreier (1): RDMA/ucma: Don't allow setting RDMA_OPTION_IB_PATH without an RDMA device Sergey Gorenko (1): IB/srp: Use the IB_DEVICE_SG_GAPS_REG HCA feature if supported Shiraz Saleem (3): i40iw: Improve CM node lookup time on connection setup i40iw: Implement get_vector_affinity API i40iw: Remove pre-production workaround for resource profile 1 Sinan Kaya (2): RDMA/qedr: eliminate duplicate barriers on weakly-ordered archs IB/mlx4: Eliminate duplicate barriers on weakly-ordered archs Steve Wise (13): RDMA/restrack: clean up res_to_dev() RDMA/nldev: common resource dumpit function RDMA/CM: move rdma_id_private to cma_priv.h RDMA/nldev: provide detailed CM_ID information RDMA/nldev: provide detailed CQ information iw_cxgb4: initialize ib_mr fields for user mrs mlx4_ib: set user mr attributes in struct ib_mr RDMA/nldev: provide detailed MR information mlx4_ib: zero out struct ib_pd when allocating RDMA/nldev: provide detailed PD information iw_cxgb4: Add ib_device->get_netdev support RDMA/CMA: remove RDMA_PS_SDP RDMA/CMA: Add rdma_port_space to UAPI Tejun Heo (1): RDMAVT: Fix synchronization around percpu_ref Yishai Hadas (2): IB/mlx4: Move mlx4_uverbs_ex_query_device_resp to include/uapi/ IB/mlx4: Report TSO capabilities Yixian Liu (8): RDMA/hns: Fix QP state judgement before receiving work requests RDMA/hns: Support rq record doorbell for the user space RDMA/hns: Support cq record doorbell for the user space RDMA/hns: Support rq record doorbell for kernel space RDMA/hns: Support cq record doorbell for kernel space RDMA/hns: Fix cqn type and init resp RDMA/hns: Fix init resp when alloc ucontext RDMA/hns: Fix cq record doorbell enable in kernel Yuval Shaia (1): IB/ipoib: Delete unused struct Zhu Yanjun (5): IB/rxe: remove unnecessary skb_clone IB/rxe: remove unnecessary rxe in rxe_send IB/rxe: change the function rxe_init_device_param type IB: remove duplicate header files IB/rxe: optimize mcast recv process oulijun (2): RDMA/hns: Fix a bug with modifying mac address RDMA/hns: Use free_pages function instead of free_page .mailmap | 2 + MAINTAINERS | 1 + drivers/infiniband/Kconfig | 11 +- drivers/infiniband/core/Makefile | 4 +- drivers/infiniband/core/addr.c | 13 +- drivers/infiniband/core/cache.c | 533 ++++++++++--------- drivers/infiniband/core/cm.c | 67 ++- drivers/infiniband/core/cma.c | 160 +++--- drivers/infiniband/core/cma_priv.h | 97 ++++ drivers/infiniband/core/core_priv.h | 11 + drivers/infiniband/core/device.c | 18 +- drivers/infiniband/core/iwpm_util.c | 5 +- drivers/infiniband/core/multicast.c | 26 +- drivers/infiniband/core/nldev.c | 364 +++++++++++-- drivers/infiniband/core/rdma_core.c | 13 +- drivers/infiniband/core/restrack.c | 121 +++-- drivers/infiniband/core/sa_query.c | 202 ++++---- drivers/infiniband/core/sysfs.c | 53 +- drivers/infiniband/core/ucm.c | 18 +- drivers/infiniband/core/ucma.c | 40 +- drivers/infiniband/core/uverbs.h | 41 ++ drivers/infiniband/core/uverbs_cmd.c | 279 +++++++--- drivers/infiniband/core/uverbs_ioctl.c | 60 ++- drivers/infiniband/core/uverbs_ioctl_merge.c | 2 +- drivers/infiniband/core/uverbs_main.c | 218 ++++---- drivers/infiniband/core/uverbs_std_types.c | 326 ++++-------- drivers/infiniband/core/uverbs_std_types_cq.c | 210 ++++++++ drivers/infiniband/core/uverbs_std_types_dm.c | 108 ++++ .../infiniband/core/uverbs_std_types_flow_action.c | 435 ++++++++++++++++ drivers/infiniband/core/uverbs_std_types_mr.c | 147 ++++++ drivers/infiniband/core/verbs.c | 87 ++-- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 20 +- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 6 +- drivers/infiniband/hw/bnxt_re/main.c | 2 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 2 +- drivers/infiniband/hw/cxgb3/Kconfig | 9 - drivers/infiniband/hw/cxgb3/Makefile | 2 - drivers/infiniband/hw/cxgb3/cxio_dbg.c | 206 -------- drivers/infiniband/hw/cxgb3/cxio_hal.h | 9 - drivers/infiniband/hw/cxgb3/iwch_cq.c | 6 - drivers/infiniband/hw/cxgb3/iwch_provider.c | 5 +- drivers/infiniband/hw/cxgb4/device.c | 24 +- drivers/infiniband/hw/cxgb4/mem.c | 3 + drivers/infiniband/hw/cxgb4/provider.c | 24 +- drivers/infiniband/hw/hfi1/driver.c | 1 + drivers/infiniband/hw/hfi1/hfi.h | 1 - drivers/infiniband/hw/hfi1/qp.c | 1 - drivers/infiniband/hw/hfi1/user_exp_rcv.c | 4 +- drivers/infiniband/hw/hfi1/verbs.c | 2 +- drivers/infiniband/hw/hns/Makefile | 2 +- drivers/infiniband/hw/hns/hns_roce_ah.c | 8 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 54 +- drivers/infiniband/hw/hns/hns_roce_db.c | 180 +++++++ drivers/infiniband/hw/hns/hns_roce_device.h | 59 ++- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 8 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 80 +-- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 3 + drivers/infiniband/hw/hns/hns_roce_main.c | 41 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 2 +- drivers/infiniband/hw/hns/hns_roce_pd.c | 5 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 70 ++- drivers/infiniband/hw/i40iw/i40iw.h | 11 +- drivers/infiniband/hw/i40iw/i40iw_cm.c | 129 +++-- drivers/infiniband/hw/i40iw/i40iw_cm.h | 5 +- drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 56 +- drivers/infiniband/hw/i40iw/i40iw_d.h | 5 +- drivers/infiniband/hw/i40iw/i40iw_hw.c | 35 ++ drivers/infiniband/hw/i40iw/i40iw_main.c | 2 - drivers/infiniband/hw/i40iw/i40iw_puda.c | 8 +- drivers/infiniband/hw/i40iw/i40iw_type.h | 11 + drivers/infiniband/hw/i40iw/i40iw_utils.c | 10 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 57 +- drivers/infiniband/hw/mlx4/ah.c | 10 +- drivers/infiniband/hw/mlx4/main.c | 102 ++-- drivers/infiniband/hw/mlx4/mlx4_ib.h | 19 +- drivers/infiniband/hw/mlx4/mr.c | 3 + drivers/infiniband/hw/mlx4/qp.c | 27 +- drivers/infiniband/hw/mlx5/ah.c | 12 + drivers/infiniband/hw/mlx5/cmd.c | 104 ++++ drivers/infiniband/hw/mlx5/cmd.h | 4 + drivers/infiniband/hw/mlx5/main.c | 572 +++++++++++++++++++-- drivers/infiniband/hw/mlx5/mlx5_ib.h | 71 ++- drivers/infiniband/hw/mlx5/mr.c | 257 ++++++--- drivers/infiniband/hw/mlx5/qp.c | 156 ++++-- drivers/infiniband/hw/mthca/mthca_provider.c | 1 + drivers/infiniband/hw/nes/nes_verbs.c | 1 + drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 8 +- drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 22 +- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 4 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 34 -- drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 12 - drivers/infiniband/hw/qedr/main.c | 9 +- drivers/infiniband/hw/qedr/qedr_roce_cm.c | 16 +- drivers/infiniband/hw/qedr/verbs.c | 155 ++---- drivers/infiniband/hw/qedr/verbs.h | 6 - drivers/infiniband/hw/qib/qib.h | 3 - drivers/infiniband/hw/qib/qib_diag.c | 2 +- drivers/infiniband/hw/qib/qib_file_ops.c | 8 +- drivers/infiniband/hw/qib/qib_iba7322.c | 10 + drivers/infiniband/hw/qib/qib_init.c | 4 +- drivers/infiniband/hw/qib/qib_sdma.c | 24 - drivers/infiniband/hw/qib/qib_verbs.c | 2 +- drivers/infiniband/hw/usnic/usnic_ib_main.c | 1 + drivers/infiniband/hw/usnic/usnic_transport.c | 4 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 32 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 2 +- drivers/infiniband/sw/rdmavt/vt.c | 5 +- drivers/infiniband/sw/rdmavt/vt.h | 1 - drivers/infiniband/sw/rxe/rxe.c | 4 +- drivers/infiniband/sw/rxe/rxe.h | 6 +- drivers/infiniband/sw/rxe/rxe_av.c | 5 +- drivers/infiniband/sw/rxe/rxe_cq.c | 15 +- drivers/infiniband/sw/rxe/rxe_loc.h | 20 +- drivers/infiniband/sw/rxe/rxe_net.c | 56 +- drivers/infiniband/sw/rxe/rxe_qp.c | 35 +- drivers/infiniband/sw/rxe/rxe_queue.c | 24 +- drivers/infiniband/sw/rxe/rxe_queue.h | 5 +- drivers/infiniband/sw/rxe/rxe_recv.c | 16 +- drivers/infiniband/sw/rxe/rxe_resp.c | 15 +- drivers/infiniband/sw/rxe/rxe_srq.c | 44 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 101 ++-- drivers/infiniband/sw/rxe/rxe_verbs.h | 2 - drivers/infiniband/ulp/ipoib/ipoib.h | 5 - drivers/infiniband/ulp/ipoib/ipoib_ib.c | 2 +- drivers/infiniband/ulp/srp/ib_srp.c | 181 +++---- drivers/infiniband/ulp/srpt/ib_srpt.c | 396 +++++++++++--- drivers/infiniband/ulp/srpt/ib_srpt.h | 8 +- drivers/net/ethernet/mellanox/mlx4/fw.c | 1 + drivers/net/ethernet/mellanox/mlx4/main.c | 1 + .../net/ethernet/mellanox/mlx5/core/en_common.c | 2 +- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 21 +- .../net/ethernet/mellanox/mlx5/core/fpga/conn.c | 2 +- drivers/net/ethernet/mellanox/mlx5/core/fw.c | 6 + drivers/net/ethernet/mellanox/mlx5/core/rl.c | 63 ++- include/linux/mlx4/device.h | 4 - include/linux/mlx5/device.h | 12 +- include/linux/mlx5/driver.h | 15 +- include/linux/mlx5/fs_helpers.h | 8 + include/linux/mlx5/mlx5_ifc.h | 102 +++- include/rdma/ib_addr.h | 9 - include/rdma/ib_cache.h | 29 -- include/rdma/ib_sa.h | 13 + include/rdma/ib_verbs.h | 212 ++++++-- include/rdma/rdma_cm.h | 44 +- include/rdma/rdma_vt.h | 2 +- include/rdma/restrack.h | 26 +- include/rdma/uverbs_ioctl.h | 153 +++++- include/rdma/uverbs_named_ioctl.h | 90 ++++ include/rdma/uverbs_std_types.h | 34 +- include/uapi/rdma/bnxt_re-abi.h | 21 +- include/uapi/rdma/cxgb3-abi.h | 17 +- include/uapi/rdma/cxgb4-abi.h | 29 +- include/uapi/rdma/hfi/hfi1_ioctl.h | 32 +- include/uapi/rdma/hfi/hfi1_user.h | 10 +- include/uapi/rdma/hns-abi.h | 22 +- .../uapi/rdma/i40iw-abi.h | 16 +- include/uapi/rdma/ib_user_cm.h | 48 +- include/uapi/rdma/ib_user_ioctl_cmds.h | 134 +++++ include/uapi/rdma/ib_user_ioctl_verbs.h | 96 ++-- include/uapi/rdma/ib_user_mad.h | 4 +- include/uapi/rdma/ib_user_verbs.h | 195 ++++--- include/uapi/rdma/mlx4-abi.h | 52 +- include/uapi/rdma/mlx5-abi.h | 72 ++- include/uapi/rdma/mlx5_user_ioctl_cmds.h | 48 ++ include/uapi/rdma/mlx5_user_ioctl_verbs.h | 43 ++ include/uapi/rdma/mthca-abi.h | 10 +- include/uapi/rdma/nes-abi.h | 6 +- include/uapi/rdma/ocrdma-abi.h | 36 +- include/uapi/rdma/qedr-abi.h | 20 +- include/uapi/rdma/rdma_netlink.h | 51 ++ include/uapi/rdma/rdma_user_cm.h | 49 +- include/uapi/rdma/rdma_user_ioctl.h | 38 +- include/uapi/rdma/rdma_user_ioctl_cmds.h | 99 ++++ include/uapi/rdma/rdma_user_rxe.h | 58 ++- include/uapi/rdma/vmw_pvrdma-abi.h | 49 +- 175 files changed, 6672 insertions(+), 2915 deletions(-) create mode 100644 drivers/infiniband/core/cma_priv.h create mode 100644 drivers/infiniband/core/uverbs_std_types_cq.c create mode 100644 drivers/infiniband/core/uverbs_std_types_dm.c create mode 100644 drivers/infiniband/core/uverbs_std_types_flow_action.c create mode 100644 drivers/infiniband/core/uverbs_std_types_mr.c delete mode 100644 drivers/infiniband/hw/cxgb3/cxio_dbg.c create mode 100644 drivers/infiniband/hw/hns/hns_roce_db.c create mode 100644 include/rdma/uverbs_named_ioctl.h rename drivers/infiniband/hw/i40iw/i40iw_ucontext.h => include/uapi/rdma/i40iw-abi.h (90%) create mode 100644 include/uapi/rdma/ib_user_ioctl_cmds.h create mode 100644 include/uapi/rdma/mlx5_user_ioctl_cmds.h create mode 100644 include/uapi/rdma/mlx5_user_ioctl_verbs.h create mode 100644 include/uapi/rdma/rdma_user_ioctl_cmds.h [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --]
On Fri, Apr 06, 2018 at 10:05:41AM -0600, Jason Gunthorpe wrote: > RDMA: Change all uapi headers to use __aligned_u64 instead of __u64 Looks like this change changed the size of struct hfi1_ctxt_info and the value of HFI1_IOCTL_CTXT_INFO ioctl number as a result. > IB/uverbs: Extend uverbs_ioctl header with driver_id This patch changed the value of the RDMA_VERBS_IOCTL ioctl number. (see https://lists.strace.io/pipermail/strace-devel/2018-May/008196.html for the reference)
On Wed, May 16, 2018 at 07:39:08PM +0200, Eugene Syromiatnikov wrote: > On Fri, Apr 06, 2018 at 10:05:41AM -0600, Jason Gunthorpe wrote: > > RDMA: Change all uapi headers to use __aligned_u64 instead of __u64 > Looks like this change changed the size of struct hfi1_ctxt_info and the > value of HFI1_IOCTL_CTXT_INFO ioctl number as a result. Only on 32 bit.. HF1 does not build on 32 bit kernels, so the 32 bit version of the ioctl is never supported. HFI1 also does not define '.compat_ioctl' so even a 32 bit user space on 64 bit kernel cannot call this ioctl. So, yes it changed, but it doesn't matter. > > IB/uverbs: Extend uverbs_ioctl header with driver_id > This patch changed the value of the RDMA_VERBS_IOCTL ioctl number. > > (see https://lists.strace.io/pipermail/strace-devel/2018-May/008196.html > for the reference) Yes. RDMA_VERBS_IOCTL has been considered experimental and was protected by a CONFIG option. After the above commit the experimental was dropped and the ABI was fixed, but prior to doing so, the struct was revised based on feedback. There is no userspace user of the old struct, only the new struct. Basically from strace's perspective it should use the new ioctl #'s across all kernel revs and it will be correct as there is no user space that will issue the old ioctls. Jason
On Wed, May 16, 2018 at 11:49:33AM -0600, Jason Gunthorpe wrote:
> On Wed, May 16, 2018 at 07:39:08PM +0200, Eugene Syromiatnikov wrote:
> > On Fri, Apr 06, 2018 at 10:05:41AM -0600, Jason Gunthorpe wrote:
> > > RDMA: Change all uapi headers to use __aligned_u64 instead of __u64
> > Looks like this change changed the size of struct hfi1_ctxt_info and the
> > value of HFI1_IOCTL_CTXT_INFO ioctl number as a result.
>
> Only on 32 bit..
>
> HF1 does not build on 32 bit kernels, so the 32 bit version of the
> ioctl is never supported.
>
> HFI1 also does not define '.compat_ioctl' so even a 32 bit user space
> on 64 bit kernel cannot call this ioctl.
>
> So, yes it changed, but it doesn't matter.
>
> > > IB/uverbs: Extend uverbs_ioctl header with driver_id
> > This patch changed the value of the RDMA_VERBS_IOCTL ioctl number.
> >
> > (see https://lists.strace.io/pipermail/strace-devel/2018-May/008196.html
> > for the reference)
>
> Yes.
>
> RDMA_VERBS_IOCTL has been considered experimental and was protected by
> a CONFIG option.
>
> After the above commit the experimental was dropped and the ABI was
> fixed, but prior to doing so, the struct was revised based on
> feedback.
>
> There is no userspace user of the old struct, only the new struct.
>
> Basically from strace's perspective it should use the new ioctl #'s
> across all kernel revs and it will be correct as there is no user
> space that will issue the old ioctls.
Got it, thanks for the clarification!
Hi Linus, Second pull request for -rc We haven't had quite the same rate of -rc patches this cycle, not much Syzkaller related stuff right now as the remaining bugs it has found require some kind of significant redesign to solve. The -next branch is also somewhat quieter than normal. This is pretty much just the usual array of smallish driver bugs. There is a patch that cleans up the kconfig around INFINIBAND_ADDR_TRANS that touches a few files, this is related the the patch introducing INFINIBAND_ADDR_TRANS that was accepted earlier this cycle f7cb7b85be55 ("IB: make INFINIBAND_ADDR_TRANS configurable") The following changes since commit 9aa169213d1166d30ae357a44abbeae93459339d: RDMA/cma: Do not query GID during QP state transition to RTR (2018-05-03 15:45:18 -0400) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 55ba49cbcef37053d973f9a45bc58818c333fe13: RDMA/hns: Move the location for initializing tmp_len (2018-05-23 15:45:44 -0600) ---------------------------------------------------------------- Merge candidates for 4.17-rc - Remove bouncing addresses from the MAINTAINERS file - Kernel oops and bad error handling fixes for hfi, i40iw, cxgb4, and hns drivers - Various small LOC behavioral/operational bugs in mlx5, hns, qedr and i40iw drivers - Two fixes for patches already sent during the merge window - A long standing bug related to not decreasing the pinned pages count in the right MM was found and fixed ---------------------------------------------------------------- Alexandru Moise (1): nvmet,rxe: defer ip datagram sending to tasklet Andrew Boyer (3): RDMA/i40iw: Avoid panic when objects are being created and destroyed RDMA/i40iw: Avoid reference leaks when processing the AEQ RDMA/i40iw: Avoid panic when reading back the IRQ affinity hint Christophe Jaillet (1): iw_cxgb4: Fix an error handling path in 'c4iw_get_dma_mr()' Daria Velikovsky (1): RDMA/mlx5: Use proper spec flow label type Greg Thelen (1): IB: remove redundant INFINIBAND kconfig dependencies Jason Gunthorpe (1): IB/uverbs: Fix uverbs_attr_get_obj Kalderon, Michal (1): RDMA/qedr: Fix doorbell bar mapping for dpi > 1 Leon Romanovsky (1): MAINTAINERS: Remove bouncing @mellanox.com addresses Lidong Chen (1): IB/umem: Use the correct mm during ib_umem_release Michael J. Ruhl (1): IB/hfi1: Use after free race condition in send context error path Mustafa Ismail (2): i40iw: Fix memory leak in error path of create QP i40iw: Use correct address in dst_neigh_lookup for IPv6 Yishai Hadas (1): RDMA/mlx5: Don't assume that medium blueFlame register exists oulijun (13): RDMA/hns: Add rq inline flags judgement RDMA/hns: Bugfix for rq record db for kernel RDMA/hns: Load the RoCE dirver automatically RDMA/hns: Update convert function of endian format RDMA/hns: Add return operation when configured global param fail RDMA/hns: Not support qp transition from reset to reset for hip06 RDMA/hns: Fix the bug with rq sge RDMA/hns: Set desc_dma_addr for zero when free cmq desc RDMA/hns: Enable inner_pa_vld filed of mpt RDMA/hns: Set NULL for __internal_mr RDMA/hns: Fix the bug with NULL pointer RDMA/hns: Bugfix for cq record db for kernel RDMA/hns: Move the location for initializing tmp_len MAINTAINERS | 6 --- drivers/infiniband/core/umem.c | 7 +--- drivers/infiniband/hw/cxgb4/mem.c | 4 +- drivers/infiniband/hw/hfi1/chip.c | 4 ++ drivers/infiniband/hw/hns/hns_roce_cq.c | 1 + drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 3 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 32 +++++++++++----- drivers/infiniband/hw/hns/hns_roce_main.c | 2 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 10 ++++- drivers/infiniband/hw/i40iw/i40iw.h | 1 + drivers/infiniband/hw/i40iw/i40iw_cm.c | 2 +- drivers/infiniband/hw/i40iw/i40iw_hw.c | 4 +- drivers/infiniband/hw/i40iw/i40iw_main.c | 7 ++-- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 13 +++++-- drivers/infiniband/hw/i40iw/i40iw_verbs.h | 1 + drivers/infiniband/hw/mlx5/main.c | 2 +- drivers/infiniband/hw/mlx5/qp.c | 18 +++++---- drivers/infiniband/hw/qedr/verbs.c | 60 +++++++++++++++--------------- drivers/infiniband/sw/rxe/rxe_verbs.c | 10 +---- drivers/infiniband/ulp/srpt/Kconfig | 2 +- drivers/nvme/host/Kconfig | 2 +- drivers/nvme/target/Kconfig | 2 +- drivers/staging/lustre/lnet/Kconfig | 2 +- fs/cifs/Kconfig | 2 +- include/rdma/ib_umem.h | 1 - include/rdma/uverbs_ioctl.h | 10 ++--- net/9p/Kconfig | 2 +- net/rds/Kconfig | 2 +- net/sunrpc/Kconfig | 2 +- 29 files changed, 116 insertions(+), 98 deletions(-)
[-- Attachment #1: Type: text/plain, Size: 2335 bytes --] Hi Linus, Third pull request for -rc Just 3 small last minute regressions that were found in the last week. The Broadcom fix is a bit big for rc7, but since it is fixing driver crash regressions that were merged via netdev into rc1, I am sending it. The following changes since commit 55ba49cbcef37053d973f9a45bc58818c333fe13: RDMA/hns: Move the location for initializing tmp_len (2018-05-23 15:45:44 -0600) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to a840c93ca7582bb6c88df2345a33f979b7a67874: IB/core: Fix error code for invalid GID entry (2018-05-29 12:08:37 -0600) ---------------------------------------------------------------- Merge candidates for 4.17-rc - bnxt netdev changes merged this cycle caused the bnxt RDMA driver to crash under certain situations - Arnd found (several, unfortunately) kconfig problems with the patches adding INFINIBAND_ADDR_TRANS. Reverting this last part, will fix it more fully outside -rc. - Subtle change in error code for a uapi function caused breakage in userspace. This was bug was subtly introduced cycle ---------------------------------------------------------------- Arnd Bergmann (1): IB: Revert "remove redundant INFINIBAND kconfig dependencies" Devesh Sharma (1): RDMA/bnxt_re: Fix broken RoCE driver due to recent L2 driver changes Parav Pandit (1): IB/core: Fix error code for invalid GID entry drivers/infiniband/core/cache.c | 2 +- drivers/infiniband/hw/bnxt_re/main.c | 55 ++++++++++++++++- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 94 +++++++++++++++++++----------- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 3 + drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 61 +++++++++++++------ drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 3 + drivers/infiniband/ulp/srpt/Kconfig | 2 +- drivers/nvme/host/Kconfig | 2 +- drivers/nvme/target/Kconfig | 2 +- drivers/staging/lustre/lnet/Kconfig | 2 +- fs/cifs/Kconfig | 2 +- net/9p/Kconfig | 2 +- net/rds/Kconfig | 2 +- net/sunrpc/Kconfig | 2 +- 14 files changed, 172 insertions(+), 62 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --]
[-- Attachment #1: Type: text/plain, Size: 23121 bytes --] Hi Linus, Here are the RDMA patches for 4.18. No merge conflicts this time, and as of this writing netdev's pull request has not been merged so the merge diffstat shows a number of ethernet related files from the various shared pull requests in the two trees. There are a few more merge commits in this history than has been typical in the past. Instead of choosing the net or RDMA tree to get certain patches, Mellanox is now providing a 'shared branch' which is intended to carry all commits to drivers/net/ethernet/mellanox/mlx5/core and is used to merge those patches into both the net and rdma trees. This is expected to reduce the merge conflicts by ensuring both trees have all commits related to mlx5/core and related, and no rdma or netdev commit is left only in the others tree. The following changes since commit 55ba49cbcef37053d973f9a45bc58818c333fe13: RDMA/hns: Move the location for initializing tmp_len (2018-05-23 15:45:44 -0600) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to c1191a19fecad92b73c25770a7f47174280ca564: RDMA/mlx5: Update SPDX tags to show proper license (2018-06-05 14:04:20 -0600) ---------------------------------------------------------------- 4.18 Merge window pull request This has been a quiet cycle for RDMA, the big bulk is the usual smallish driver updates and bug fixes. About four new uAPI related things. Not as much Szykaller patches this time, the bugs it finds are getting harder to fix. - More work cleaning up the RDMA CM code - Usual driver bug fixes and cleanups for qedr, qib, hfi1, hns, i40iw, iw_cxgb4, mlx5, rxe - Driver specific resource tracking and reporting via netlink - Continued work for name space support from Parav - MPLS support for the verbs flow steering uAPI - A few tricky IPoIB fixes improving robustness - HFI1 driver support for the '16B' management packet format - Some auditing to not print kernel pointers via %llx or similar - Mark the entire 'UCM' user-space interface as BROKEN with the intent to remove it entirely. The user space side of this was long ago replaced with RDMA-CM and syzkaller is finding bugs in the residual UCM interface nobody wishes to fix because nobody uses it. - Purge more bogus BUG_ON's from Leon - 'flow counters' verbs uAPI - T10 fixups for iser/isert, these are Acked by Martin but going through the RDMA tree due to dependencies ---------------------------------------------------------------- Alex Estrin (3): IB/hfi1: Complete check for locally terminated smp IB/{hfi1, qib}: Add handling of kernel restart IB/isert: Fix for lib/dma_debug check_sync warning Ariel Levkovich (7): IB/uverbs: Expose GRE flow spec to the user-kernel ABI header IB/uverbs: Introduce a GRE steering match filter IB/uverbs: Expose MPLS flow spec to the user-kernel ABI header IB/uverbs: Introduce a MPLS steering match filter IB/mlx5: Add support for GRE flow specification IB/mlx5: Add support for MPLS flow specification IB/mlx5: Expose MPLS related tunneling offloads Arnd Bergmann (1): iw_cxgb4: add INFINIBAND_ADDR_TRANS dependency Ben Hutchings (1): IB: Fix RDMA_RXE and INFINIBAND_RDMAVT dependencies for DMA_VIRT_OPS Brian Welty (1): IB/{hfi1, qib, rdmavt}: Move logic to allocate receive WQE into rdmavt Christophe JAILLET (3): net/mlx5: Vport, Use 'kvfree()' for memory allocated by 'kvzalloc()' net/mlx5: Eswitch, Use 'kvfree()' for memory allocated by 'kvzalloc()' IB/mlx5: Use 'kvfree()' for memory allocated by 'kvzalloc()' Colin Ian King (4): net/mlx5: remove some extraneous spaces in indentations RDMA/qedr: fix spelling mistake: "failes" -> "fails" net/mlx5: fix spelling mistake: "modfiy" -> "modify" RDMA/qedr: fix spelling mistake: "adrresses" -> "addresses" Cong Wang (1): infiniband: fix a possible use-after-free bug Don Hiatt (3): IB/hfi1: Define 16B Management Packets IB/hfi1: Add support for 16B Management Packets IB/hfi1: Add 16B Management Packet trace support Doug Ledford (7): Merge branch 'k.o/for-rc' into k.o/wip/dl-for-next Merge tag 'mlx5-updates-2018-05-07' of git://git.kernel.org/.../mellanox/linux into k.o/wip/dl-for-next RDMA/hfi1: Fix build error with debugfs disabled RDMA/uapi: Fix uapi breakage RDMA/ipoib: Update paths on CLIENT_REREG/SM_CHANGE events Merge branch 'wip/dl-ipoib' into wip/dl-for-next RDMA/hns_roce: Don't check return value of zap_vma_ptes() Erez Shitrit (1): IB/mlx5: Fetch soft WQE's on fatal error state Evgenii Smirnov (1): RDMA/ipoib: drop skb on path record lookup failure Idan Burstein (1): IB/mlx5: posting klm/mtt list inline in the send queue for reg_wr Jack Morgenstein (2): IB/core: Make testing MR flags for writability a static inline function IB/mlx4: Mark user MR as writable if actual virtual memory is writable Jason Gunthorpe (8): RDMA/rdma_cm: Remove process_req and timer sorting RDMA/rdma_cm: Make rdma_addr_cancel into a fence RDMA/rdma_cm: Delete rdma_addr_client Merge tag 'mlx5-updates-2018-05-17' of git://git.kernel.org/.../mellanox/linux into for-next Merge branch 'mr_fix' into git://git.kernel.org/.../rdma/rdma for-next RDMA/core: Remove indirection through ib_cache_setup() Merge branch 'mini_cqe' into git://git.kernel.org/.../rdma/rdma for-next Merge tag 'verbs_flow_counters' of git://git.kernel.org/.../leon/linux-rdma.git into for-next Jia-Ju Bai (3): infiniband: i40iw: Replace GFP_ATOMIC with GFP_KERNEL in i40iw_add_mqh_4 infiniband: i40iw: Replace GFP_ATOMIC with GFP_KERNEL in i40iw_make_listen_node infiniband: i40iw: Replace GFP_ATOMIC with GFP_KERNEL in i40iw_l2param_change Kaike Wan (3): IB/hfi1: Ensure VL index is within bounds IB/hfi1: Remove unused variable IB/hfi1: Rename exp_lock to exp_mutex Kamenee Arumugam (1): IB/Hfi1: Read CCE Revision register to verify the device is responsive Leon Romanovsky (16): net/mlx5: Decrease level of prints about non-existent MKEY RDMA/hns: Drop local zgid in favor of core defined variable RDMA/mlx5: Remove debug prints of VMA pointers RDMA/ucm: Mark UCM interface as BROKEN RDMA/mlx4: Catch FW<->SW misalignment without machine crash RDMA/mlx4: Discard unknown SQP work requests RDMA/cxgb3: Don't crash kernel just because IDR is full RDMA/cm: Abort loop in case of CM dequeue RDMA/cma: Ignore unknown event RDMA/mad: Delete inaccessible BUG_ON RDMA/mad: Convert BUG_ONs to error flows RDMA/mlx5: Don't check return value of zap_vma_ptes() RDMA/mlx4: Don't crash machine if zap_vma_ptes() fails mm: Remove return value of zap_vma_ptes() RDMA/restrack: Change SPDX tag to properly reflect license RDMA/mlx5: Update SPDX tags to show proper license Matan Barak (2): IB/uverbs: Add an ib_uobject getter to ioctl() infrastructure IB/core: Support passing uhw for create_flow Max Gurtovoy (4): IB/isert: fix T10-pi check mask setting RDMA/core: introduce check masks for T10-PI offload IB/iser: use T10-PI check mask definitions from core layer IB/isert: use T10-PI check mask definitions from core layer Michael J. Ruhl (4): IB/hfi1: Return actual error value from program_rcvarray() IB/hfi1: Return correct value for device state IB/hfi1: Reorder incorrect send context disable IB/hfi1: Set port number for errorinfo MAD response Mike Marciniszyn (7): IB/hfi1: Fix fault injection init/exit issues IB/hfi1: Cleanup of exp_rcv IB/{rdmavt,hfi1}: Change hrtimer add to use pinned version IB/qib: Fix DMA api warning with debug kernel IB/hfi1: Fix user context tail allocation for DMA_RTAIL IB/hfi1: Add bypass register defines and replace blind constants IB/hfi1: Fix comment on default hdr entry size Mitko Haralanov (1): IB/hfi1: Rework fault injection machinery Moshe Shemesh (2): net/mlx5: Refactor num of blocks in mailbox calculation net/mlx5: Fix dump_command mailbox length printed Or Gerlitz (1): net/mlx5: Use flow counter pointer as input to the query function Parav Pandit (9): IB/core: Use CONFIG_SECURITY_INFINIBAND to compile out security code IB/core: Make gid_table_reserve_default() return void IB/core: Reuse gid_table_release_one() in table allocation failure IB/cm: Avoid AV ah_attr overwriting during LAP message handling IB/cm: Store and restore ah_attr during LAP msg processing IB/cm: Store and restore ah_attr during CM message processing IB/core: Remove duplicate declaration of gid_cache_wq IB/core: Reduce the places that use zgid IB/core: Introduce and use rdma_gid_table() Rabie Loulou (1): net/mlx5e: Explicitly set destination e-switch in FDB rules Raed Salem (11): net/mlx5: Export flow counter related API IB/core: Introduce counters object and its create/destroy IB/uverbs: Add create/destroy counters support IB/core: Introduce counters read verb IB/uverbs: Add read counters support IB/core: Add support for flow counters IB/uverbs: Add support for flow counters IB/mlx5: Add counters create and destroy support IB/mlx5: Add flow counters binding support IB/mlx5: Add flow counters read support IB/mlx5: Add counters read support Roi Dayan (1): net/mlx5: Add merged e-switch cap Sebastian Andrzej Siewior (1): IB/ipoib: replace local_irq_disable() with proper locking Sebastian Sanchez (4): IB/hfi1: Prevent LNI hang when LCB can't obtain lanes IB/hfi1: Optimize kthread pointer locking when queuing CQ entries IB/hfi1: Create common functions for affinity CPU mask operations IB/{hfi1, rdmavt, qib}: Implement CQ completion vector support Sergey Gorenko (1): IB/iser: Do not reduce max_sectors Shahar Klein (4): net/mlx5: Properly handle a vport destination when setting FTE net/mlx5: Add destination e-switch owner net/mlx5: Add source e-switch owner net/mlx5e: Explicitly set source e-switch in offloaded TC rules Shiraz Saleem (1): i40iw: Extend port reuse support for listeners Souptick Joarder (2): infiniband: hw: hfi1: Change return type to vm_fault_t infiniband: hw: qib: Change return type to vm_fault_t Steve Wise (12): RDMA/nldev: Add explicit pad attribute RDMA/nldev: add driver-specific resource tracking RDMA/nldev: helper functions to add driver attributes iw_cxgb4: dump detailed driver-specific QP information iw_cxgb4: fix uninitialized variable warnings RDMA/NLDEV: remove mr iova attribute iw_cxgb4: remove wr_id attributes iw_cxgb4: always set iw_cm_id.provider_data RDMA/CMA: add rdma_iw_cm_id() and rdma_res_to_id() helpers iw_cxgb4: provide detailed provider-specific CM_ID information iw_cxgb4: provide detailed driver-specific CQ information iw_cxgb4: provide detailed driver-specific MR information Tariq Toukan (1): net/mlx5: Cleanup unused field in Work Queue parameters Wei Hu(Xavier) (6): RDMA/hns: Modify uar allocation algorithm to avoid bitmap exhaust RDMA/hns: Increase checking CMQ status timeout value RDMA/hns: Add reset process for RoCE in hip08 RDMA/hns: Fix the illegal memory operation when cross page RDMA/uverbs: Hoist the common process of disassociate_ucontext into ib core RDMA/hns: Implement the disassociate_ucontext API Yixian Liu (1): RDMA/hns: Add 64KB page size support for hip08 Yonatan Cohen (3): net/mlx5: Exposing a new mini-CQE format IB/mlx5: Refactor CQE compression response IB/mlx5: Introduce a new mini-CQE format YueHaibing (2): IB/cxgb4: use skb_put_zero()/__skb_put_zero IB/hns: Use zeroing memory allocator instead of allocator/memset Yuval Shaia (2): IB/rxe: Change rxe_rcv to return void IB/core: Remove redundant return Zhu Yanjun (9): IB/rxe: make the variable static IB/rxe: avoid export symbols IB/rxe: make rxe_release_udp_tunnel static IB/rxe: optimize the function duplicate_request IB/rxe: replace refcount_inc with skb_get IB/rxe: change rxe_set_mtu function type to void IB/rxe: remove unused function variable IB/rxe: avoid calling WARN_ON_ONCE twice IB/rxe: avoid unnecessary export oulijun (1): RDMA/hns: Rename the idx field of db drivers/infiniband/Kconfig | 11 + drivers/infiniband/core/Makefile | 9 +- drivers/infiniband/core/addr.c | 172 +++---- drivers/infiniband/core/cache.c | 112 ++--- drivers/infiniband/core/cm.c | 62 ++- drivers/infiniband/core/cma.c | 36 +- drivers/infiniband/core/core_priv.h | 3 - drivers/infiniband/core/device.c | 4 +- drivers/infiniband/core/mad.c | 12 +- drivers/infiniband/core/nldev.c | 122 ++++- drivers/infiniband/core/restrack.c | 9 +- drivers/infiniband/core/roce_gid_mgmt.c | 2 - drivers/infiniband/core/security.c | 4 - drivers/infiniband/core/ucma.c | 6 +- drivers/infiniband/core/umem.c | 13 +- drivers/infiniband/core/uverbs.h | 2 + drivers/infiniband/core/uverbs_cmd.c | 111 ++++- drivers/infiniband/core/uverbs_main.c | 42 +- drivers/infiniband/core/uverbs_std_types.c | 3 +- .../infiniband/core/uverbs_std_types_counters.c | 157 +++++++ drivers/infiniband/core/uverbs_std_types_cq.c | 23 +- .../infiniband/core/uverbs_std_types_flow_action.c | 4 +- drivers/infiniband/core/verbs.c | 2 +- drivers/infiniband/hw/cxgb3/iwch.h | 1 - drivers/infiniband/hw/cxgb4/Kconfig | 1 + drivers/infiniband/hw/cxgb4/Makefile | 3 +- drivers/infiniband/hw/cxgb4/cm.c | 1 + drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 5 + drivers/infiniband/hw/cxgb4/provider.c | 8 + drivers/infiniband/hw/cxgb4/qp.c | 9 +- drivers/infiniband/hw/cxgb4/restrack.c | 501 ++++++++++++++++++++ drivers/infiniband/hw/hfi1/Makefile | 10 +- drivers/infiniband/hw/hfi1/affinity.c | 497 ++++++++++++++++++-- drivers/infiniband/hw/hfi1/affinity.h | 10 +- drivers/infiniband/hw/hfi1/chip.c | 82 ++-- drivers/infiniband/hw/hfi1/chip.h | 15 +- drivers/infiniband/hw/hfi1/chip_registers.h | 13 +- drivers/infiniband/hw/hfi1/debugfs.c | 292 +----------- drivers/infiniband/hw/hfi1/debugfs.h | 102 ++-- drivers/infiniband/hw/hfi1/driver.c | 53 ++- drivers/infiniband/hw/hfi1/exp_rcv.c | 39 +- drivers/infiniband/hw/hfi1/exp_rcv.h | 24 +- drivers/infiniband/hw/hfi1/fault.c | 375 +++++++++++++++ drivers/infiniband/hw/hfi1/fault.h | 109 +++++ drivers/infiniband/hw/hfi1/file_ops.c | 8 +- drivers/infiniband/hw/hfi1/hfi.h | 61 ++- drivers/infiniband/hw/hfi1/init.c | 47 +- drivers/infiniband/hw/hfi1/mad.c | 37 +- drivers/infiniband/hw/hfi1/pcie.c | 8 + drivers/infiniband/hw/hfi1/pio.c | 44 +- drivers/infiniband/hw/hfi1/rc.c | 10 +- drivers/infiniband/hw/hfi1/ruc.c | 154 +------ drivers/infiniband/hw/hfi1/sdma.c | 12 +- drivers/infiniband/hw/hfi1/trace.c | 43 +- drivers/infiniband/hw/hfi1/trace_dbg.h | 3 +- drivers/infiniband/hw/hfi1/trace_ibhdrs.h | 160 ++++--- drivers/infiniband/hw/hfi1/uc.c | 4 +- drivers/infiniband/hw/hfi1/ud.c | 61 ++- drivers/infiniband/hw/hfi1/user_exp_rcv.c | 11 +- drivers/infiniband/hw/hfi1/user_sdma.h | 4 +- drivers/infiniband/hw/hfi1/verbs.c | 45 +- drivers/infiniband/hw/hfi1/verbs.h | 15 +- drivers/infiniband/hw/hns/hns_roce_alloc.c | 8 +- drivers/infiniband/hw/hns/hns_roce_cmd.c | 3 + drivers/infiniband/hw/hns/hns_roce_device.h | 14 + drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 188 ++++++-- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 7 +- drivers/infiniband/hw/hns/hns_roce_main.c | 76 ++- drivers/infiniband/hw/hns/hns_roce_mr.c | 6 - drivers/infiniband/hw/hns/hns_roce_pd.c | 10 +- drivers/infiniband/hw/i40iw/i40iw_cm.c | 67 ++- drivers/infiniband/hw/i40iw/i40iw_cm.h | 4 +- drivers/infiniband/hw/i40iw/i40iw_hw.c | 34 +- drivers/infiniband/hw/i40iw/i40iw_main.c | 2 +- drivers/infiniband/hw/mlx4/mad.c | 1 - drivers/infiniband/hw/mlx4/main.c | 60 +-- drivers/infiniband/hw/mlx4/mr.c | 50 +- drivers/infiniband/hw/mlx4/qp.c | 2 +- drivers/infiniband/hw/mlx5/cq.c | 59 ++- drivers/infiniband/hw/mlx5/ib_rep.c | 2 +- drivers/infiniband/hw/mlx5/ib_rep.h | 2 +- drivers/infiniband/hw/mlx5/main.c | 511 ++++++++++++++++++--- drivers/infiniband/hw/mlx5/mlx5_ib.h | 36 ++ drivers/infiniband/hw/mlx5/qp.c | 43 +- drivers/infiniband/hw/qedr/verbs.c | 4 +- drivers/infiniband/hw/qib/qib.h | 4 +- drivers/infiniband/hw/qib/qib_file_ops.c | 12 +- drivers/infiniband/hw/qib/qib_init.c | 13 + drivers/infiniband/hw/qib/qib_rc.c | 8 +- drivers/infiniband/hw/qib/qib_ruc.c | 154 +------ drivers/infiniband/hw/qib/qib_uc.c | 4 +- drivers/infiniband/hw/qib/qib_ud.c | 4 +- drivers/infiniband/hw/qib/qib_user_pages.c | 20 +- drivers/infiniband/hw/qib/qib_verbs.c | 6 +- drivers/infiniband/hw/qib/qib_verbs.h | 2 - drivers/infiniband/sw/rdmavt/Kconfig | 2 +- drivers/infiniband/sw/rdmavt/cq.c | 74 ++- drivers/infiniband/sw/rdmavt/cq.h | 6 +- drivers/infiniband/sw/rdmavt/qp.c | 151 +++++- drivers/infiniband/sw/rdmavt/trace_cq.h | 35 +- drivers/infiniband/sw/rdmavt/vt.c | 35 +- drivers/infiniband/sw/rxe/Kconfig | 1 + drivers/infiniband/sw/rxe/rxe.c | 11 +- drivers/infiniband/sw/rxe/rxe.h | 4 +- drivers/infiniband/sw/rxe/rxe_comp.c | 10 +- drivers/infiniband/sw/rxe/rxe_loc.h | 13 +- drivers/infiniband/sw/rxe/rxe_mr.c | 13 +- drivers/infiniband/sw/rxe/rxe_net.c | 18 +- drivers/infiniband/sw/rxe/rxe_net.h | 3 - drivers/infiniband/sw/rxe/rxe_recv.c | 7 +- drivers/infiniband/sw/rxe/rxe_req.c | 2 +- drivers/infiniband/sw/rxe/rxe_resp.c | 20 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 6 +- drivers/infiniband/ulp/ipoib/ipoib.h | 2 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 93 ++-- drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 15 +- drivers/infiniband/ulp/iser/iscsi_iser.c | 12 +- drivers/infiniband/ulp/iser/iscsi_iser.h | 6 +- drivers/infiniband/ulp/iser/iser_initiator.c | 2 +- drivers/infiniband/ulp/iser/iser_memory.c | 4 +- drivers/infiniband/ulp/iser/iser_verbs.c | 21 +- drivers/infiniband/ulp/isert/ib_isert.c | 37 +- drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 28 +- .../mellanox/mlx5/core/diag/fs_tracepoint.c | 2 +- drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c | 2 +- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 1 - drivers/net/ethernet/mellanox/mlx5/core/en_tc.c | 3 + drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 17 +- drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 2 + .../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 21 +- drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 9 + drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 26 +- drivers/net/ethernet/mellanox/mlx5/core/fs_core.h | 4 +- .../net/ethernet/mellanox/mlx5/core/fs_counters.c | 7 +- drivers/net/ethernet/mellanox/mlx5/core/mr.c | 4 +- drivers/net/ethernet/mellanox/mlx5/core/qp.c | 18 +- drivers/net/ethernet/mellanox/mlx5/core/vport.c | 6 +- drivers/net/ethernet/mellanox/mlx5/core/wq.h | 1 - include/linux/mlx5/device.h | 12 + include/linux/mlx5/fs.h | 10 +- include/linux/mlx5/mlx5_ifc.h | 66 ++- include/linux/mm.h | 8 +- include/rdma/ib_addr.h | 20 +- include/rdma/ib_cache.h | 1 + include/rdma/ib_verbs.h | 102 +++- include/rdma/rdma_cm.h | 3 + include/rdma/rdma_vt.h | 7 +- include/rdma/rdmavt_cq.h | 5 +- include/rdma/rdmavt_qp.h | 1 + include/rdma/restrack.h | 22 +- include/rdma/uverbs_ioctl.h | 11 + include/uapi/rdma/ib_user_ioctl_cmds.h | 21 + include/uapi/rdma/ib_user_verbs.h | 63 +++ include/uapi/rdma/mlx5-abi.h | 30 +- include/uapi/rdma/rdma_netlink.h | 30 +- mm/memory.c | 7 +- 156 files changed, 4560 insertions(+), 1827 deletions(-) create mode 100644 drivers/infiniband/core/uverbs_std_types_counters.c create mode 100644 drivers/infiniband/hw/cxgb4/restrack.c create mode 100644 drivers/infiniband/hw/hfi1/fault.c create mode 100644 drivers/infiniband/hw/hfi1/fault.h [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --]
[-- Attachment #1: Type: text/plain, Size: 2093 bytes --] Hi Linus, First pull request for -rc Here are eight fairly small fixes collected over the last two weeks. Thanks, Jason The following changes since commit c1191a19fecad92b73c25770a7f47174280ca564: RDMA/mlx5: Update SPDX tags to show proper license (2018-06-05 14:04:20 -0600) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 375dc53d032fc11e98036b5f228ad13f7c5933f5: IB/rxe: Fix missing completion for mem_reg work requests (2018-06-18 11:36:13 -0600) ---------------------------------------------------------------- 4.18-rc Regression and crashing bug fixes: - mlx4/5: Fixes for issues found from various checkers - A resource tracking and uverbs regression in the core code - qedr: NULL pointer regression found during testing - rxe: Various small bugs ---------------------------------------------------------------- Bharat Potnuri (1): RDMA/core: Save kernel caller name when creating CQ using ib_create_cq() Christophe Jaillet (1): IB/mlx4: Fix an error handling path in 'mlx4_ib_rereg_user_mr()' Gustavo A. R. Silva (1): IB/mlx5: Fix memory leak in mlx5_ib_create_flow Jason Gunthorpe (1): IB/uverbs: Fix ordering of ucontext check in ib_uverbs_write Kalderon, Michal (1): RDMA/qedr: Fix NULL pointer dereference when running over iWARP without RDMA-CM Vijay Immanuel (1): IB/rxe: Fix missing completion for mem_reg work requests Zhu Yanjun (1): IB/rxe: avoid double kfree skb weiyongjun (A) (1): IB/mlx5: Fix return value check in flow_counters_set_data() drivers/infiniband/core/uverbs_main.c | 14 ++++++++++---- drivers/infiniband/core/verbs.c | 14 ++++++++------ drivers/infiniband/hw/mlx4/mr.c | 7 +++++-- drivers/infiniband/hw/mlx5/main.c | 36 ++++++++++++++++++++--------------- drivers/infiniband/hw/qedr/verbs.c | 3 +++ drivers/infiniband/sw/rxe/rxe_req.c | 5 ++++- include/rdma/ib_verbs.h | 13 ++++++++----- 7 files changed, 59 insertions(+), 33 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --]
[-- Attachment #1: Type: text/plain, Size: 2040 bytes --] Hi Linus, Second pull request for -rc Things have been quite slow, only 6 RC patches have been sent to the list. Lots of stuff in for-next already though. The following changes since commit 6f0d349d922ba44e4348a17a78ea51b7135965b1: Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (2018-06-25 15:58:17 +0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to d63c46734c545ad0488761059004a65c46efdde3: RDMA/mlx5: Fix memory leak in mlx5_ib_create_srq() error path (2018-07-11 14:16:13 -0600) ---------------------------------------------------------------- Regression, user visible bugs, and crashing fixes: - cxgb4 could wrongly fail MR creation due to a typo - Various crashes if the wrong QP type is mixed in with APIs that expect other types - Syzkaller oops - Using ERR_PTR and NULL together cases HFI1 to crash in some cases - mlx5 memory leak in error unwind ---------------------------------------------------------------- Kamal Heib (1): RDMA/mlx5: Fix memory leak in mlx5_ib_create_srq() error path Leon Romanovsky (3): RDMA/uverbs: Protect from attempts to create flows on unsupported QP RDMA/uverbs: Fix slab-out-of-bounds in ib_uverbs_ex_create_flow RDMA/uverbs: Don't fail in creation of multiple flows Michael J. Ruhl (1): IB/hfi1: Fix incorrect mixing of ERR_PTR and NULL return values Steve Wise (1): iw_cxgb4: correctly enforce the max reg_mr depth drivers/infiniband/core/uverbs_cmd.c | 28 +++++++++++++++++----------- drivers/infiniband/hw/cxgb4/mem.c | 2 +- drivers/infiniband/hw/hfi1/rc.c | 2 +- drivers/infiniband/hw/hfi1/uc.c | 4 ++-- drivers/infiniband/hw/hfi1/ud.c | 4 ++-- drivers/infiniband/hw/hfi1/verbs_txreq.c | 4 ++-- drivers/infiniband/hw/hfi1/verbs_txreq.h | 4 ++-- drivers/infiniband/hw/mlx5/srq.c | 18 ++++++++++++------ 8 files changed, 39 insertions(+), 27 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --]
[-- Attachment #1: Type: text/plain, Size: 1108 bytes --] Hi Linus, Third pull request for -rc Things are still slow on the RC side, this one patch has been sitting in the git tree for a few weeks waiting for some friends. I expect this is the last RC pull for this cycle. The following changes since commit d63c46734c545ad0488761059004a65c46efdde3: RDMA/mlx5: Fix memory leak in mlx5_ib_create_srq() error path (2018-07-11 14:16:13 -0600) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to addb8a6559f0f8b5a37582b7ca698358445a55bf: RDMA/uverbs: Expand primary and alt AV port checks (2018-07-24 15:30:34 -0600) ---------------------------------------------------------------- One bug for missing user input validation: - Refuse invalid port numbers in the modify_qp system call ---------------------------------------------------------------- Jack Morgenstein (1): RDMA/uverbs: Expand primary and alt AV port checks drivers/infiniband/core/uverbs_cmd.c | 59 +++++++++++++++++++++++++++++++++--- 1 file changed, 54 insertions(+), 5 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 819 bytes --]
[-- Attachment #1: Type: text/plain, Size: 50423 bytes --] Hi Linus, Here are the RDMA patches for 4.19. This time there are many merge conflicts, all due to various tree-wide or RDMA subystem wide changes done by various people. The resolution is tricky, as git does not highlight two areas that need revision. An overview of the conflicts: - Mark Rutland renamed __atomic_add_unless() conflicting with major rework of rdma_core.c - Steve Wise split ib_device_attr.max_sge into max_send_sge and max_recv_sge, and updated all ULPs. This clashed with other changes in the NVMe over fabrics driver adding new users of max_sge. This is tricky as the correct use of send/recv in the merge is essential. Christoph Hellwig has reviewded this resolution in linux-next - Bart did a tree wide change to use NULL for the last argument in ibv_post_send(), clashing with various RDP ULP changes in netdev - Parav revised the ugly ib_query_gid API with something saner and did a treewide update. This clashed horribly with general work on the SMC code in netdev. We've handled this by providing a compat ib_query_gid wrapper and reverting the SMC changes in rdma.git, so no merge fixup neeed. However, I will send a cleanup for this to remove the wrapper as soon as possible. - Various small conflicts between RDMA -rc and -next resolved by merging the v4.18 tag. Notably we have again avoided the historical merge conflicts in the Mellanox drivers with the new 'shared branch' arrangement with DaveM, this seems to be working well. The above tree wide changes explain most of the hunks outside the tree, the only other cases are a new function check_shl_overflow() in include/linux/overflow.h ack'd by Kees and an edit to idr.h from Matthew Wilcox that was needed for other patches he sent to the RDMA tree. As before I've resolved the conflicts in the for-next tag (this makes the diffstat below more accurate) and provided the unmerged tree in the for-linus-unmerged tag. The merge resolution diff is a bit big so it is included at the end of this message for your reference. The following changes since commit 5c60a7389d795e001c8748b458eb76e3a5b6008c: Merge tag 'for-linus-4.19-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux (2018-08-16 10:53:45 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 0a3173a5f09bc58a3638ecfd0a80bdbae55e123c: Merge branch 'linus/master' into rdma.git for-next (2018-08-16 14:21:29 -0600) ---------------------------------------------------------------- This has been a large cycle for RDMA, with several major patch series reworking parts of the core code. - Rework the so-called 'gid cache' and internal APIs to use a kref'd pointer to a struct instead of copying, push this upwards into the callers and add more stuff to the struct. The new design avoids some ugly races the old one suffered with. This is part of the namespace enablement work as the new struct is learning to be namespace aware. - Various uapi cleanups, moving more stuff to include/uapi and fixing some long standing bugs that have recently been discovered. - Driver updates for mlx5, mlx4 i40iw, rxe, cxgb4, hfi1, usnic, pvrdma, and hns - Provide max_send_sge and max_recv_sge attributes to better support HW where these values are asymmetric. - mlx5 user API 'devx' allows sending commands directly to the device FW, instead of trying to cram every wild and niche feature into the common API. Sort of like what GPU does. - Major write() and ioctl() API rework to cleanly support PCI device hot unplug and advance the ioctl conversion work - Sparse and compile warning cleanups - Add 'const' to the ib_poll_cq() signature, and permit a NULL 'bad_wr', which is the common use case - Various patches to avoid high order allocations across the stack - SRQ support for cxgb4, hns and qedr - Changes to IPoIB to better follow the netdev model for working with struct net_device liftime ---------------------------------------------------------------- Arnd Bergmann (1): infiniband: i40iw, nes: don't use wall time for TCP sequence numbers Artemy Kovalyov (2): RDMA: Validate grh_required when handling AVs IB/uverbs: Pass IB_UVERBS_QPF_GRH_REQUIRED to user space Bart Van Assche (51): MAINTAINERS: Update SRP entries IB/srpt: Support HCAs with more than two ports include/rdma/opa_addr.h: Fix an endianness issue IB/srp: Remove driver version and release data information IB/mlx5: Remove set-but-not-used variables ib_srpt: Fix a use-after-free in srpt_close_ch() ib_srpt: Fix a use-after-free in __srpt_close_all_ch() RDMA/core: Remove ib_find_cached_gid() and ib_find_cached_gid_by_port() RDMA/core: Remove set-but-not-used variables IB/nes: Fix a compiler warning RDMA/ocrdma: Remove a set-but-not-used variable IB/iser: Remove set-but-not-used variables RDMA/rxe: Simplify the error handling code in rxe_create_ah() RDMA/cxgb3: Make iwch_poll_cq_one() easier to analyze RDMA/cxgb4: Make c4iw_poll_cq_one() easier to analyze RDMA/rw: Fix rdma_rw_ctx_signature_init() kernel-doc header RDMA/nes: Avoid complaints about unused variables RDMA/ocrdma: Make ocrdma_destroy_qp() easier to analyze IB/hfi1: Suppress a compiler warning hns: Remove a set-but-not-used variable IB/srpt: Fix srpt_cm_req_recv() error path (1/2) IB/srpt: Fix srpt_cm_req_recv() error path (2/2) RDMA/bnxt_re: Modify a fall-through annotation MAINTAINERS: Remove Dave Goodell from the usnic RDMA driver maintainer list IB/core: Allow ULPs to specify NULL as the third ib_post_(send|recv|srq_recv)() argument RDMA/core: Simplify ib_post_(send|recv|srq_recv)() calls IB/IPoIB: Simplify ib_post_(send|recv|srq_recv)() calls IB/iser: Simplify ib_post_(send|recv|srq_recv)() calls IB/isert: Simplify ib_post_(send|recv|srq_recv)() calls IB/srp: Simplify ib_post_(send|recv|srq_recv)() calls IB/srpt: Simplify ib_post_(send|recv|srq_recv)() calls nvme-rdma: Simplify ib_post_(send|recv|srq_recv)() calls nvmet-rdma: Simplify ib_post_(send|recv|srq_recv)() calls fs/cifs: Simplify ib_post_(send|recv|srq_recv)() calls net/9p: Simplify ib_post_(send|recv|srq_recv)() calls net/rds: Remove two WARN_ON() statements net/rds: Simplify ib_post_(send|recv|srq_recv)() calls net/smc: Remove a WARN_ON() statement net/smc: Simplify ib_post_(send|recv|srq_recv)() calls net/xprtrdma: Simplify ib_post_(send|recv|srq_recv)() calls RDMA/ocrdma: Suppress a compiler warning RDMA/usnic: Suppress a compiler warning IB/iser: Inline two work request conversion functions RDMA: Constify the argument of the work request conversion functions IB/mlx5, ib_post_send(), IB_WR_REG_SIG_MR: Do not modify the 'wr' argument RDMA, core and ULPs: Declare ib_post_send() and ib_post_recv() arguments const rdma/cxgb4: Remove a set-but-not-used variable rdma/cxgb4: Fix SRQ endianness annotations rdma/cxgb4: Simplify a structure initialization RDMA/rxe: Set wqe->status correctly if an unexpected response is received Update the e-mail address of Bart Van Assche Bharat Potnuri (1): iw_cxgb4: remove duplicate memcpy() in c4iw_create_listen() Dan Carpenter (4): IB/core: type promotion bug in rdma_rw_init_one_mr() RDMA/bnxt_re: Fix a couple off by one bugs RDMA/bnxt_re: Fix a bunch of off by one bugs in qplib_fp.c rdma/cxgb4: fix some info leaks Denis Drozdov (1): IB/IPoIB: Set ah valid flag in multicast send flow Erez Shitrit (1): IB/ipoib: Use cancel_delayed_work_sync for neigh-clean task Gal Pressman (1): RDMA/hns: Fix usage of bitmap allocation functions return values Håkon Bugge (1): IB/cm: Remove unused and erroneous msg sequence encoding Jack Morgenstein (1): IB/mlx4: Use 4K pages for kernel QP's WQE buffer Jan Dakinevich (2): ib_srpt: use kvmalloc to allocate ring pointers IPoIB: use kvzalloc to allocate an array of bucket pointers Jann Horn (1): IB/mlx5: fix uaccess beyond "count" in debugfs read/write handlers Jason Gunthorpe (90): IB/core: Provide rdma_ versions of the gid cache API IB/core: Make rdma_find_gid_by_filter support all protocols IB/rxe: Do not hide uABI stuff in memcpy IB/core: Add a sgid_attr pointer to struct rdma_ah_attr IB{cm, core}: Introduce and use ah_attr copy, move, replace APIs RDMA: Hold the sgid_attr inside the struct ib_ah/qp Merge branch 'mellanox/mlx5-next' into RDMA for-next Merge branch 'icrc-counter' into rdma.git for-next IB/uverbs: Delete type and id from uverbs_obj_attr RDMA/core: Remove unused ib cache functions IB/usnic: Update with bug fixes from core code RDMA/uverbs: Check existence of create_flow callback IB/mlx4: Create slave AH's directly IB/core: Check for rdma_protocol_ib only after validating port_num IB/cm: Remove now useless rcu_lock in dst_fetch_ha Merge branch 'mlx5-dump-fill-mkey' into rdma.git for-next RDMA/uverbs: Store the specs_root in the struct ib_uverbs_device RDMA/uverbs: Split UVERBS_ATTR_FLOW_ACTION_ESP_HANDLE RDMA/uverbs: Simplify UVERBS_ATTR family of macros RDMA/uverbs: Simplify method definition macros RDMA/uverbs: Simplify UVERBS_OBJECT and _TREE family of macros RDMA/uverbs: Get rid of the & in method specifications RDMA/uverbs: Remove UA_FLAGS RDMA/uverbs: Use UVERBS_ATTR_MIN_SIZE correctly and uniformly RDMA/uverbs: Combine MIN_SZ_OR_ZERO with UVERBS_ATTR_STRUCT IB/uverbs: Add a uobj_perform_destroy helper IB/uverbs: Move non driver related elements from ib_ucontext to ib_ufile IB/uverbs: Replace ib_ucontext with ib_uverbs_file in core function calls IB/uverbs: Replace file->ucontext with file in uverbs_cmd.c IB/uverbs: Tidy up remaining references to ucontext IB/uverbs: Remove ib_uobject_file IB/uverbs: Replace ib_ucq_object uverbs_file with the one in ib_uobject IB/uverbs: Do not use uverbs_cmd_mask in the ioctl path RDMA: Fix storage of PortInfo CapabilityMask in the kernel RDMA/hfi1: Move grh_required into update_sm_ah RDMA/cxgb4: Restore the dropped uninitialized_var IB/cm: Remove cma_multicast->igmp_joined IB/uverbs: Move ib_access_flags and ib_read_counters_flags to uapi Merge branch 'mellanox/mlx5-next' into rdma.git for-next IB/uverbs: Get rid of null_obj_type IB/uverbs: Handle IDR and FD types without truncation IB/uverbs: Clarify the kref'ing ordering for alloc_commit IB/uverbs: Revise the placement of get/puts on uobject IB/uverbs: Clarify and revise uverbs_close_fd IB/uverbs: Revise and clarify the rwsem and uobjects_lock IB/uverbs: Rework the locking for cleaning up the ucontext IB/uverbs: Always propagate errors from rdma_alloc_commit_uobject() IB/uverbs: Move the FD uobj type struct file allocation to alloc_commit IB/mlx5: Use the ucontext from the uobj, not the file IB/uverbs: Fix locking around struct ib_uverbs_file ucontext IB/usnic: usnic should not select INFINIBAND_USER_ACCESS net/xprtrdma: Restore needed argument to ib_post_send IB/cache: Restore compatibility for ib_query_gid IB/uverbs: Add UVERBS_ATTR_FLAGS_IN to the specs language IB/uverbs: Remove rdma_explicit_destroy() from the ioctl methods IB/uverbs: Make the write path destroy methods use the same flow as ioctl IB/uverbs: Consolidate uobject destruction IB/uverbs: Convert 'bool exclusive' into an enum IB/uverbs: Allow RDMA_REMOVE_DESTROY to work concurrently with disassociate IB/uverbs: Allow uobject allocation to work concurrently with disassociate IB/uverbs: Lower the test for ongoing disassociation IB/uverbs: Do not pass struct ib_device to the write based methods IB/uverbs: Do not pass struct ib_device to the ioctl methods IB/uverbs: Do not block disassociate during write() IB/uverbs: Allow all DESTROY commands to succeed after disassociate IB/ipoib: Get rid of IPOIB_FLAG_GOING_DOWN IB/ipoib: Move all uninit code into ndo_uninit IB/ipoib: Move init code to ndo_init RDMA/netdev: Use priv_destructor for netdev cleanup IB/ipoib: Get rid of the sysfs_mutex IB/ipoib: Do not remove child devices from within the ndo_uninit IB/ipoib: Maintain the child_intfs list from ndo_init/uninit IB/ipoib: Consolidate checking of the proposed child interface overflow.h: Add arithmetic shift helper IB/uverbs: Fix reading of 32 bit flags IB/uverbs: Have the core code create the uverbs_root_spec IB/uverbs: Build the specs into a radix tree at runtime IB/uverbs: Use uverbs_api to manage the object type inside the uobject IB/uverbs: Provide implementation private memory for the uverbs_attr_bundle IB/uverbs: Remove the ib_uverbs_attr pointer from each attr IB/uverbs: Add a simple allocator to uverbs_attr_bundle IB/uverbs: Use uverbs_alloc for allocations IB/uverbs: Use uverbs_api to unmarshal ioctl commands IB/uverbs: Remove struct uverbs_root_spec and all supporting code IB/uverbs: Do not check for device disassociation during ioctl IB/ucm: Fix compiling ucm.c IB/mlx5: Fix leaking stack memory to userspace Merge tag 'v4.18' into rdma.git for-next Revert "net/smc: Replace ib_query_gid with rdma_get_gid_attr" Merge branch 'linus/master' into rdma.git for-next Kamal Heib (11): RDMA/ipoib: Use min_t() macro instead of min() RDMA/ipoib: Prefer unsigned int to bare use of unsigned RDMA/ipoib: Fix use of sizeof() RDMA/ipoib: Fix return code from ipoib_cm_dev_init RDMA/mlx5: Remove set but not used variables RDMA/providers: Fix return value from create_srq callbacks RDMA/ipoib: Fix check for return code from ib_create_srq RDMA/core: Remove {create,destroy}_ah from mandatory verbs RDMA/core: Check for verbs callbacks before using them RDMA/providers: Remove pointless functions RDMA: Fix return code check in rdma_set_cq_moderation Kees Cook (1): test_overflow: Add shift overflow tests Leon Romanovsky (16): RDMA/nldev: Return port capability flag for IB only RDMA/uverbs: Refactor flow_resources_alloc() function RDMA/mlx5: Refactor transport domain checks RDMA/verbs: Drop kernel variant of create_flow RDMA/verbs: Drop kernel variant of destroy_flow RDMA/uverbs: Don't overwrite NULL pointer with ZERO_SIZE_PTR RDMA/umem: Don't check for a negative return value of dma_map_sg_attrs() RDMA/uverbs: Remove redundant check RDMA/mlx5: Don't leak UARs in case of free fails RDMA/i40w: Hold read semaphore while looking after VMA RDMA/mlx5: Remove unused port number parameter RDMA/mlx5: Melt consecutive calls to alloc_bfreg() in one call RDMA/mlx5: Check that supplied blue flame index doesn't overflow RDMA/umem: Don't hold mmap_sem for too long RDMA/umem: Refactor exit paths in ib_umem_get RDMA/mlx5: Fix shift overflow in mlx5_ib_create_wq Lijun Ou (12): RDMA/hns: Do not overwrite the error code during error unwind in hns_roce_init RDMA/hns: Add 50GE type of hnae3 device match RDMA/hns: Return correct error code from hns_roce_v1_rsv_lp_qp() RDMA/hns: Add illegal hop_num judgement RDMA/hns: Use delay instead of usleep RDMA/hns: Update the data type of immediate data RDMA/hns: Enable modify_cq for uverbs. RDMA/hns: Only assgin the fields of the av if IB_QP_AV bit is set RDMA/hns: Assign the value for vlan field of qp context RDMA/hns: Modify qp will return errno when qp type is illegal RDMA/hns: Use macro instead of magic number RDMA/hns: Program the tclass and flow label into the hardware Maor Gottlieb (1): IB/mlx5: Fix GRE flow specification Matan Barak (5): IB/uverbs: Export uverbs idr and fd types IB/uverbs: Refactor uverbs_finalize_objects IB/uverbs: Add PTR_IN attributes that are allocated/copied automatically IB/uverbs: Add a macro to define a type with no kernel known size IB/uverbs: Allow an empty namespace in ioctl() framework Matthew Wilcox (1): IB/mad: Agent registration is process context only Michael J. Ruhl (3): IB/hfi1: Remove INTx support and simplify MSIx usage IB/hfi1: Set in_use_ctxts bits for user ctxts only IB/hfi1: Remove incorrect call to do_interrupt callback Mike Marciniszyn (10): IB/hfi1: Move normal functions from hfi1_devdata to const array IB/hfi1: Move rhf_offset from devdata to ctxtdata IB/hfi1: Remove rcvhdrsize IB/rdmavt, IB/hfi1: Create device dependent s_flags IB/hfi1: Remove rcvhdrq_size IB/hfi1: Remove rcvctrl from ctxtdata IB/hfi1: Rightsize ctxt_eager_bufs fields IB/hfi1: Remove unused/writeonly devdata fields IB/hfi1: Remove caches of chip CSRs IB/hfi1: Reorg ctxtdata and rightsize fields Neil Horman (1): vmw_pvrdma: Release netdev when vmxnet3 module is removed Or Gerlitz (1): MAINTAINERS: Moving out... Parav Pandit (45): IB/core: Do not set the gid type when reserving default entries IB/core: Store default GID property per-table instead of per-entry IB/core: Introduce GID entry reference counts RDMA: Use GID from the ib_gid_attr during the add_gid() callback IB/core: Introduce GID attribute get, put and hold APIs IB/core: Replace ib_query_gid with rdma_get_gid_attr net/smc: Replace ib_query_gid with rdma_get_gid_attr IB: Replace ib_query_gid/ib_get_cached_gid with rdma_query_gid IB/rxe: Use rdma GID API IB: Ensure that all rdma_ah_attr's are zero initialized IB/core: Tidy ib_resolve_eth_dmac RDMA: Convert drivers to use sgid_attr instead of sgid_index IB/mlx4: Use GID attribute from ah attribute RDMA: Convert drivers to use the AH's sgid_attr in post_wr paths RDMA/cma: Consider net namespace while leaving multicast group IB/core: Free GID table entry during GID deletion IB: Make ib_init_ah_attr_from_wc set sgid_attr IB: Make ib_init_ah_from_mcmember set sgid_attr IB: Make init_ah_attr_grh_fields set sgid_attr IB/cm: Keep track of the sgid_attr that created the cm id IB/cm: Pass the sgid_attr through various events IB/cm: Replace members of sa_path_rec with 'struct sgid_attr *' IB/cm: Use sgid_attr from the AV IB/mlx5: Honor cnt_set_id_valid flag instead of set_id IB/core: Simplify check for RoCE route resolve IB/core: Introduce and use sgid_attr in CM requests RDMA/cma: Consider netdevice for RoCE ports RDMA/cma: Do not ignore net namespace for unbound cm_id RDMA/cma: Initialize resource type in __rdma_create_id() RDMA/cma: Simplify rdma_resolve_addr() error flow RDMA/core: Constify dst_addr argument RDMA/cma: Constify path record, ib_cm_event, listen_id pointers RDMA/cma: Get rid of 1 bit boolean RDMA/core: Return bool instead of int RDMA/core: Avoid holding lock while initializing fields on stack RDMA/core: Simplify gid type check in cma_acquire_dev() RDMA/core: Prefix _ib to IB/RoCE specific functions IB/ucm: Initialize sgid request GID attribute pointer IB/core: Add comment for change upper netevent handling IB/core: Avoid confusing del_netdev_default_ips IB/core: Delete lower netdevice default GID entries in bonding scenario IB/core: Consider adding default GIDs of bond device IB/core: Add default GIDs of the bond master netdev IB/core: Update GID entries for netdevice whose mac address changes IB/core: Change filter function return type from int to bool Potnuri Bharat Teja (3): iw_cxgb4: RDMA write with immediate support iw_cxgb4: Support FW write completion WR iw_cxgb4: pass window scale in flowc work request Qing Huang (1): IB/mlx5: avoid excessive warning msgs when creating VFs on 2nd port Raju Rangoju (3): rdma/cxgb4: Add support for 64Byte cqes rdma/cxgb4: Add support for srq functions & structs rdma/cxgb4: Add support for kernel mode SRQ's Sagi Grimberg (1): IB/iser: set can_queue earlier to allow setting higher queue depth Shiraz Saleem (1): i40iw: Reorganize acquire/release of locks in i40iw_manage_apbvt Steve Wise (1): IB/core: add max_send_sge and max_recv_sge attributes Talat Batheesh (1): IB/mlx5: Support RoCE ICRC encapsulated error counter Tarick Bedeir (1): IB/mlx4: Test port number before querying type. Varsha Rao (1): IB/core: Remove extra parentheses Vijay Immanuel (3): IB/rxe: increase max MR limit IB/rxe: support for 802.1q VLAN on the listener IB/rxe: don't clear the tx queue on every transfer Wei Yongjun (1): IB/ipoib: Fix error return code in ipoib_dev_init() Yishai Hadas (22): IB/core: Introduce DECLARE_UVERBS_GLOBAL_METHODS IB/core: Expose ib_ucontext from a given ib_uverbs_file IB/mlx5: Introduce DEVX IB/mlx5: Add support for DEVX general command IB/mlx5: Add obj create and destroy functionality IB/mlx5: Add DEVX support for modify and query commands IB/mlx5: Add support for DEVX query UAR IB/mlx5: Add DEVX support for memory registration IB/mlx5: Add DEVX query EQN support IB/mlx5: Expose DEVX tree IB/mlx5: Add support for drain SQ & RQ IB/mlx4: Add support for drain SQ & RQ IB: Improve uverbs_cleanup_ucontext algorithm IB: Enable uverbs_destroy_def_handler to be used by drivers net/mlx5: Add forward compatible support for the FTE match data net/mlx5: Add support for flow table destination number IB/mlx5: Introduce flow steering matcher uapi object IB: Support ib_flow creation in drivers IB/mlx5: Introduce driver create and destroy flow methods IB/mlx5: Support adding flow steering rule by raw description IB/mlx5: Add support for a flow table destination for driver flow steering IB/mlx5: Enable driver uapi commands for flow steering Yixian Liu (1): RDMA/hns: Support flush cqe for hip08 in kernel space Yonatan Cohen (1): IB/mlx5: Expose dump and fill memory key Yuval Bason (3): qedr: Add wrapping generic structure for qpidr and adjust idr routines. qedr: Add support for kernel mode SRQ's qedr: Add user space support for SRQ Yuval Shaia (1): RDMA/vmw_pvrdma: Delete unused function Zhu Yanjun (2): IB/rxe: avoid unnecessary NULL check IB/rxe: Drop QP0 silently oulijun (5): RDMA/hns: Fix endian conversions and annotations RDMA/hns: Add TSQ link table support RDMA/hns: Add TPQ link table support RDMA/hns: Update the implementation of set_gid RDMA/hns: Update the implementation of set_mac willy@infradead.org (2): IDR: Expose the XArray lock IB/mad: Use IDR for agent IDs .mailmap | 2 + MAINTAINERS | 16 +- drivers/infiniband/Kconfig | 2 +- drivers/infiniband/core/Makefile | 5 +- drivers/infiniband/core/addr.c | 16 +- drivers/infiniband/core/cache.c | 724 ++++++++----- drivers/infiniband/core/cm.c | 147 +-- drivers/infiniband/core/cm_msgs.h | 7 - drivers/infiniband/core/cma.c | 362 ++++--- drivers/infiniband/core/core_priv.h | 4 +- drivers/infiniband/core/device.c | 23 +- drivers/infiniband/core/mad.c | 113 +- drivers/infiniband/core/mad_priv.h | 7 +- drivers/infiniband/core/multicast.c | 40 +- drivers/infiniband/core/nldev.c | 16 +- drivers/infiniband/core/rdma_core.c | 1018 +++++++++++------- drivers/infiniband/core/rdma_core.h | 96 +- drivers/infiniband/core/roce_gid_mgmt.c | 306 ++++-- drivers/infiniband/core/rw.c | 8 +- drivers/infiniband/core/sa_query.c | 138 ++- drivers/infiniband/core/sysfs.c | 66 +- drivers/infiniband/core/ucm.c | 15 +- drivers/infiniband/core/umem.c | 62 +- drivers/infiniband/core/user_mad.c | 1 + drivers/infiniband/core/uverbs.h | 34 +- drivers/infiniband/core/uverbs_cmd.c | 599 +++++------ drivers/infiniband/core/uverbs_ioctl.c | 709 ++++++++----- drivers/infiniband/core/uverbs_ioctl_merge.c | 664 ------------ drivers/infiniband/core/uverbs_main.c | 232 ++-- drivers/infiniband/core/uverbs_marshall.c | 2 - drivers/infiniband/core/uverbs_std_types.c | 200 ++-- .../infiniband/core/uverbs_std_types_counters.c | 108 +- drivers/infiniband/core/uverbs_std_types_cq.c | 154 ++- drivers/infiniband/core/uverbs_std_types_dm.c | 61 +- .../infiniband/core/uverbs_std_types_flow_action.c | 170 +-- drivers/infiniband/core/uverbs_std_types_mr.c | 88 +- drivers/infiniband/core/uverbs_uapi.c | 346 ++++++ drivers/infiniband/core/verbs.c | 523 ++++++--- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 144 +-- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 15 +- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 12 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 4 +- drivers/infiniband/hw/cxgb3/iwch_cq.c | 64 +- drivers/infiniband/hw/cxgb3/iwch_provider.c | 44 +- drivers/infiniband/hw/cxgb3/iwch_provider.h | 8 +- drivers/infiniband/hw/cxgb3/iwch_qp.c | 32 +- drivers/infiniband/hw/cxgb4/cm.c | 90 +- drivers/infiniband/hw/cxgb4/cq.c | 269 +++-- drivers/infiniband/hw/cxgb4/device.c | 20 +- drivers/infiniband/hw/cxgb4/ev.c | 5 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 57 +- drivers/infiniband/hw/cxgb4/provider.c | 56 +- drivers/infiniband/hw/cxgb4/qp.c | 1051 +++++++++++++++--- drivers/infiniband/hw/cxgb4/resource.c | 51 +- drivers/infiniband/hw/cxgb4/t4.h | 164 ++- drivers/infiniband/hw/cxgb4/t4fw_ri_api.h | 68 +- drivers/infiniband/hw/hfi1/chip.c | 205 ++-- drivers/infiniband/hw/hfi1/chip.h | 30 + drivers/infiniband/hw/hfi1/driver.c | 63 +- drivers/infiniband/hw/hfi1/file_ops.c | 10 +- drivers/infiniband/hw/hfi1/hfi.h | 243 ++--- drivers/infiniband/hw/hfi1/init.c | 44 +- drivers/infiniband/hw/hfi1/pcie.c | 19 +- drivers/infiniband/hw/hfi1/pio.c | 14 +- drivers/infiniband/hw/hfi1/qp.c | 6 +- drivers/infiniband/hw/hfi1/qp.h | 24 +- drivers/infiniband/hw/hfi1/rc.c | 6 +- drivers/infiniband/hw/hfi1/ruc.c | 14 +- drivers/infiniband/hw/hfi1/sdma.c | 10 +- drivers/infiniband/hw/hfi1/verbs.c | 18 +- drivers/infiniband/hw/hfi1/vnic_main.c | 12 +- drivers/infiniband/hw/hns/hns_roce_ah.c | 21 +- drivers/infiniband/hw/hns/hns_roce_common.h | 9 - drivers/infiniband/hw/hns/hns_roce_db.c | 2 + drivers/infiniband/hw/hns/hns_roce_device.h | 45 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 7 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 430 +++++--- drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 2 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 698 ++++++++++-- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 136 ++- drivers/infiniband/hw/hns/hns_roce_main.c | 15 +- drivers/infiniband/hw/hns/hns_roce_pd.c | 2 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 55 +- drivers/infiniband/hw/i40iw/Kconfig | 1 + drivers/infiniband/hw/i40iw/i40iw_cm.c | 26 +- drivers/infiniband/hw/i40iw/i40iw_hw.c | 83 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 54 +- drivers/infiniband/hw/mlx4/ah.c | 70 +- drivers/infiniband/hw/mlx4/mad.c | 29 +- drivers/infiniband/hw/mlx4/main.c | 41 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 21 +- drivers/infiniband/hw/mlx4/qp.c | 421 ++++---- drivers/infiniband/hw/mlx4/srq.c | 4 +- drivers/infiniband/hw/mlx5/Makefile | 2 + drivers/infiniband/hw/mlx5/ah.c | 11 +- drivers/infiniband/hw/mlx5/cmd.c | 12 + drivers/infiniband/hw/mlx5/cmd.h | 1 + drivers/infiniband/hw/mlx5/cong.c | 9 +- drivers/infiniband/hw/mlx5/cq.c | 2 +- drivers/infiniband/hw/mlx5/devx.c | 1119 ++++++++++++++++++++ drivers/infiniband/hw/mlx5/flow.c | 252 +++++ drivers/infiniband/hw/mlx5/gsi.c | 8 +- drivers/infiniband/hw/mlx5/main.c | 570 +++++++--- drivers/infiniband/hw/mlx5/mlx5_ib.h | 85 +- drivers/infiniband/hw/mlx5/mr.c | 34 +- drivers/infiniband/hw/mlx5/qp.c | 294 +++-- drivers/infiniband/hw/mlx5/srq.c | 4 +- drivers/infiniband/hw/mthca/mthca_av.c | 5 +- drivers/infiniband/hw/mthca/mthca_dev.h | 24 +- drivers/infiniband/hw/mthca/mthca_provider.c | 7 +- drivers/infiniband/hw/mthca/mthca_qp.c | 24 +- drivers/infiniband/hw/mthca/mthca_srq.c | 8 +- drivers/infiniband/hw/nes/nes.h | 2 +- drivers/infiniband/hw/nes/nes_cm.c | 8 +- drivers/infiniband/hw/nes/nes_hw.c | 6 +- drivers/infiniband/hw/nes/nes_verbs.c | 74 +- drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 32 +- drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 1 - drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 26 +- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 1 - drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 50 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 12 +- drivers/infiniband/hw/qedr/main.c | 107 +- drivers/infiniband/hw/qedr/qedr.h | 43 +- drivers/infiniband/hw/qedr/qedr_hsi_rdma.h | 11 + drivers/infiniband/hw/qedr/qedr_iw_cm.c | 12 +- drivers/infiniband/hw/qedr/qedr_roce_cm.c | 37 +- drivers/infiniband/hw/qedr/qedr_roce_cm.h | 8 +- drivers/infiniband/hw/qedr/verbs.c | 625 +++++++++-- drivers/infiniband/hw/qedr/verbs.h | 17 +- drivers/infiniband/hw/qib/qib_verbs.c | 3 +- drivers/infiniband/hw/qib/qib_verbs.h | 5 +- drivers/infiniband/hw/usnic/Kconfig | 2 +- drivers/infiniband/hw/usnic/usnic_fwd.c | 4 +- drivers/infiniband/hw/usnic/usnic_fwd.h | 2 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 10 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 8 +- drivers/infiniband/hw/usnic/usnic_uiom.c | 40 +- drivers/infiniband/hw/usnic/usnic_uiom.h | 5 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 5 - drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 26 - drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 52 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 11 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 7 - drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 6 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 15 +- drivers/infiniband/sw/rdmavt/ah.c | 4 +- drivers/infiniband/sw/rdmavt/qp.c | 27 +- drivers/infiniband/sw/rdmavt/qp.h | 12 +- drivers/infiniband/sw/rdmavt/srq.c | 2 +- drivers/infiniband/sw/rxe/rxe.c | 3 +- drivers/infiniband/sw/rxe/rxe_av.c | 30 +- drivers/infiniband/sw/rxe/rxe_comp.c | 1 + drivers/infiniband/sw/rxe/rxe_loc.h | 5 +- drivers/infiniband/sw/rxe/rxe_net.c | 67 +- drivers/infiniband/sw/rxe/rxe_param.h | 2 +- drivers/infiniband/sw/rxe/rxe_qp.c | 31 +- drivers/infiniband/sw/rxe/rxe_recv.c | 24 +- drivers/infiniband/sw/rxe/rxe_resp.c | 5 + drivers/infiniband/sw/rxe/rxe_verbs.c | 70 +- drivers/infiniband/ulp/ipoib/ipoib.h | 32 +- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 81 +- drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 2 +- drivers/infiniband/ulp/ipoib/ipoib_fs.c | 6 +- drivers/infiniband/ulp/ipoib/ipoib_ib.c | 15 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 444 ++++---- drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 7 +- drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 23 - drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 8 +- drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 261 +++-- drivers/infiniband/ulp/iser/iscsi_iser.c | 16 +- drivers/infiniband/ulp/iser/iser_memory.c | 5 +- drivers/infiniband/ulp/iser/iser_verbs.c | 14 +- drivers/infiniband/ulp/isert/ib_isert.c | 26 +- drivers/infiniband/ulp/srp/ib_srp.c | 27 +- drivers/infiniband/ulp/srpt/ib_srpt.c | 71 +- drivers/infiniband/ulp/srpt/ib_srpt.h | 4 +- drivers/net/ethernet/chelsio/cxgb4/t4_msg.h | 4 +- drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 5 + .../mellanox/mlx5/core/diag/fs_tracepoint.c | 3 + drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 24 +- drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 81 +- .../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 37 +- drivers/nvme/host/rdma.c | 13 +- drivers/nvme/target/rdma.c | 13 +- fs/cifs/smbdirect.c | 32 +- include/linux/idr.h | 11 + include/linux/mlx5/driver.h | 3 - include/linux/mlx5/fs.h | 1 + include/linux/mlx5/mlx5_ifc.h | 5 + include/linux/overflow.h | 31 + include/rdma/ib.h | 4 +- include/rdma/ib_addr.h | 6 +- include/rdma/ib_cache.h | 83 +- include/rdma/ib_cm.h | 18 +- include/rdma/ib_mad.h | 33 + include/rdma/ib_sa.h | 49 +- include/rdma/ib_verbs.h | 257 +++-- include/rdma/opa_addr.h | 2 +- include/rdma/rdma_cm.h | 2 +- include/rdma/rdmavt_qp.h | 30 +- include/rdma/uverbs_ioctl.h | 627 ++++++----- include/rdma/uverbs_named_ioctl.h | 109 +- include/rdma/uverbs_std_types.h | 96 +- include/rdma/uverbs_types.h | 133 +-- include/uapi/rdma/cxgb4-abi.h | 32 +- include/uapi/rdma/hns-abi.h | 1 + include/uapi/rdma/ib_user_ioctl_cmds.h | 7 +- include/uapi/rdma/ib_user_ioctl_verbs.h | 58 + include/uapi/rdma/ib_user_verbs.h | 5 +- include/uapi/rdma/mlx5-abi.h | 6 +- include/uapi/rdma/mlx5_user_ioctl_cmds.h | 121 +++ include/uapi/rdma/qedr-abi.h | 17 + include/uapi/rdma/rdma_user_ioctl_cmds.h | 7 +- lib/test_overflow.c | 198 +++- net/9p/trans_rdma.c | 8 +- net/core/secure_seq.c | 1 + net/rds/ib.c | 2 +- net/rds/ib_frmr.c | 11 +- net/rds/ib_recv.c | 6 +- net/rds/ib_send.c | 6 +- net/smc/smc_core.c | 1 + net/smc/smc_ib.c | 1 + net/smc/smc_tx.c | 3 +- net/smc/smc_wr.c | 9 +- net/smc/smc_wr.h | 3 +- net/sunrpc/xprtrdma/fmr_ops.c | 4 +- net/sunrpc/xprtrdma/frwr_ops.c | 7 +- net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 3 +- net/sunrpc/xprtrdma/svc_rdma_rw.c | 3 +- net/sunrpc/xprtrdma/svc_rdma_sendto.c | 3 +- net/sunrpc/xprtrdma/svc_rdma_transport.c | 2 +- net/sunrpc/xprtrdma/verbs.c | 5 +- 233 files changed, 12380 insertions(+), 7059 deletions(-) delete mode 100644 drivers/infiniband/core/uverbs_ioctl_merge.c create mode 100644 drivers/infiniband/core/uverbs_uapi.c create mode 100644 drivers/infiniband/hw/mlx5/devx.c create mode 100644 drivers/infiniband/hw/mlx5/flow.c Merge resolution diff: diff --cc drivers/infiniband/core/rdma_core.c index 12e7c6c102c136,475910ffbcb680..6eb64c6f08028b --- a/drivers/infiniband/core/rdma_core.c +++ b/drivers/infiniband/core/rdma_core.c @@@ -77,201 -120,19 +77,201 @@@ static int uverbs_try_lock_object(struc * concurrently, setting the counter to zero is enough for releasing * this lock. */ - if (!exclusive) + switch (mode) { + case UVERBS_LOOKUP_READ: - return __atomic_add_unless(&uobj->usecnt, 1, -1) == -1 ? + return atomic_fetch_add_unless(&uobj->usecnt, 1, -1) == -1 ? -EBUSY : 0; + case UVERBS_LOOKUP_WRITE: + /* lock is exclusive */ + return atomic_cmpxchg(&uobj->usecnt, 0, -1) == 0 ? 0 : -EBUSY; + case UVERBS_LOOKUP_DESTROY: + return 0; + } + return 0; +} + +static void assert_uverbs_usecnt(struct ib_uobject *uobj, + enum rdma_lookup_mode mode) +{ +#ifdef CONFIG_LOCKDEP + switch (mode) { + case UVERBS_LOOKUP_READ: + WARN_ON(atomic_read(&uobj->usecnt) <= 0); + break; + case UVERBS_LOOKUP_WRITE: + WARN_ON(atomic_read(&uobj->usecnt) != -1); + break; + case UVERBS_LOOKUP_DESTROY: + break; + } +#endif +} + +/* + * This must be called with the hw_destroy_rwsem locked for read or write, + * also the uobject itself must be locked for write. + * + * Upon return the HW object is guaranteed to be destroyed. + * + * For RDMA_REMOVE_ABORT, the hw_destroy_rwsem is not required to be held, + * however the type's allocat_commit function cannot have been called and the + * uobject cannot be on the uobjects_lists + * + * For RDMA_REMOVE_DESTROY the caller shold be holding a kref (eg via + * rdma_lookup_get_uobject) and the object is left in a state where the caller + * needs to call rdma_lookup_put_uobject. + * + * For all other destroy modes this function internally unlocks the uobject + * and consumes the kref on the uobj. + */ +static int uverbs_destroy_uobject(struct ib_uobject *uobj, + enum rdma_remove_reason reason) +{ + struct ib_uverbs_file *ufile = uobj->ufile; + unsigned long flags; + int ret; + + lockdep_assert_held(&ufile->hw_destroy_rwsem); + assert_uverbs_usecnt(uobj, UVERBS_LOOKUP_WRITE); + + if (uobj->object) { + ret = uobj->uapi_object->type_class->destroy_hw(uobj, reason); + if (ret) { + if (ib_is_destroy_retryable(ret, reason, uobj)) + return ret; + + /* Nothing to be done, dangle the memory and move on */ + WARN(true, + "ib_uverbs: failed to remove uobject id %d, driver err=%d", + uobj->id, ret); + } + + uobj->object = NULL; + } - /* lock is either WRITE or DESTROY - should be exclusive */ - return atomic_cmpxchg(&uobj->usecnt, 0, -1) == 0 ? 0 : -EBUSY; + if (reason == RDMA_REMOVE_ABORT) { + WARN_ON(!list_empty(&uobj->list)); + WARN_ON(!uobj->context); + uobj->uapi_object->type_class->alloc_abort(uobj); + } + + uobj->context = NULL; + + /* + * For DESTROY the usecnt is held write locked, the caller is expected + * to put it unlock and put the object when done with it. Only DESTROY + * can remove the IDR handle. + */ + if (reason != RDMA_REMOVE_DESTROY) + atomic_set(&uobj->usecnt, 0); + else + uobj->uapi_object->type_class->remove_handle(uobj); + + if (!list_empty(&uobj->list)) { + spin_lock_irqsave(&ufile->uobjects_lock, flags); + list_del_init(&uobj->list); + spin_unlock_irqrestore(&ufile->uobjects_lock, flags); + + /* + * Pairs with the get in rdma_alloc_commit_uobject(), could + * destroy uobj. + */ + uverbs_uobject_put(uobj); + } + + /* + * When aborting the stack kref remains owned by the core code, and is + * not transferred into the type. Pairs with the get in alloc_uobj + */ + if (reason == RDMA_REMOVE_ABORT) + uverbs_uobject_put(uobj); + + return 0; } -static struct ib_uobject *alloc_uobj(struct ib_ucontext *context, - const struct uverbs_obj_type *type) +/* + * This calls uverbs_destroy_uobject() using the RDMA_REMOVE_DESTROY + * sequence. It should only be used from command callbacks. On success the + * caller must pair this with rdma_lookup_put_uobject(LOOKUP_WRITE). This + * version requires the caller to have already obtained an + * LOOKUP_DESTROY uobject kref. + */ +int uobj_destroy(struct ib_uobject *uobj) { - struct ib_uobject *uobj = kzalloc(type->obj_size, GFP_KERNEL); + struct ib_uverbs_file *ufile = uobj->ufile; + int ret; + + down_read(&ufile->hw_destroy_rwsem); + + ret = uverbs_try_lock_object(uobj, UVERBS_LOOKUP_WRITE); + if (ret) + goto out_unlock; + + ret = uverbs_destroy_uobject(uobj, RDMA_REMOVE_DESTROY); + if (ret) { + atomic_set(&uobj->usecnt, 0); + goto out_unlock; + } +out_unlock: + up_read(&ufile->hw_destroy_rwsem); + return ret; +} + +/* + * uobj_get_destroy destroys the HW object and returns a handle to the uobj + * with a NULL object pointer. The caller must pair this with + * uverbs_put_destroy. + */ +struct ib_uobject *__uobj_get_destroy(const struct uverbs_api_object *obj, + u32 id, struct ib_uverbs_file *ufile) +{ + struct ib_uobject *uobj; + int ret; + + uobj = rdma_lookup_get_uobject(obj, ufile, id, UVERBS_LOOKUP_DESTROY); + if (IS_ERR(uobj)) + return uobj; + + ret = uobj_destroy(uobj); + if (ret) { + rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_DESTROY); + return ERR_PTR(ret); + } + + return uobj; +} + +/* + * Does both uobj_get_destroy() and uobj_put_destroy(). Returns success_res + * on success (negative errno on failure). For use by callers that do not need + * the uobj. + */ +int __uobj_perform_destroy(const struct uverbs_api_object *obj, u32 id, + struct ib_uverbs_file *ufile, int success_res) +{ + struct ib_uobject *uobj; + + uobj = __uobj_get_destroy(obj, id, ufile); + if (IS_ERR(uobj)) + return PTR_ERR(uobj); + + rdma_lookup_put_uobject(uobj, UVERBS_LOOKUP_WRITE); + return success_res; +} + +/* alloc_uobj must be undone by uverbs_destroy_uobject() */ +static struct ib_uobject *alloc_uobj(struct ib_uverbs_file *ufile, + const struct uverbs_api_object *obj) +{ + struct ib_uobject *uobj; + struct ib_ucontext *ucontext; + + ucontext = ib_uverbs_get_ucontext(ufile); + if (IS_ERR(ucontext)) + return ERR_CAST(ucontext); + + uobj = kzalloc(obj->type_attrs->obj_size, GFP_KERNEL); if (!uobj) return ERR_PTR(-ENOMEM); /* diff --cc drivers/nvme/host/rdma.c index 72e8e8e7d2d7cd,0805fa6215eefb..dc042017c293ad --- a/drivers/nvme/host/rdma.c +++ b/drivers/nvme/host/rdma.c @@@ -374,6 -377,8 +377,8 @@@ nvme_rdma_find_get_device(struct rdma_c goto out_free_pd; } + ndev->num_inline_segments = min(NVME_RDMA_MAX_INLINE_SEGMENTS, - ndev->dev->attrs.max_sge - 1); ++ ndev->dev->attrs.max_send_sge - 1); list_add(&ndev->entry, &device_list); out_unlock: mutex_unlock(&device_list_mutex); diff --cc drivers/nvme/target/rdma.c index 1a642e214a4ce2,e7f43d1e17797f..3533e918ea376b --- a/drivers/nvme/target/rdma.c +++ b/drivers/nvme/target/rdma.c @@@ -382,13 -435,22 +435,21 @@@ static void nvmet_rdma_free_rsps(struc static int nvmet_rdma_post_recv(struct nvmet_rdma_device *ndev, struct nvmet_rdma_cmd *cmd) { - struct ib_recv_wr *bad_wr; + int ret; + ib_dma_sync_single_for_device(ndev->device, cmd->sge[0].addr, cmd->sge[0].length, DMA_FROM_DEVICE); if (ndev->srq) - return ib_post_srq_recv(ndev->srq, &cmd->wr, NULL); - return ib_post_recv(cmd->queue->cm_id->qp, &cmd->wr, NULL); - ret = ib_post_srq_recv(ndev->srq, &cmd->wr, &bad_wr); ++ ret = ib_post_srq_recv(ndev->srq, &cmd->wr, NULL); + else - ret = ib_post_recv(cmd->queue->cm_id->qp, &cmd->wr, &bad_wr); ++ ret = ib_post_recv(cmd->queue->cm_id->qp, &cmd->wr, NULL); + + if (unlikely(ret)) + pr_err("post_recv cmd failed\n"); + + return ret; } static void nvmet_rdma_process_wr_wait_list(struct nvmet_rdma_queue *queue) @@@ -491,7 -553,7 +552,7 @@@ static void nvmet_rdma_queue_response(s rsp->send_sge.addr, rsp->send_sge.length, DMA_TO_DEVICE); - if (ib_post_send(cm_id->qp, first_wr, NULL)) { - if (unlikely(ib_post_send(cm_id->qp, first_wr, &bad_wr))) { ++ if (unlikely(ib_post_send(cm_id->qp, first_wr, NULL))) { pr_err("sending cmd response failed\n"); nvmet_rdma_release_rsp(rsp); } @@@ -805,6 -890,18 +889,18 @@@ nvmet_rdma_find_get_device(struct rdma_ if (!ndev) goto out_err; + inline_page_count = num_pages(port->inline_data_size); + inline_sge_count = max(cm_id->device->attrs.max_sge_rd, - cm_id->device->attrs.max_sge) - 1; ++ cm_id->device->attrs.max_recv_sge) - 1; + if (inline_page_count > inline_sge_count) { + pr_warn("inline_data_size %d cannot be supported by device %s. Reducing to %lu.\n", + port->inline_data_size, cm_id->device->name, + inline_sge_count * PAGE_SIZE); + port->inline_data_size = inline_sge_count * PAGE_SIZE; + inline_page_count = inline_sge_count; + } + ndev->inline_data_size = port->inline_data_size; + ndev->inline_page_count = inline_page_count; ndev->device = cm_id->device; kref_init(&ndev->ref); diff --cc net/rds/ib_recv.c index 4c5a937304b274,d300186b8dc020..2f16146e4ec94e --- a/net/rds/ib_recv.c +++ b/net/rds/ib_recv.c @@@ -416,10 -415,10 +414,10 @@@ void rds_ib_recv_refill(struct rds_conn &recv->r_frag->f_sg)); /* XXX when can this fail? */ - ret = ib_post_recv(ic->i_cm_id->qp, &recv->r_wr, &failed_wr); + ret = ib_post_recv(ic->i_cm_id->qp, &recv->r_wr, NULL); if (ret) { rds_ib_conn_error(conn, "recv post on " - "%pI4 returned %d, disconnecting and " + "%pI6c returned %d, disconnecting and " "reconnecting\n", &conn->c_faddr, ret); break; diff --cc net/rds/ib_send.c index 8ac80c1b051e1a,c8dd3125d39877..2dcb555e6350d1 --- a/net/rds/ib_send.c +++ b/net/rds/ib_send.c @@@ -758,8 -758,7 +758,7 @@@ int rds_ib_xmit_atomic(struct rds_conne { struct rds_ib_connection *ic = conn->c_transport_data; struct rds_ib_send_work *send = NULL; - struct ib_send_wr *failed_wr; + const struct ib_send_wr *failed_wr; - struct rds_ib_device *rds_ibdev; u32 pos; u32 work_alloc; int ret; diff --cc net/smc/smc_wr.c index de1a438cf9773f,f856b8402b3fe5..3c458d27985574 --- a/net/smc/smc_wr.c +++ b/net/smc/smc_wr.c @@@ -246,14 -239,11 +238,10 @@@ int smc_wr_tx_send(struct smc_link *lin ib_req_notify_cq(link->smcibdev->roce_cq_send, IB_CQ_NEXT_COMP | IB_CQ_REPORT_MISSED_EVENTS); pend = container_of(priv, struct smc_wr_tx_pend, priv); - rc = ib_post_send(link->roce_qp, &link->wr_tx_ibs[pend->idx], - &failed_wr); + rc = ib_post_send(link->roce_qp, &link->wr_tx_ibs[pend->idx], NULL); if (rc) { - struct smc_link_group *lgr = - container_of(link, struct smc_link_group, - lnk[SMC_SINGLE_LINK]); - smc_wr_tx_put_slot(link, priv); - smc_lgr_terminate(lgr); + smc_lgr_terminate(smc_get_lgr(link)); } return rc; } [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
On Thu, Aug 16, 2018 at 2:57 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> This time there are many merge conflicts, all due to various tree-wide or RDMA
> subystem wide changes done by various people. The resolution is tricky, as git
> does not highlight two areas that need revision.
I was confused by this, because there were no merge conflicts.
Then I looked at the history, and the reason is that you actually
pushed the for-next branch into the for-linus branch, and so I got the
pre-merged version.
Oh well. I'll look at what the conflicts were, but may end up just
taking your resolution.
Linus
On Fri, Aug 17, 2018 at 12:31 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> Oh well. I'll look at what the conflicts were, but may end up just
> taking your resolution.
Ok, everything but the max_sge thing was trivial. I just took yours.
Linus
On Fri, Aug 17, 2018 at 12:31:00PM -0700, Linus Torvalds wrote: > On Thu, Aug 16, 2018 at 2:57 PM Jason Gunthorpe <jgg@mellanox.com> wrote: > > > > This time there are many merge conflicts, all due to various tree-wide or RDMA > > subystem wide changes done by various people. The resolution is tricky, as git > > does not highlight two areas that need revision. > > I was confused by this, because there were no merge conflicts. > > Then I looked at the history, and the reason is that you actually > pushed the for-next branch into the for-linus branch, and so I got the > pre-merged version. Er, yes, sorry, I made a typo in my email, it should have read "As before I've resolved the conflicts in the for-linus tag and provided the unmerged tree in the for-linus-unmerged tag" > Oh well. I'll look at what the conflicts were, but may end up just > taking your resolution. We often have merge conflicts with RDMA, how do you prefer to get the PR? I'm actually not very clear on this part of the process. Historically, when we have conflicts, I've given you a tag 'for-linus-unmerged', a text description of the conflicts with merge diff hunks, and then a tag 'for-linus' which contains the full resolution I used and checked (based on linux-next). In the past you've taken from both tags, I think, depending on how the resolution looks? I generate the 'git request-pull' against the 'for-linus' tag only because the diffstat of the resolved branch is closer to what you'll actually see during merge. Otherwise there are always misleading netdev changes due to the shared branches with netdev. If you don't care about the diffstat I'll switch to 'for-linus' and 'for-linus-resolved' tags so you won't accidentally get any resolution commit unless you want it. Thanks, Jason
On Fri, Aug 17, 2018 at 1:15 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> We often have merge conflicts with RDMA, how do you prefer to get the
> PR? I'm actually not very clear on this part of the process.
I generally prefer the non-merged version, but with comments about
the conflicts.
In fact, the really preferred model is generally to send me a
non-merged pull request (say "tags/for-linus") but if the conflicts
look even half-way nasty - or simply because you did the merge anyway
just to get the proper diffstat because history is complex - mention
that you have a merged branch for verification (say
"branch/for-linus-merged").
When I get that kind of pull request, I'll just do the merge
resolution myself, and after I've done it I'll generally then do
git checkout -b test-merge
git pull <repoaddress> for-linus-merged
and then just compare the end result with my resolution as an extra
verification step.
I may end up skipping the verification step if everything looks
entirely trivial (and really, if you have no real reason for the
pre-merged branch, don't bother even mentioning it even if you did it
for the diffstat), but in practice whenever somebody does that, I have
no reason not to just do that simple extra verification.
Most of the time the merges are exactly the same, possibly with
whitespace or trivial ordering differences (things like Makefiles and
Kconfig files often have add-add conflicts where the ordering really
doesn't matter between two config options).
And then sometimes it shows that I missed something in my mmerge.
And sometimes it shows that I do so many merges that I actually ended
up noticing something that the submaintainer didn't.
So it can be uninteresting, and when it isn't uninteresting it can go
either way, but so far for the people who do this, I've never been in
the situation where I was *sorry* for the double merge and extra
verification step.
Because when mis-merges happen (they are happily pretty rare) they are
_so_ annoying and can be so hard to figure out later, that I'd rather
spend a bit more time on the merge than have a dodgy one.
Linus
On Fri, Aug 17, 2018 at 12:44 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> Ok, everything but the max_sge thing was trivial. I just took yours.
Oh, and doing the full test compile, I notice there are new warnings.
That is *NOT* ok.
The whole "x is deprecated" is not a useful warning. If you can't
remove something, making it a reminder for yourself for later is not
an acceptable excuse for bothering everybody else with the warning,
and possibly having other issues hidden because by the time there are
expected warnings, people will start ignoring the unexpected ones too.
So "__deprecated" is for stuff that really isn't used any more, to
catch possible new users. People have tried to use it for anything
else, but it's always been a much bigger pain than it is worth.
I've considered just removing the whole deprecation infrastructure. It
has never really worked. Either its used, in which case deprecation
warnings only hide real issues, or it's not used, in which case the
function should just be removed.
Linus
On Fri, Aug 17, 2018 at 01:50:05PM -0700, Linus Torvalds wrote: > On Fri, Aug 17, 2018 at 12:44 PM Linus Torvalds > <torvalds@linux-foundation.org> wrote: > > > > Ok, everything but the max_sge thing was trivial. I just took yours. > > Oh, and doing the full test compile, I notice there are new warnings. > > That is *NOT* ok. I expect to send you a pull request to remove all of this next week. This is fall out from the SMC merge conflict reversion. > The whole "x is deprecated" is not a useful warning. If you can't > remove something, making it a reminder for yourself for later is not > an acceptable excuse for bothering everybody else with the warning, > and possibly having other issues hidden because by the time there are > expected warnings, people will start ignoring the unexpected ones too. > > So "__deprecated" is for stuff that really isn't used any more, to > catch possible new users. People have tried to use it for anything > else, but it's always been a much bigger pain than it is worth. In this case it has become confusing what CONFIG_ENABLE_WARN_DEPRECATED is for. If the kernel is supposed to compile warning free with that config set, then why have the config at all - it does nothing, by definition? Would you like a patch to remove that CONFIG option? Jason
On Fri, Aug 17, 2018 at 01:27:02PM -0700, Linus Torvalds wrote:
> On Fri, Aug 17, 2018 at 1:15 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
> >
> > We often have merge conflicts with RDMA, how do you prefer to get the
> > PR? I'm actually not very clear on this part of the process.
>
> I generally prefer the non-merged version, but with comments about
> the conflicts.
>
> In fact, the really preferred model is generally to send me a
> non-merged pull request (say "tags/for-linus") but if the conflicts
> look even half-way nasty - or simply because you did the merge anyway
> just to get the proper diffstat because history is complex - mention
> that you have a merged branch for verification (say
> "branch/for-linus-merged").
>
> When I get that kind of pull request, I'll just do the merge
> resolution myself, and after I've done it I'll generally then do
>
> git checkout -b test-merge
> git pull <repoaddress> for-linus-merged
>
> and then just compare the end result with my resolution as an extra
> verification step.
>
> I may end up skipping the verification step if everything looks
> entirely trivial (and really, if you have no real reason for the
> pre-merged branch, don't bother even mentioning it even if you did it
> for the diffstat), but in practice whenever somebody does that, I have
> no reason not to just do that simple extra verification.
>
> Most of the time the merges are exactly the same, possibly with
> whitespace or trivial ordering differences (things like Makefiles and
> Kconfig files often have add-add conflicts where the ordering really
> doesn't matter between two config options).
>
> And then sometimes it shows that I missed something in my mmerge.
>
> And sometimes it shows that I do so many merges that I actually ended
> up noticing something that the submaintainer didn't.
>
> So it can be uninteresting, and when it isn't uninteresting it can go
> either way, but so far for the people who do this, I've never been in
> the situation where I was *sorry* for the double merge and extra
> verification step.
>
> Because when mis-merges happen (they are happily pretty rare) they are
> _so_ annoying and can be so hard to figure out later, that I'd rather
> spend a bit more time on the merge than have a dodgy one.
Thanks for the explanation. Doug and I will do this in future.
Jason
On Fri, Aug 17, 2018 at 2:17 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> Would you like a patch to remove that CONFIG option?
I've definitely considered it and would almost certainly just apply a
patch that removed it.
We haven't had this issue for a while (because people stopped using
the deprecated thing), so it ended up not having been an issue lately.
Yours was the first case of deprecation warnings I've seen in a
longish while.
Linus
[-- Attachment #1: Type: text/plain, Size: 1466 bytes --] Hi Linus, Second merge window pull request This is the SMC cleanup promised, a randconfig regression fix, and kernel oops fix. I've learned we have at least one regression this merge window in IPoIB, which people are working on. The following changes since commit 0a3173a5f09bc58a3638ecfd0a80bdbae55e123c: Merge branch 'linus/master' into rdma.git for-next (2018-08-16 14:21:29 -0600) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 845b397a7771f2d3504beff5521f452be0d22eec: IB/ucm: fix UCM link error (2018-08-21 16:56:32 -0600) ---------------------------------------------------------------- Second merge window update - Switch SMC over to rdma_get_gid_attr and remove the compat - Fix a crash in HFI1 with some BIOS's - Fix a randconfig failure ---------------------------------------------------------------- Arnd Bergmann (1): IB/ucm: fix UCM link error Jason Gunthorpe (1): RDMA/smc: Replace ib_query_gid with rdma_get_gid_attr Michael J. Ruhl (1): IB/hfi1: Invalid NUMA node information can cause a divide by zero drivers/infiniband/Kconfig | 2 +- drivers/infiniband/hw/hfi1/affinity.c | 24 +++++++++++++++--- include/rdma/ib_cache.h | 24 ------------------ net/smc/smc_ib.c | 48 ++++++++++++++++++----------------- 4 files changed, 47 insertions(+), 51 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
Hi Linus, This fixes one major regression with NFS and mlx4 due to the max_sg rework in this merge window, tidies a few minor error_path regressions, and various small fixes. The HFI1 driver is broken this cycle due to a regression caused by a PCI change, it is looking like Bjorn will merge a fix for this. Also, the lingering ipoib issue I mentioned earlier still remains unfixed. The following changes since commit 57361846b52bc686112da6ca5368d11210796804: Linux 4.19-rc2 (2018-09-02 14:37:30 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 8f28b178f71cc56eccf2a6e2c0ace17c82f900d7: RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW (2018-09-06 13:16:12 -0600) ---------------------------------------------------------------- First rc pull request - Fix possible FD type confusion crash - Fix a user trigger-able crash in cxgb4 - Fix bad handling of IOMMU resources causing user controlled leaking in bnxt - Add missing locking in ipoib to fix a rare 'stuck tx' situation - Add missing locking in cma - Add two missing missing uverbs cleanups on failure paths, regressions from this merge window - Fix a regression from this merge window that caused RDMA NFS to not work with the mlx4 driver due to the max_sg changes ---------------------------------------------------------------- Aaron Knister (1): IB/ipoib: Avoid a race condition between start_xmit and cm_rep_handler Artemy Kovalyov (1): IB/core: Release object lock if destroy failed Jann Horn (1): RDMA/ucma: check fd type in ucma_migrate_id() Leon Romanovsky (1): RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW Parav Pandit (2): RDMA/uverbs: Fix error cleanup path of ib_uverbs_add_one() RDMA/cma: Protect cma dev list with lock Somnath Kotur (1): bnxt_re: Fix couple of memory leaks that could lead to IOMMU call traces Steve Wise (1): iw_cxgb4: only allow 1 flush on user qps drivers/infiniband/core/cma.c | 12 +++++++----- drivers/infiniband/core/rdma_core.c | 2 ++ drivers/infiniband/core/ucma.c | 6 ++++++ drivers/infiniband/core/uverbs_main.c | 5 ++--- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 2 ++ drivers/infiniband/hw/bnxt_re/qplib_fp.c | 2 +- drivers/infiniband/hw/cxgb4/qp.c | 6 ++++++ drivers/infiniband/hw/mlx4/main.c | 8 +++++--- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 2 ++ 9 files changed, 33 insertions(+), 12 deletions(-)
[-- Attachment #1: Type: text/plain, Size: 3180 bytes --] Hi Greg, Second rc pull request This has a few fixes for smaller regressions introduced this cycle and the usual various driver oops fixes. There is one long standing race bug in the comp_channel that Steve was able to reproduce, track down and fix. I believe the HFI1 driver regression breakage has been fixed in Bjorn's tree and I'm currently expecting the lingering ipoib issue to be fixed in the netdev tree, but patches are still delayed due to various holidays this month. Thanks, Jason The following changes since commit 8f28b178f71cc56eccf2a6e2c0ace17c82f900d7: RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW (2018-09-06 13:16:12 -0600) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 5c5702e259dc66e6fceed5117effab79c186e87a: RDMA/core: Set right entry state before releasing reference (2018-09-25 15:01:09 -0600) ---------------------------------------------------------------- Second rc pull request - Fix a long standing race bug when destroying comp_event file descriptors - srp, hfi1, bnxt_re: Various driver crashes from missing validation and other cases - Fixes for regressions in patches merged this window in the gid cache, devx, ucma and uapi. ---------------------------------------------------------------- Bart Van Assche (1): IB/srp: Avoid that sg_reset -d ${srp_device} triggers an infinite loop Cong Wang (1): ucma: fix a use-after-free in ucma_resolve_ip() Ira Weiny (1): IB/hfi1: Fix SL array bounds check Majd Dibbiny (1): RDMA/uverbs: Fix validity check for modify QP Mark Bloch (1): IB/uverbs: Free uapi on destroy Michael J. Ruhl (3): IB/hfi1: Invalid user input can result in crash IB/hfi1: Fix context recovery when PBC has an UnsupportedVL IB/hfi1: Fix destroy_qp hang after a link down Parav Pandit (1): RDMA/core: Set right entry state before releasing reference Selvin Xavier (1): RDMA/bnxt_re: Fix system crash during RDMA resource initialization Steve Wise (2): cxgb4: fix abort_req_rss6 struct RDMA/uverbs: Atomically flush and mark closed the comp event queue Yishai Hadas (1): IB/mlx5: Destroy the DEVX object upon error flow drivers/infiniband/core/cache.c | 68 ++++++++++----------- drivers/infiniband/core/ucma.c | 2 + drivers/infiniband/core/uverbs_cmd.c | 68 ++++++++++++++------- drivers/infiniband/core/uverbs_main.c | 1 + drivers/infiniband/core/uverbs_uapi.c | 1 + drivers/infiniband/hw/bnxt_re/main.c | 93 ++++++++++++----------------- drivers/infiniband/hw/hfi1/chip.c | 6 +- drivers/infiniband/hw/hfi1/pio.c | 51 ++++++++++++---- drivers/infiniband/hw/hfi1/pio.h | 2 + drivers/infiniband/hw/hfi1/user_sdma.c | 2 +- drivers/infiniband/hw/hfi1/verbs.c | 8 ++- drivers/infiniband/hw/mlx5/devx.c | 5 +- drivers/infiniband/ulp/srp/ib_srp.c | 6 +- drivers/net/ethernet/chelsio/cxgb4/t4_msg.h | 1 - 14 files changed, 184 insertions(+), 130 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
On Thu, Sep 27, 2018 at 12:24:32PM -0600, Jason Gunthorpe wrote:
> Hi Greg,
>
> Second rc pull request
>
> This has a few fixes for smaller regressions introduced this cycle and
> the usual various driver oops fixes.
>
> There is one long standing race bug in the comp_channel that Steve was
> able to reproduce, track down and fix.
>
> I believe the HFI1 driver regression breakage has been fixed in
> Bjorn's tree and I'm currently expecting the lingering ipoib issue to
> be fixed in the netdev tree, but patches are still delayed due to
> various holidays this month.
>
> Thanks,
> Jason
>
> The following changes since commit 8f28b178f71cc56eccf2a6e2c0ace17c82f900d7:
>
> RDMA/mlx4: Ensure that maximal send/receive SGE less than supported by HW (2018-09-06 13:16:12 -0600)
>
> are available in the Git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus
Now pulled, thanks.
greg k-h
[-- Attachment #1: Type: text/plain, Size: 31267 bytes --] Hi Linus, Here are the RDMA patches for 4.20. This time there is one simple git contextual conflict and a conflict that causes a compile failure. The latter is fixed with this patch: diff --git a/drivers/infiniband/hw/mlx5/flow.c b/drivers/infiniband/hw/mlx5/flow.c index e57435cb6d96..f86cdcafdafc 100644 --- a/drivers/infiniband/hw/mlx5/flow.c +++ b/drivers/infiniband/hw/mlx5/flow.c @@ -160,7 +160,7 @@ static int UVERBS_HANDLER(MLX5_IB_METHOD_CREATE_FLOW)( ret = -EINVAL; goto err_out; } - flow_act.has_flow_tag = true; + flow_act.flags |= FLOW_ACT_HAS_TAG; } flow_handler = mlx5_ib_raw_fs_rule_add(dev, fs_matcher, &flow_act, This appears to have arisen because a patch was sent to netdev changing infiniband code that should have gone to the shared tree. The appropriate people have been reminded about the process. Otherwise it has been a reasonable cycle here with not too much major change. This pull request is following your recommendation from 4.19, the for-linus tag has no merge, a for-linus-merged tag has my merge resolution for your reference, and the diffstat below has been replaced with the diffstat from the for-linus-merged tag. The following changes since commit 94a04d1d3d3681adde1a3e022b25dbac7b345b7e: net/mlx5: Expose DC scatter to CQE capability bit (2018-10-16 21:55:29 +0300) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to a60109dc9a954ef9eddba6577e2d2e9e7952e487: IB/mlx5: Add support for extended atomic operations (2018-10-17 11:53:23 -0400) ---------------------------------------------------------------- First merge window pull request This has been a smaller cycle with many of the commits being smallish code fixes and improvements across the drivers. - Driver updates for bnxt_re, cxgb4, hfi1, hns, mlx5, nes, qedr, and rxe - Memory window support in hns - mlx5 user API 'flow mutate/steering' allows accessing the full packet mangling and matching machinery from user space - Support inter-working with verbs API calls in the 'devx' mlx5 user API, and provide options to use devx with less privilege - Modernize the use of syfs and the device interface to use attribute groups and cdev properly for uverbs, and clean up some of the core code's device list management - More progress on net namespaces for RDMA devices - Consolidate driver BAR mmapping support into core code helpers and rework how RDMA holds poitners to mm_struct for get_user_pages cases - First pass to use 'dev_name' instead of ib_device->name - Device renaming for RDMA devices ---------------------------------------------------------------- Alex Estrin (2): IB/sa: simplify return code logic for ib_nl_send_msg() IB/hfi1: Add mtu check for operational data VLs Arnd Bergmann (1): RDMA: Fix dependencies for rdma_user_mmap_io Arseny Maslennikov (3): Documentation/ABI: document /sys/class/net/*/dev_port IB/ipoib: Use dev_port to expose network interface port numbers IB/ipoib: Log sysfs 'dev_id' accesses from userspace Artemy Kovalyov (1): IB/mlx5: Fix MR cache initialization Brian Welty (1): IB/{hfi1, qib, rdmavt}: Move copy SGE logic into rdmavt Chuck Lever (2): RDMA/core: Document CM @event_handler function RDMA/core: Document QP @event_handler function Colin Ian King (3): IB/usnic: fix spelling mistake "unvalid" -> "invalid" IB/mthca: remove redundant inner check of mdev->mthca_flags RDMA/hns: fix spelling mistake "reseved" -> "reserved" Dan Carpenter (1): RDMA/hns: Fix an error code in hns_roce_v2_init_eq_table() Denis Drozdov (1): IB/ipoib: Clear IPCB before icmp_send Dennis Dalessandro (3): IB/hfi1: Rework file list in Makefile IB/hfi1: Prepare resource waits for dual leg IB/hfi1: Ensure ucast_dlid access doesnt exceed bounds Devesh Sharma (3): RDMA/bnxt_re: Drop L2 async events silently RDMA/bnxt_re: Fix qp async event reporting RDMA/bnxt_re: Limit max_pkey to 16 bit value Doug Ledford (4): Merge branch 'mlx5-vport-loopback' into rdma.get RDMA/umem: Minor optimizations RDMA/umem: Fix potential addition overflow Merge remote-tracking branch 'mlx5-next' into for-next Gal Pressman (1): RDMA/mlx5: Remove extraneous error check Guy Levi (1): IB/uverbs: Add IDRs array attribute type to ioctl() interface Hannes Reinecke (1): ib_srp: Remove WARN_ON in srp_terminate_io() Håkon Bugge (3): RDMA/i40iw: Fix incorrect iterator type IB/mlx4: Enable debug print of SMPs IB/mlx4: Add port and TID to MAD debug print Igor Stoppa (1): IB/srp: Remove unnecessary unlikely() Israel Rukshin (1): IB/iser: Fix possible NULL deref at iser_inv_desc() Jack Morgenstein (1): IB/core: Add an unbound WQ type to the new CQ API Jason Gunthorpe (31): Merge branch 'mlx5-flow-mutate' into rdma.git for-next Merge branch 'uverbs_dev_cleanups' into rdma.git for-next IB/rxe: Revise the ib_wr_opcode enum RDMA/uverbs: Remove is_closed from ib_uverbs_file RDMA/uverbs: Fix error unwind in ib_uverbs_add_one RDMA/ucontext: Add a core API for mmaping driver IO memory RDMA/mlx4: Use rdma_user_mmap_io RDMA/mlx5: Use rdma_user_mmap_io RDMA/hns: Use rdma_user_mmap_io RDMA/ucontext: Get rid of the old disassociate flow RDMA/umem: Do not use current->tgid to track the mm_struct RDMA/usnic: Do not use ucontext->tgid RDMA/umem: Use ib_umem_odp in all function signatures connected to ODP RDMA/umem: Make ib_umem_odp into a sub structure of ib_umem RDMA/umem: Get rid of struct ib_umem.odp_data RDMA/umem: Move all the ODP related stuff out of ucontext and into per_mm RDMA/umem: Use umem->owning_mm inside ODP RDMA/umem: Get rid of per_mm->notifier_count RDMA/umem: Handle a half-complete start/end sequence RDMA/umem: Avoid synchronize_srcu in the ODP MR destruction path RDMA/uverbs: Get rid of ucontext->tgid Merge branch 'mellanox/mlx5-next' into rdma.git for-next RDMA: Fully setup the device name in ib_register_device RDMA/core: Use dev_err/dbg/etc instead of pr_* + ibdev->name RDMA/drivers: Use dev_err/dbg/etc instead of pr_* + ibdev->name RDMA/core: Use dev_name instead of ibdev->name RDMA/drivers: Use dev_name instead of ibdev->name RDMA/ulp: Use dev_name instead of ibdev->name RDMA: Fix building with CONFIG_MMU=n RDMA/uverbs: Fix RCU annotation for radix slot deference Merge branch 'for-rc' into rdma.git for-next Joe Perches (1): RDMA/bnxt_re: QPLIB: Add and use #define dev_fmt(fmt) "QPLIB: " fmt Kaike Wan (3): IB/rdmavt: Rename check_send_wqe as setup_wqe IB/hfi1: Add static trace for iowait IB/hfi1: Use VL15 for SM packets Kamal Heib (2): RDMA/rxe: Remove unused addr_same() RDMA: Remove unused parameter from ib_modify_qp_is_ok() Kamenee Arumugam (1): IB/hfi1: PCIe bus width retry Leon Romanovsky (17): RDMA/nes: Delete impossible debug prints RDMA/uverbs: Declare closing variable as boolean RDMA/umem: Restore lockdep check while downgrading lock RDMA/netlink: Simplify netlink listener existence check RDMA/restrack: Un-inline set task implementation RDMA/restrack: Consolidate task name updates in one place RDMA/restrack: Release task struct which was hold by CM_ID object RDMA/restrack: Protect from reentry to resource return path RDMA/cm: Respect returned status of cm_init_av_by_path RDMA/cma: Remove unused timeout_ms parameter from cma_resolve_iw_route() RDMA/core: Align multiple functions to kernel coding style RDMA/core: Annotate timeout as unsigned long RDMA/core: Implement IB device rename function RDMA/nldev: Allow IB device rename through RDMA netlink RDMA/core: Increase total number of RDMA ports across all devices RDMA/uverbs: Use kernel API to allocate uverbs indexes RDMA/umad: Use kernel API to allocate umad indexes Lijun Ou (15): RDMA/hns: Refactor the codes for setting transport opode RDMA/hns: Add atomic support RDMA/hns: Add CM of vlan device support RDMA/hns: Add enable judgement for UD vlan RDMA/hns: Bugfix for reserved qp number RDMA/hns: Submit bad wr when post send wr exception RDMA/hns: Bugfix for CM test RDMA/hns: Limit the size of extend sge of sq RDMA/hns: Configure ecn field of ip header RDMA/hns: Update some attributes of the RoCE device RDMA/hns: Limit extend sq sge num RDMA/hns: Update some fields of qp context RDMA/hns: Support local invalidate for hip08 in kernel space RDMA/hns: Add vlan enable bit for hip08 RDMA/hns: Bugfix for atomic operation Majd Dibbiny (1): IB/mlx5: Change TX affinity assignment in RoCE LAG mode Mark Bloch (23): RDMA/uverbs: Add UVERBS_ATTR_CONST_IN to the specs language RDMA/mlx5: Add a new flow action verb - modify header RDMA/uverbs: Add generic function to fill in flow action object RDMA/mlx5: Add new flow action verb - packet reformat RDMA/mlx5: Extend packet reformat verbs RDMA/mlx5: Add NIC TX steering support RDMA/mlx5: Enable attaching modify header to steering flows RDMA/mlx5: Enable decap and packet reformat on flow tables RDMA/mlx5: Enable attaching DECAP action to steering flows RDMA/mlx5: Enable reformat on NIC RX if supported RDMA/mlx5: Enable attaching packet reformat action to steering flows RDMA/uverbs: Move flow resources initialization RDMA/mlx5: Refactor flow action parsing to be more generic RDMA/mlx5: Don't overwrite action if already set RDMA/mlx5: Refactor raw flow creation RDMA/mlx5: Add flow actions support to raw create flow RDMA/mlx5: Add NIC TX namespace when getting a flow table RDMA/mlx5: Allow creating a matcher for a NIC TX flow table RDMA/mlx5: Refactor transport domain bookkeeping logic RDMA/mlx5: Allow creating RAW ethernet QP with loopback support RDMA/mlx5: Enable vport loopback when user context or QP mandate RDMA/mlx5: Remove superfluous version print RDMA/mlx5: Add support for flow tag to raw create flow Michael J. Ruhl (15): IB/hfi1: Remove duplicated defines IB/hfi1: tune_pcie_caps is arbitrarily placed, poorly IB/hfi1: Get the hfi1_devdata structure as early as possible IB/hfi1: Prepare for new HFI1 MSIx API IB/hfi1: Make the MSIx resource allocation a bit more flexible IB/hfi1: Rework the IRQ API to be more flexible IB/hfi1: Move URGENT IRQ enable to hfi1_rcvctrl() IB/{hfi1, qib, rdmavt}: Schedule multi RC/UC packets instead of posting IB/hfi1: Eliminate races in the SDMA send error path IB/hfi1: Remove race conditions in user_sdma send path IB/hfi1: Right size user_sdma sequence numbers and related variables IB/hfi1: Missing return value in error path for user sdma IB/hfi1: set_intr_bits uses incorrect source for register modification IB/hfi1: Move UnsupportedVL bits definitions to the correct header IB/hfi1: Error path MAD response size is incorrect Moni Shoua (1): IB/mlx5: Allow transition of DCI QP to reset Muhammad Sammar (1): IB/ipoib: Ensure that MTU isn't less than minimum permitted Nathan Chancellor (6): IB/nes: Remove unnecessary parentheses IB/mlx4: Remove unnecessary parentheses iw_cxgb4: Use proper enumerated type in c4iw_bar2_addrs RDMA/qedr: Remove enumerated type qed_roce_ll2_tx_dest IB/mlx4: Avoid implicit enumerated type conversion IB/rxe: Remove unnecessary enum values Parav Pandit (44): IB/rxe: Simplify rxe_find_route() to avoid GID query for netdev IB/rxe: Replace spinlock with rwlock IB/rxe: Change pool state enums to capital letters IB/rxe: Avoid NULL check when search is successful IB/rxe: Refactor lookup memory function RDMA/core: Replace open-coded variant of get_device RDMA/core: Depend on device_add() to add device attributes RDMA/uverbs: Use cdev_device_add() instead of cdev_add() RDMA/uverbs: Use device.groups to initialize device attributes RDMA/core: Fail early if unsupported QP is provided IB/mlx5: Don't hold spin lock while checking device state RDMA/core: Rate limit MAD error messages RDMA/{cma, core}: Avoid callback on rdma_addr_cancel() RDMA/core: No need to protect kfree with spin lock and semaphore RDMA/core: Use simplified list_for_each RDMA/core: Remove context entries from list while unregistering device RDMA/core: Use simpler spin lock irq API from blocking context RDMA/core: Define client_data_lock as rwlock instead of spinlock RDMA/core: Follow correct unregister order between sysfs and cgroup RDMA/core: Assign device ifindex before publishing the device RDMA/core Introduce and use rdma_find_ndev_for_src_ip_rcu RDMA/core: Avoid unnecessary sa_family overwrite RDMA/core: Let protocol specific function typecast sockaddr structure RDMA/core: Introduce and use rdma_set_src_addr() between IPv4 and IPv6 RDMA/core: Rename rdma_copy_addr to rdma_copy_src_l2_addr RDMA/core: Use common code flow for IPv4/6 for addr resolve RDMA/core: Refer to network type instead of device type RDMA/core: Protect against changing dst->dev during destination resolve RDMA/core: Simplify roce_resolve_route_from_path() RDMA/core: Introduce rdma_read_gid_attr_ndev_rcu() to check GID attribute RDMA/core: Consider net ns of gid attribute for RoCE RDMA/core: Acquire and release mmap_sem on page range RDMA/cma: Allow accepting requests for multi port rdma device RDMA/cma: Introduce and use cma_acquire_dev_by_src_ip() RDMA/cma: Introduce and use cma_ib_acquire_dev() RDMA/core: Check error status of rdma_find_ndev_for_src_ip_rcu IB/mlx4: Refer to the device kobject instead of ports_parent RDMA/core: Do not expose unsupported counters RDMA/core: Rename ports_parent to ports_kobj RDMA/core: Allow existing drivers to set one sysfs group per device RDMA/drivers: Use core provided API for registering device attributes RDMA/core: Fix unwinding flow in case of error to register device RDMA/core: Refactor ib_register_device() function RDMA/core: Fix comment for hw stats init for port == 0 Selvin Xavier (9): RDMA/bnxt_re: Add missing spin lock initialization RDMA/bnxt_re: Fix recursive lock warning in debug kernel RDMA/bnxt_re: Remove the unnecessary version macro definition RDMA/bnxt_re: Avoid NULL check after accessing the pointer RDMA/bnxt_re: Avoid accessing nq->bar_reg_iomem in failure case RDMA/bnxt_re: Expose rx discards and drop counters RDMA/bnxt_re: Report out of sequence hw counters RDMA/bnxt_re: Wait for delayed work to finish before device removal RDMA/bnxt_re: Avoid resource leak in case the NQ registration fails Somnath Kotur (1): RDMA/bnxt_re: Prevent driver crash due to NULL pointer in error message print Venkata Sandeep Dhanalakota (2): IB/{hfi1, qib, rdmavt}: Move send completion logic to rdmavt IB/{hfi1, qib, rdmavt}: Move ruc_loopback to rdmavt Vijay Immanuel (4): IB/rxe: vary the source udp port for receive scaling IB/rxe: fix for duplicate request processing and ack psns IB/rxe: avoid back-to-back retries IB/rxe: fixes for rdma read retry Wei Yongjun (1): IB/mthca: Fix error return code in __mthca_init_one() Yishai Hadas (20): IB/mlx5: Use uid as part of PD commands IB/mlx5: Set uid as part of QP creation IB/mlx5: Set uid as part of RQ commands IB/mlx5: Set uid as part of SQ commands IB/mlx5: Set uid as part of SRQ commands IB/mlx5: Set uid as part of DCT commands IB/mlx5: Set uid as part of MCG commands IB/mlx5: Set uid as part of TIR commands IB/mlx5: Set uid as part of TIS commands IB/mlx5: Set uid as part of RQT commands IB/mlx5: Set uid upon PD allocation IB/mlx5: Set uid as part of CQ creation IB/mlx5: Set uid as part of XRCD commands IB/mlx5: Set uid as part of TD commands IB/mlx5: Set valid umem bit on DEVX IB/mlx5: Expose RAW QP device handles to user space IB/mlx5: Manage device uid for DEVX white list commands IB/mlx5: Enable DEVX white list commands IB/mlx5: Enable DEVX on IB IB/mlx5: Verify DEVX object type Yixian Liu (2): RDMA/hns: Add MW support for hip08 RDMA/hns: Add FRMR support for hip08 Yonatan Cohen (4): IB/mlx5: Support scatter to CQE for DC transport type IB/mlx5: Verify that driver supports user flags IB/mlx5: Allow scatter to CQE without global signaled WRs IB/mlx5: Add support for extended atomic operations YueHaibing (4): RDMA/qedr: remove set but not used variable 'ctx' RDMA: Remove duplicated include from ib_addr.h RDMA/core: Properly return the error code of rdma_set_src_addr_rcu RDMA/hns: remove set but not used variable 'dseg' Zhu Yanjun (3): IB/rxe: remove redudant qpn check IB/rxe: replace kvfree with vfree IB/rxe: avoid srq memory leak liuyixian (1): RDMA/hns: Move all prints out of irq handle zhong jiang (2): infiniband: remove redundant condition check before debugfs_remove RDMA/cxgb4: remove redundant null pointer check before kfree_skb Documentation/ABI/testing/sysfs-class-net | 18 + drivers/infiniband/Kconfig | 1 + drivers/infiniband/core/addr.c | 406 +++++++----- drivers/infiniband/core/cache.c | 79 ++- drivers/infiniband/core/cm.c | 9 +- drivers/infiniband/core/cma.c | 251 +++++--- drivers/infiniband/core/cma_configfs.c | 2 +- drivers/infiniband/core/core_priv.h | 12 +- drivers/infiniband/core/cq.c | 10 +- drivers/infiniband/core/device.c | 264 +++++--- drivers/infiniband/core/fmr_pool.c | 5 +- drivers/infiniband/core/iwcm.c | 2 +- drivers/infiniband/core/mad.c | 80 +-- drivers/infiniband/core/mad_priv.h | 2 +- drivers/infiniband/core/netlink.c | 4 +- drivers/infiniband/core/nldev.c | 37 +- drivers/infiniband/core/rdma_core.c | 56 +- drivers/infiniband/core/rdma_core.h | 1 + drivers/infiniband/core/restrack.c | 30 +- drivers/infiniband/core/sa.h | 8 +- drivers/infiniband/core/sa_query.c | 70 +-- drivers/infiniband/core/security.c | 7 +- drivers/infiniband/core/sysfs.c | 101 ++- drivers/infiniband/core/umem.c | 125 ++-- drivers/infiniband/core/umem_odp.c | 621 +++++++++---------- drivers/infiniband/core/user_mad.c | 13 +- drivers/infiniband/core/uverbs.h | 15 +- drivers/infiniband/core/uverbs_cmd.c | 43 +- drivers/infiniband/core/uverbs_ioctl.c | 140 ++++- drivers/infiniband/core/uverbs_main.c | 340 +++++++++-- .../infiniband/core/uverbs_std_types_flow_action.c | 7 +- drivers/infiniband/core/uverbs_uapi.c | 12 + drivers/infiniband/core/verbs.c | 19 +- drivers/infiniband/hw/bnxt_re/bnxt_re.h | 3 +- drivers/infiniband/hw/bnxt_re/hw_counters.c | 11 +- drivers/infiniband/hw/bnxt_re/hw_counters.h | 3 + drivers/infiniband/hw/bnxt_re/ib_verbs.c | 4 +- drivers/infiniband/hw/bnxt_re/main.c | 125 ++-- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 134 ++-- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 88 +-- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 4 + drivers/infiniband/hw/bnxt_re/qplib_res.c | 29 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 77 ++- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 10 + drivers/infiniband/hw/bnxt_re/roce_hsi.h | 5 + drivers/infiniband/hw/cxgb3/iwch_provider.c | 55 +- drivers/infiniband/hw/cxgb4/cm.c | 3 +- drivers/infiniband/hw/cxgb4/cq.c | 2 +- drivers/infiniband/hw/cxgb4/provider.c | 50 +- drivers/infiniband/hw/cxgb4/qp.c | 10 +- drivers/infiniband/hw/hfi1/Makefile | 42 +- drivers/infiniband/hw/hfi1/affinity.c | 4 +- drivers/infiniband/hw/hfi1/chip.c | 486 ++++----------- drivers/infiniband/hw/hfi1/chip.h | 71 ++- drivers/infiniband/hw/hfi1/chip_registers.h | 4 + drivers/infiniband/hw/hfi1/file_ops.c | 4 +- drivers/infiniband/hw/hfi1/hfi.h | 48 +- drivers/infiniband/hw/hfi1/init.c | 113 ++-- drivers/infiniband/hw/hfi1/iowait.c | 94 +++ drivers/infiniband/hw/hfi1/iowait.h | 192 ++++-- drivers/infiniband/hw/hfi1/mad.c | 4 +- drivers/infiniband/hw/hfi1/msix.c | 363 +++++++++++ drivers/infiniband/hw/hfi1/msix.h | 64 ++ drivers/infiniband/hw/hfi1/pcie.c | 74 +-- drivers/infiniband/hw/hfi1/pio.c | 8 - drivers/infiniband/hw/hfi1/qp.c | 100 ++- drivers/infiniband/hw/hfi1/qp.h | 31 +- drivers/infiniband/hw/hfi1/rc.c | 24 +- drivers/infiniband/hw/hfi1/ruc.c | 382 +----------- drivers/infiniband/hw/hfi1/sdma.c | 56 +- drivers/infiniband/hw/hfi1/sdma.h | 21 +- drivers/infiniband/hw/hfi1/sysfs.c | 69 +-- drivers/infiniband/hw/hfi1/trace.h | 3 +- drivers/infiniband/hw/hfi1/trace_iowait.h | 54 ++ drivers/infiniband/hw/hfi1/uc.c | 14 +- drivers/infiniband/hw/hfi1/ud.c | 22 +- drivers/infiniband/hw/hfi1/user_sdma.c | 137 ++--- drivers/infiniband/hw/hfi1/user_sdma.h | 20 +- drivers/infiniband/hw/hfi1/verbs.c | 251 +------- drivers/infiniband/hw/hfi1/verbs.h | 35 +- drivers/infiniband/hw/hfi1/verbs_txreq.h | 11 +- drivers/infiniband/hw/hfi1/vnic_main.c | 12 +- drivers/infiniband/hw/hfi1/vnic_sdma.c | 21 +- drivers/infiniband/hw/hns/Kconfig | 1 + drivers/infiniband/hw/hns/hns_roce_ah.c | 6 +- drivers/infiniband/hw/hns/hns_roce_device.h | 45 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 4 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 629 ++++++++++++------- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 96 ++- drivers/infiniband/hw/hns/hns_roce_main.c | 123 ++-- drivers/infiniband/hw/hns/hns_roce_mr.c | 212 ++++++- drivers/infiniband/hw/hns/hns_roce_qp.c | 41 +- drivers/infiniband/hw/i40iw/i40iw_cm.c | 2 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 73 +-- drivers/infiniband/hw/mlx4/Kconfig | 1 + drivers/infiniband/hw/mlx4/mad.c | 20 +- drivers/infiniband/hw/mlx4/main.c | 182 ++---- drivers/infiniband/hw/mlx4/mcg.c | 2 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 5 - drivers/infiniband/hw/mlx4/qp.c | 8 +- drivers/infiniband/hw/mlx4/sysfs.c | 6 +- drivers/infiniband/hw/mlx5/cmd.c | 129 ++++ drivers/infiniband/hw/mlx5/cmd.h | 14 + drivers/infiniband/hw/mlx5/cq.c | 3 +- drivers/infiniband/hw/mlx5/devx.c | 358 ++++++++--- drivers/infiniband/hw/mlx5/flow.c | 393 +++++++++++- drivers/infiniband/hw/mlx5/ib_rep.c | 3 - drivers/infiniband/hw/mlx5/main.c | 510 ++++++++-------- drivers/infiniband/hw/mlx5/mem.c | 9 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 98 +-- drivers/infiniband/hw/mlx5/mr.c | 14 +- drivers/infiniband/hw/mlx5/odp.c | 123 ++-- drivers/infiniband/hw/mlx5/qp.c | 491 +++++++++++---- drivers/infiniband/hw/mlx5/srq.c | 1 + drivers/infiniband/hw/mthca/mthca_mad.c | 5 +- drivers/infiniband/hw/mthca/mthca_main.c | 6 +- drivers/infiniband/hw/mthca/mthca_provider.c | 44 +- drivers/infiniband/hw/mthca/mthca_qp.c | 4 +- drivers/infiniband/hw/nes/nes.c | 3 - drivers/infiniband/hw/nes/nes.h | 9 - drivers/infiniband/hw/nes/nes_hw.c | 2 +- drivers/infiniband/hw/nes/nes_nic.c | 2 - drivers/infiniband/hw/nes/nes_verbs.c | 63 +- drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 74 +-- drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 3 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 3 +- drivers/infiniband/hw/qedr/main.c | 73 +-- drivers/infiniband/hw/qedr/qedr.h | 2 +- drivers/infiniband/hw/qedr/qedr_roce_cm.c | 4 +- drivers/infiniband/hw/qedr/verbs.c | 5 +- drivers/infiniband/hw/qib/qib.h | 2 +- drivers/infiniband/hw/qib/qib_qp.c | 17 +- drivers/infiniband/hw/qib/qib_rc.c | 18 +- drivers/infiniband/hw/qib/qib_ruc.c | 342 +---------- drivers/infiniband/hw/qib/qib_sdma.c | 2 +- drivers/infiniband/hw/qib/qib_sysfs.c | 101 ++- drivers/infiniband/hw/qib/qib_uc.c | 12 +- drivers/infiniband/hw/qib/qib_ud.c | 17 +- drivers/infiniband/hw/qib/qib_verbs.c | 47 +- drivers/infiniband/hw/qib/qib_verbs.h | 15 +- drivers/infiniband/hw/usnic/usnic_debugfs.c | 3 +- drivers/infiniband/hw/usnic/usnic_ib_main.c | 39 +- drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 74 +-- drivers/infiniband/hw/usnic/usnic_ib_sysfs.h | 2 + drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 16 +- drivers/infiniband/hw/usnic/usnic_transport.c | 2 +- drivers/infiniband/hw/usnic/usnic_uiom.c | 91 ++- drivers/infiniband/hw/usnic/usnic_uiom.h | 3 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 46 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 2 +- drivers/infiniband/sw/rdmavt/Kconfig | 2 +- drivers/infiniband/sw/rdmavt/qp.c | 677 ++++++++++++++++++++- drivers/infiniband/sw/rdmavt/qp.h | 2 + drivers/infiniband/sw/rdmavt/trace_tx.h | 42 ++ drivers/infiniband/sw/rdmavt/vt.c | 15 +- drivers/infiniband/sw/rxe/rxe.c | 13 +- drivers/infiniband/sw/rxe/rxe_comp.c | 39 +- drivers/infiniband/sw/rxe/rxe_cq.c | 4 +- drivers/infiniband/sw/rxe/rxe_loc.h | 5 +- drivers/infiniband/sw/rxe/rxe_mr.c | 35 +- drivers/infiniband/sw/rxe/rxe_net.c | 49 +- drivers/infiniband/sw/rxe/rxe_param.h | 4 - drivers/infiniband/sw/rxe/rxe_pool.c | 55 +- drivers/infiniband/sw/rxe/rxe_pool.h | 6 +- drivers/infiniband/sw/rxe/rxe_qp.c | 18 +- drivers/infiniband/sw/rxe/rxe_recv.c | 4 +- drivers/infiniband/sw/rxe/rxe_req.c | 17 +- drivers/infiniband/sw/rxe/rxe_resp.c | 10 +- drivers/infiniband/sw/rxe/rxe_srq.c | 10 +- drivers/infiniband/sw/rxe/rxe_sysfs.c | 2 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 29 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 4 + drivers/infiniband/ulp/ipoib/ipoib_cm.c | 8 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 36 +- drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 2 +- drivers/infiniband/ulp/iser/iser_initiator.c | 18 +- drivers/infiniband/ulp/iser/iser_verbs.c | 9 +- drivers/infiniband/ulp/isert/ib_isert.c | 2 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.c | 3 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 3 +- drivers/infiniband/ulp/srp/ib_srp.c | 19 +- drivers/infiniband/ulp/srpt/ib_srpt.c | 28 +- include/linux/mlx5/driver.h | 23 +- include/linux/qed/qed_rdma_if.h | 11 +- include/rdma/ib_addr.h | 11 +- include/rdma/ib_cm.h | 2 +- include/rdma/ib_sa.h | 38 +- include/rdma/ib_umem.h | 9 +- include/rdma/ib_umem_odp.h | 75 +-- include/rdma/ib_verbs.h | 149 +++-- include/rdma/rdma_cm.h | 11 +- include/rdma/rdma_netlink.h | 4 +- include/rdma/rdma_vt.h | 51 +- include/rdma/rdmavt_qp.h | 7 + include/rdma/restrack.h | 12 +- include/rdma/uverbs_ioctl.h | 111 +++- include/rdma/uverbs_std_types.h | 51 ++ include/uapi/rdma/ib_user_verbs.h | 20 +- include/uapi/rdma/mlx5-abi.h | 16 + include/uapi/rdma/mlx5_user_ioctl_cmds.h | 21 + include/uapi/rdma/mlx5_user_ioctl_verbs.h | 12 + include/uapi/rdma/rdma_netlink.h | 3 +- include/uapi/rdma/rdma_user_ioctl_cmds.h | 7 +- 204 files changed, 7618 insertions(+), 5190 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
On Thu, Oct 25, 2018 at 2:21 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> This pull request is following your recommendation from 4.19, the
> for-linus tag has no merge, a for-linus-merged tag has my merge
> resolution for your reference, and the diffstat below has been
> replaced with the diffstat from the for-linus-merged tag.
Thanks, looks good. Pulled,
Linus
[-- Attachment #1: Type: text/plain, Size: 2945 bytes --] Hi Linus, First rc pull request This is a bit later than usual for our first -rc but I'm not seeing anything worry-some in the RDMA tree right now. Quiet so far this -rc cycle, only a few internal driver related bugs and a small series fixing ODP bugs found by more advanced testing. The following changes since commit 651022382c7f8da46cb4872a545ee1da6d097d2a: Linux 4.20-rc1 (2018-11-04 15:37:52 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 7bca603a69c0c239654a8f0bcb99e1a60b30040c: RDMA/mlx5: Initialize return variable in case pagefault was skipped (2018-11-29 15:16:45 -0700) ---------------------------------------------------------------- First rc pull request A set of small driver and core code fixes: - Small series fixing longtime user triggerable bugs in the ODP processing inside mlx5 and core code - Various small driver malfunctions and crashes (use after, free, error unwind, implementation bugs) - A misfunction of the RDMA GID cache that can be triggered by the administrator ---------------------------------------------------------------- Artemy Kovalyov (3): IB/mlx5: Skip non-ODP MR when handling a page fault IB/umem: Set correct address to the invalidation function IB/mlx5: Fix page fault handling for MW Kamal Heib (1): RDMA/rdmavt: Fix rvt_create_ah function signature Leon Romanovsky (1): RDMA/mlx5: Initialize return variable in case pagefault was skipped Majd Dibbiny (1): RDMA/mlx5: Fix fence type for IB_WR_LOCAL_INV WR Michael Guralnik (1): IB/mlx5: Avoid load failure due to unknown link width Parav Pandit (1): RDMA/core: Add GIDs while changing MAC addr only for registered ndev Sagi Grimberg (1): iser: set sector for ambiguous mr status errors Selvin Xavier (2): RDMA/bnxt_re: Fix system hang when registration with L2 driver fails RDMA/bnxt_re: Avoid accessing the device structure after it is freed Yishai Hadas (1): net/mlx5: Fix XRC SRQ umem valid bits Yixian Liu (1): RDMA/hns: Bugfix pbl configuration for rereg mr Yonatan Cohen (1): IB/mlx5: Fix XRC QP support after introducing extended atomic drivers/infiniband/core/roce_gid_mgmt.c | 6 +- drivers/infiniband/core/umem_odp.c | 20 ++--- drivers/infiniband/hw/bnxt_re/main.c | 3 + drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 128 ++++++++++++++--------------- drivers/infiniband/hw/mlx5/main.c | 29 +++---- drivers/infiniband/hw/mlx5/odp.c | 10 +++ drivers/infiniband/hw/mlx5/qp.c | 22 ++--- drivers/infiniband/sw/rdmavt/ah.c | 4 +- drivers/infiniband/sw/rdmavt/ah.h | 3 +- drivers/infiniband/ulp/iser/iser_verbs.c | 7 +- include/linux/mlx5/mlx5_ifc.h | 12 ++- 11 files changed, 121 insertions(+), 123 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #1: Type: text/plain, Size: 35374 bytes --] Hi Linus, These are the proposed RDMA patches for 4.21. There is a conflict with the net tree merged in 4.20 and the Mellanox shared tree. DaveM has a resolution for this in his net-next tree already, but if you merge RDMA first, here is the resolution: struct mlx5_ifc_flow_table_eswitch_cap_bits { - u8 reserved_at_0[0x1c]; - u8 fdb_multi_path_to_table[0x1]; - u8 reserved_at_1d[0x1]; + u8 reserved_at_0[0x1a]; u8 multi_fdb_encap[0x1]; - u8 reserved_at_1f[0x1e1]; + u8 reserved_at_1b[0x1]; + u8 fdb_multi_path_to_table[0x1]; + u8 reserved_at_1d[0x3]; + + u8 reserved_at_20[0x1e0]; There is also a conflict in -next with the NFS tree, in this case the correct resolution is to continue to delete net/sunrpc/xprtrdma/fmr_ops.c Things got a bit busy in a rush up to the US holiday season, so we may see a busier early -rc cycle, I've seen a few thing that suggest there are some new bugs now. The major changes to the uapi will hopefully encourage all the driver maintainer do to early testing. This PR is generated off v4.20, typically we've waited until net-next is merged. For this reason you will see below a large number of patches that duplicate ones in net-next from the Mellanox shared branch. The tag for-linus-merged with my merge resolution to your tree is also available to pull. The following changes since commit 40e020c129cfc991e8ab4736d2665351ffd1468d: Linux 4.20-rc6 (2018-12-09 15:31:00 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to f617e5ffe04fd46010b618c9eeadaa04588704c9: RDMA/srpt: Use kmem_cache_free() instead of kfree() (2018-12-22 16:07:47 -0700) ---------------------------------------------------------------- 4.21 merge window pull request This has been a fairly typical cycle, with the usual sorts of driver updates. Several series continue to come through which improve and modernize various parts of the core code, and we finally are starting to get the uAPI command interface cleaned up. - Various driver fixes for bnxt_re, cxgb3/4, hfi1, hns, i40iw, mlx4, mlx5, qib, rxe, usnic - Rework the entire syscall flow for uverbs to be able to run over ioctl(). Finally getting past the historic bad choice to use write() for command execution - More functional coverage with the mlx5 'devx' user API - Start of the HFI1 series for 'TID RDMA' - SRQ support in the hns driver - Support for new IBTA defined 2x lane widths - A big series to consolidate all the driver function pointers into a big struct and have drivers provide a 'static const' version of the struct instead of open coding initialization - New 'advise_mr' uAPI to control device caching/loading of page tables - Support for inline data in SRPT - Modernize how umad uses the driver core and creates cdev's and sysfs files - First steps toward removing 'uobject' from the view of the drivers ---------------------------------------------------------------- Alex Vesker (1): IB/mlx5: Enable TX on a DEVX flow table Allen Pais (1): RDMA/hns: prefer dma_zalloc_coherent to dma_alloc_coherent/memse Andrew Boyer (2): RDMA/rxe: Distinguish between down links and disabled links RDMA/rxe: Add link_down, rdma_sends, rdma_recvs stats counters Artemy Kovalyov (1): IB/mlx5: Allow modify AV in DCI QP to RTR Ashutosh Dixit (1): IB/hfi1: Consider LMC in 16B/bypass ingress packet check Bart Van Assche (15): include/scsi/srp.h: Move response flag definitions into this file include/scsi/srp.h: Add support for immediate data RDMA/srp: Document srp_parse_in() arguments RDMA/srp: Handle large SCSI CDBs correctly RDMA/srp: Propagate ib_post_send() failures to the SCSI mid-layer RDMA/srp: Move srp_rdma_ch.max_ti_iu_len declaration RDMA/srp: Rework handling of the maximum information unit length RDMA/srp: Add support for immediate data RDMA/srpt: Fix a use-after-free in the channel release code RDMA/srpt: Improve coding style conformance RDMA/srpt: Join split strings RDMA/srpt: Make kernel-doc headers complete RDMA/srpt: Remove driver version and release date RDMA/srpt: Rework the srpt_alloc_srq() error path RDMA/srpt: Add support for immediate data Chuck Lever (1): rxe: IB_WR_REG_MR does not capture MR's iova field Colin Ian King (3): IB/qib: fix spelling mistake "colescing" -> "coalescing" RDMA/drivers: Fix spelling mistake "initalize" -> "initialize" IB/usnic: fix spelling mistake "miniumum" -> "minimum" Dan Carpenter (4): IB/qib: Fix an error code in qib_sdma_verbs_send() RDMA/hns: Fix an error code in hns_roce_create_srq() IB/uverbs: Signedness bug in UVERBS_HANDLER() RDMA/mlx5: Signedness bug in UVERBS_HANDLER() Daniel Jurgens (1): net/mlx5: When fetching CQEs return CQE instead of void pointer Danit Goldberg (3): net/mlx5: Expose packet based credit mode IB/mlx5: Add packet based credit mode support IB/mlx5: Report packet based credit mode device capability Devesh Sharma (1): RDMA/bnxt_re: Increase depth of control path command queue Doug Ledford (4): Merge branch 'write-handler-consistent-flow' into for-next Merge 'mlx5-next' into mlx5-devx Merge branch 'mlx5-devx' into wip/dl-for-next IB/mlx5: Fix compile issue when ODP disabled Eli Britstein (3): net/mlx5: Introduce extended destination fields net/mlx5: E-Switch, Change vhca id valid bool field to bit flag net/mlx5: Support extended destination format in flow steering command Eyal Davidovich (1): net/mlx5: Add monitor commands layout and event data Gal Pressman (7): net/mlx5: Fix offsets of ifc reserved fields RDMA/vmw_pvrdma: Use atomic memory allocation in create AH RDMA/mlx5: Fix function name typo 'fileds' -> 'fields' RDMA: Mark if create address handle is in a sleepable context RDMA: Mark if destroy address handle is in a sleepable context RDMA/bnxt_re: Make use of create AH sleepable flag RDMA/bnxt_re: Make use of destroy AH sleepable flag Guy Levi (2): IB/mlx5: Use fragmented SRQ's buffer for in-kernel users IB/mlx5: Use fragmented QP's buffer for in-kernel users Huy Nguyen (1): IB/mlx5: Fix long EEH recover time with NVMe offloads Jason Gunthorpe (38): Merge branch 'mlx5-next' into rdma.git RDMA/mlx5: Do not generate the uabi specs unconditionally RDMA/uverbs: Use a linear list to describe the compiled-in uapi RDMA/uverbs: Factor out the add/get pattern into a helper RDMA/uverbs: Add helpers to mark uapi functions as unsupported RDMA/mlx5: Use the uapi disablement APIs instead of code RDMA/uverbs: Require all objects to have a driver destroy function RDMA/verbs: Store the write/write_ex uapi entry points in the uverbs_api RDMA/uverbs: Convert the write interface to use uverbs_api RDMA/uverbs: Make all the method functions in uverbs_cmd static RDMA/uverbs: Check for NULL driver methods for every write call RDMA/uverbs: Add missing driver_data RDMA/uverbs: Replace ib_uverbs_file with uverbs_attr_bundle for write RDMA/uverbs: Make write() handlers return 0 on success RDMA/uverbs: Do not pass ib_uverbs_file to ioctl methods RDMA/uverbs: Add structure size info to write commands RDMA/uverbs: Prohibit write() calls with too small buffers RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write_ex RDMA/uverbs: Use uverbs_attr_bundle to pass udata for write RDMA/uverbs: Use uverbs_attr_bundle to pass udata for ioctl() RDMA/uverbs: Remove out_len checks that are now done by the core RDMA/uverbs: Use uverbs_attr_bundle to pass ucore for write/write_ex RDMA/uverbs: Get rid of the 'callback' scheme in the compat path RDMA/uverbs: Use uverbs_response() for remaining response copying RDMA/uverbs: Use uverbs_request() for request copying RDMA/uverbs: Use uverbs_request() and core for write_ex handlers RDMA/uverbs: Fill in the response for IB_USER_VERBS_EX_CMD_MODIFY_QP RDMA/uverbs: Simplify ib_uverbs_ex_query_device RDMA/uverbs: Add a simple iterator interface for reading the command RDMA/uverbs: Use the iterator for ib_uverbs_unmarshall_recv() RDMA/uverbs: Do not check the input length on create_cq/qp paths RDMA/uverbs: Use only attrs for the write() handler signature Merge branch 'mlx5-packet-credit-fc' into rdma.git Merge tag 'v4.20-rc6' into rdma.git for-next RDMA/uverbs: Implement an ioctl that can call write and write_ex handlers RDMA/uverbs: Add a method to introspect handles in a context Merge branch 'mlx5-next' into rdma.git IB/mlx5: Fix wrong error unwind Kaike Wan (4): IB/hfi1: Dump pio info for non-user send contexts IB/hfi1: Ignore LNI errors before DC8051 transitions to Polling state IB/hfi1: Unreserve a reserved request when it is completed IB/hfi1: Add OPFN and TID RDMA capability bits Kamal Heib (20): RDMA/core: Introduce ib_device_ops RDMA/bnxt_re: Initialize ib_device_ops struct RDMA/cxgb3: Initialize ib_device_ops struct RDMA/cxgb4: Initialize ib_device_ops struct RDMA/hfi1: Initialize ib_device_ops struct RDMA/hns: Initialize ib_device_ops struct RDMA/i40iw: Initialize ib_device_ops struct RDMA/mlx4: Initialize ib_device_ops struct RDMA/mlx5: Initialize ib_device_ops struct RDMA/mthca: Initialize ib_device_ops struct RDMA/nes: Initialize ib_device_ops struct RDMA/ocrdma: Initialize ib_device_ops struct RDMA/qedr: Initialize ib_device_ops struct RDMA/qib: Initialize ib_device_ops struct RDMA/usnic: Initialize ib_device_ops struct RDMA/vmw_pvrdma: Initialize ib_device_ops struct RDMA/rxe: Initialize ib_device_ops struct RDMA/rdmavt: Initialize ib_device_ops struct RDMA: Start use ib_device_ops RDMA/i40iw: Make sure to initialize ib_device_ops Leon Romanovsky (22): RDMA/qib: Remove all occurrences of BUG_ON() RDMA/restrack: Track ucontext RDMA/uverbs: Annotate alloc/deallloc paths with context tracking RDMA/nldev: Export to user space number of contexts net/mlx5: Align SRQ licenses and copyright information net/mlx5: Remove dead transobj code net/mlx5: Remove not-used lib/eq.h header file net/mlx5: Remove references to local mlx5_core functions net/mlx5: Move SRQ functions to RDMA part RDMA/mlx5: Remove SRQ signature global flag RDMA/mlx5: Use stages for callback to setup and release DEVX RDMA/mlx5: Update SRQ functions signatures to mlx5_ib format RDMA/mlx5: Initialize SRQ tables on mlx5_ib RDMA/mlx5: Unfold create RMP function RDMA/mlx5: Unfold modify RMP function RDMA/uverbs: Fix typo in string concatenation macro RDMA/mlx5: Fail early if user tries to create flows on IB representors RDMA/uverbs: Optimize clearing of extra bytes in response RDMA/ocrdma: Use PCI-ID as an identification in debugfs net/mlx5: Continue driver initialization despite debugfs failure RDMA/mlx5: Delete unreachable handle_atomic code by simplifying SW completion net/mlx5: Add shared Q counter bits Lijun Ou (9): RDMA/hns: Eanble SRQ capacity for hip08 RDMA/hns: Init SRQ table for hip08 RDMA/hns: Add SRQ support for hip08 kernel mode RDMA/hns: Add SRQ asynchronous event support RDMA/hns: Init qp context when modify qp from reset to init RDMA/hns: Encapsulate and simplify qp state transition RDMA/hns: Fix the bug while use multi-hop of pbl RDMA/hns: Update posting & querying mailbox RDMA/hns: Bugfix for RoCE loopback test Mark Bloch (2): RDMA/mlx5: Attach a DEVX counter via raw flow creation IB/mlx5: Unify e-switch representors load approach between uplink and VFs Michael Guralnik (9): IB/core: Add CapabilityMask2 to port attributes IB/core: Add 2X port width IB/core: Add new IB rates IB/mlx5: Report CapabilityMask2 in ib_query_port IB/mlx5: Add HDR speed support to query port IB/mlx5: Add 2X width support to query_port IB/core: uverbs copy to struct or zero helper RDMA/nldev: Expose port_cap_flags2 IB/core: Move query port to ioctl Michael J. Ruhl (2): IB/hfi1: Limit VNIC use of SDMA engines to the available count IB/hfi1: Incorrect sizing of sge for PIO will OOPs Mike Marciniszyn (3): IB/hfi1: Allow the driver to initialize QP priv struct IB/hfi1: Close VNIC sdma_progress sleep window IB/hfi1: Reduce lock contention on iowait_lock for sdma and pio Mikhael Goikhman (3): net/mlx5: Rework handling of port module events net/mlx5: Add support for PCIe power slot exceeded error in PME net/mlx5: Add support for plugged-disabled cable status in PME Mitko Haralanov (1): IB/hfi1: Correctly process FECN and BECN in packets Moni Shoua (10): net/mlx5: Release resource on error flow net/mlx5: Add interface to hold and release core resources net/mlx5: Enumerate page fault types IB/mlx5: Lock QP during page fault handling net/mlx5: Return success for PAGE_FAULT_RESUME in internal error state net/mlx5: Use multi threaded workqueue for page fault handling IB/mlx5: Improve ODP debugging messages IB/uverbs: Add helper to get array size from ptr attribute IB/uverbs: Add support to advise_mr IB/mlx5: Add advise_mr() support Or Gerlitz (2): net/mlx5: Remove the get protocol device interface entry IB/mlx5: Simplify netdev unbinding Oz Shlomo (1): net/mlx5: Revise gre and nvgre key formats Parav Pandit (11): RDMA/core: Remove unused header files mm.h, socket.h, scatterlist.h RDMA/cma: Move cma module specific functions to cma_priv.h RDMA/core: Sync unregistration with netlink commands RDMA/core: Delete RoCE GID in hw when corresponding IP is deleted RDMA/uverbs: Add an ioctl method to destroy an object IB/rxe: Make counters thread safe IB/umad: Simplify and avoid dynamic allocation of class IB/umad: Avoid destroying device while it is accessed IB/umad: Refactor code to use cdev_device_add() IB/umad: Use class_groups and let core create class file IB/umad: Start using dev_groups of class Parvi Kaustubhi (2): MAINTAINERS: Update usnic driver maintainers IB/usnic: Fix potential deadlock Qian Cai (1): mlx4: Use snprintf instead of complicated strcpy Rami Rosen (1): IB/uverbs: fix a typo Roi Dayan (2): net/mlx5: Split the activate lag function into two routines net/mlx5: Add lag affinity info to log Sabyasachi Gupta (2): infiniband/hw/cxgb3/cxio_hal.c: Use dma_zalloc_coherent infiniband/hw/cxgb4/qp.c: Use dma_zalloc_coherent Saeed Mahameed (38): net/mlx5: EQ, Use the right place to store/read IRQ affinity hint net/mlx5: EQ, Remove unused fields and structures net/mlx5: EQ, No need to store eq index as a field net/mlx5: EQ, Remove redundant completion EQ list lock net/mlx5: EQ, Move all EQ logic to eq.c net/mlx5: EQ, Create all EQs in one place net/mlx5: EQ, irq_info and rmap belong to eq_table net/mlx5: EQ, Privatize eq_table and friends net/mlx5: EQ, Different EQ types net/mlx5: EQ, Generic EQ {net,IB}/mlx5: Move Page fault EQ and ODP logic to RDMA net/mlx5: EQ, Make EQE access methods inline net/mlx5: EQ, Introduce atomic notifier chain subscription API net/mlx5: FWTrace, Use async events chain net/mlx5: FPGA, Use async events chain net/mlx5: Clock, Use async events chain net/mlx5: E-Switch, Use async events chain net/mlx5: FWPage, Use async events chain net/mlx5: CmdIF, Use async events chain net/mlx5: Resource tables, Use async events chain net/mlx5: CQ ERR, Use async events chain net/mlx5: Device events, Use async events chain net/mlx5: Improve core device events handling net/mlx5: Driver events notifier API net/mlx5: Allow port change event to be forwarded to driver notifiers chain net/mlx5e: Use the new mlx5 core notifier API net/mlx5: Forward all mlx5 events to mlx5 notifiers chain IB/mlx5: Use the new mlx5 core notifier API net/mlx5: Remove unused events callback and logic IB/mlx5: Handle raw port change event rather than the software version net/mlx5: Allow forwarding event type general event as is IB/mlx5: Handle raw delay drop general event net/mlx5: Remove all deprecated software versions of FW events net/mlx5: Forward QP/WorkQueues resource events net/mlx5: Forward SRQ resource events net/mlx5: Debug print for forwarded async events net/mlx5: Move flow counters data structures from flow steering header net/mlx5: Use lowercase 'X' for hex values Sagi Grimberg (3): rxe: fix error completion wr_id and qp_num mlx5: remove support for ib_get_vector_affinity i40iw: remove support for ib_get_vector_affinity Selvin Xavier (1): RDMA/bnxt_re: Query HWRM Interface version from FW Shahar Klein (2): net/mlx5: E-Switch, Introduce flow counter affinity net/mlx5: Fold the modify lag code into function Shamir Rabinovitch (2): RDMA/restrack: Resource-tracker should not use uobject pointers RDMA: Cleanup undesired pd->uobject usage Steve Wise (2): iw_cxgb4: only reconnect with MPAv1 if the peer aborts RDMA/iwcm: Don't copy past the end of dev_name() string Tariq Toukan (2): net/mlx5: Use helper to get CQE opcode IB/mlx5: Use helper to get CQE opcode Ursula Braun (1): mlx4: trigger IB events needed by SMC Wei Yongjun (1): RDMA/srpt: Use kmem_cache_free() instead of kfree() Yishai Hadas (11): net/mlx5: Update mlx5_ifc with DEVX UCTX capabilities bits IB/core: Introduce UVERBS_IDR_ANY_OBJECT IB/core: Enable getting an object type from a given uobject IB/mlx5: Enable modify and query verbs objects via DEVX IB/mlx5: Enforce DEVX privilege by firmware IB/mlx5: Update the supported DEVX commands IB/mlx5: Allow XRC usage via verbs in DEVX context IB/mlx5: Introduce uid as part of alloc/dealloc transport domain IB/mlx5: Use uid as part of alloc/dealloc transport domain IB/mlx5: Use the correct commands for UMEM and UCTX allocation IB/mlx5: Allocate the per-port Q counter shared when DEVX is supported Yue Haibing (1): IB/srpt: Drop pointless static qualifier in srpt_make_tpg() YueHaibing (3): IB/mlx5: Remove duplicated include from mlx5_ib.h net/mlx5: Remove duplicated include from eswitch.c IB/mlx4: Remove set but not used variable 'pd' Yuval Shaia (9): IB/core: Make function ib_fmr_pool_unmap return void IB/rxe: Make function rxe_pool_cleanup return void IB/rxe: Utilize generic function to validate port number RDMA/core: Validate port number in query_pkey verb IB/rxe: Fix incorrect cache cleanup in error flow IB/{mlx5,ocrdma,qedr,rxe}: Omit port validation from IB verbs IB/mlx4: Remove unneeded NULL check IB/mlx4: Utilize macro to calculate SQ spare size IB/rxe: Reuse code which sets port state Zhu Yanjun (3): IB/rxe: clean skb queue directly IB/rxe: move the variable into the function that uses it IB/rxe: make rxe_unregister_device void kbuild test robot (1): RDMA/uverbs: fix ptr_ret.cocci warnings MAINTAINERS | 2 + drivers/infiniband/core/Makefile | 2 +- drivers/infiniband/core/agent.c | 4 +- drivers/infiniband/core/cache.c | 17 +- drivers/infiniband/core/cm.c | 6 +- drivers/infiniband/core/cma.c | 2 +- drivers/infiniband/core/cma_configfs.c | 3 + drivers/infiniband/core/cma_priv.h | 28 + drivers/infiniband/core/core_priv.h | 47 +- drivers/infiniband/core/cq.c | 8 +- drivers/infiniband/core/device.c | 166 +- drivers/infiniband/core/fmr_pool.c | 8 +- drivers/infiniband/core/iwcm.c | 12 +- drivers/infiniband/core/mad.c | 22 +- drivers/infiniband/core/mad_rmpp.c | 11 +- drivers/infiniband/core/nldev.c | 34 +- drivers/infiniband/core/opa_smi.h | 4 +- drivers/infiniband/core/rdma_core.c | 54 +- drivers/infiniband/core/rdma_core.h | 79 +- drivers/infiniband/core/restrack.c | 51 +- drivers/infiniband/core/sa_query.c | 5 +- drivers/infiniband/core/security.c | 8 +- drivers/infiniband/core/smi.h | 4 +- drivers/infiniband/core/sysfs.c | 28 +- drivers/infiniband/core/ucm.c | 2 +- drivers/infiniband/core/umem_odp.c | 14 +- drivers/infiniband/core/user_mad.c | 244 +-- drivers/infiniband/core/uverbs.h | 86 +- drivers/infiniband/core/uverbs_cmd.c | 2074 ++++++++++---------- drivers/infiniband/core/uverbs_ioctl.c | 59 +- drivers/infiniband/core/uverbs_main.c | 242 +-- drivers/infiniband/core/uverbs_std_types.c | 118 +- .../infiniband/core/uverbs_std_types_counters.c | 20 +- drivers/infiniband/core/uverbs_std_types_cq.c | 23 +- drivers/infiniband/core/uverbs_std_types_device.c | 224 +++ drivers/infiniband/core/uverbs_std_types_dm.c | 17 +- .../infiniband/core/uverbs_std_types_flow_action.c | 31 +- drivers/infiniband/core/uverbs_std_types_mr.c | 76 +- drivers/infiniband/core/uverbs_uapi.c | 514 ++++- drivers/infiniband/core/verbs.c | 194 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 17 +- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 3 +- drivers/infiniband/hw/bnxt_re/main.c | 128 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 34 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 59 +- drivers/infiniband/hw/bnxt_re/qplib_res.h | 1 + drivers/infiniband/hw/bnxt_re/qplib_sp.c | 10 +- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 6 +- drivers/infiniband/hw/cxgb3/cxio_hal.c | 3 +- drivers/infiniband/hw/cxgb3/iwch_provider.c | 66 +- drivers/infiniband/hw/cxgb4/cm.c | 3 +- drivers/infiniband/hw/cxgb4/provider.c | 74 +- drivers/infiniband/hw/cxgb4/qp.c | 7 +- drivers/infiniband/hw/hfi1/Makefile | 1 + drivers/infiniband/hw/hfi1/chip.c | 47 +- drivers/infiniband/hw/hfi1/chip_registers.h | 4 + drivers/infiniband/hw/hfi1/common.h | 19 +- drivers/infiniband/hw/hfi1/debugfs.c | 49 + drivers/infiniband/hw/hfi1/driver.c | 72 +- drivers/infiniband/hw/hfi1/hfi.h | 35 +- drivers/infiniband/hw/hfi1/mad.c | 2 +- drivers/infiniband/hw/hfi1/pio.c | 31 +- drivers/infiniband/hw/hfi1/pio.h | 5 + drivers/infiniband/hw/hfi1/qp.c | 20 +- drivers/infiniband/hw/hfi1/rc.c | 32 +- drivers/infiniband/hw/hfi1/sdma.c | 10 +- drivers/infiniband/hw/hfi1/sdma.h | 1 + drivers/infiniband/hw/hfi1/tid_rdma.c | 48 + drivers/infiniband/hw/hfi1/tid_rdma.h | 13 + drivers/infiniband/hw/hfi1/uc.c | 2 +- drivers/infiniband/hw/hfi1/ud.c | 33 +- drivers/infiniband/hw/hfi1/user_sdma.c | 5 +- drivers/infiniband/hw/hfi1/verbs.c | 28 +- drivers/infiniband/hw/hfi1/verbs.h | 2 + drivers/infiniband/hw/hfi1/vnic_main.c | 4 +- drivers/infiniband/hw/hfi1/vnic_sdma.c | 18 +- drivers/infiniband/hw/hns/Makefile | 2 +- drivers/infiniband/hw/hns/hns_roce_ah.c | 3 +- drivers/infiniband/hw/hns/hns_roce_alloc.c | 2 + drivers/infiniband/hw/hns/hns_roce_cmd.h | 4 + drivers/infiniband/hw/hns/hns_roce_common.h | 3 - drivers/infiniband/hw/hns/hns_roce_device.h | 97 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 41 +- drivers/infiniband/hw/hns/hns_roce_hem.h | 2 + drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 13 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 574 +++++- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 142 +- drivers/infiniband/hw/hns/hns_roce_main.c | 185 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 141 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 37 +- drivers/infiniband/hw/hns/hns_roce_srq.c | 457 +++++ drivers/infiniband/hw/i40iw/i40iw_cm.c | 2 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 127 +- drivers/infiniband/hw/mlx4/ah.c | 6 +- drivers/infiniband/hw/mlx4/alias_GUID.c | 2 +- drivers/infiniband/hw/mlx4/mad.c | 28 +- drivers/infiniband/hw/mlx4/main.c | 205 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 5 +- drivers/infiniband/hw/mlx4/qp.c | 31 +- drivers/infiniband/hw/mlx4/srq.c | 10 +- drivers/infiniband/hw/mlx4/sysfs.c | 12 +- drivers/infiniband/hw/mlx5/Makefile | 4 +- drivers/infiniband/hw/mlx5/ah.c | 4 +- drivers/infiniband/hw/mlx5/cmd.c | 19 + drivers/infiniband/hw/mlx5/cmd.h | 2 + drivers/infiniband/hw/mlx5/cq.c | 114 +- drivers/infiniband/hw/mlx5/devx.c | 233 ++- drivers/infiniband/hw/mlx5/flow.c | 73 +- drivers/infiniband/hw/mlx5/ib_rep.c | 15 +- drivers/infiniband/hw/mlx5/mad.c | 18 +- drivers/infiniband/hw/mlx5/main.c | 602 +++--- drivers/infiniband/hw/mlx5/mlx5_ib.h | 77 +- drivers/infiniband/hw/mlx5/mr.c | 42 +- drivers/infiniband/hw/mlx5/odp.c | 454 ++++- drivers/infiniband/hw/mlx5/qp.c | 447 +++-- drivers/infiniband/hw/mlx5/srq.c | 73 +- drivers/infiniband/hw/mlx5/srq.h | 73 + .../core/srq.c => infiniband/hw/mlx5/srq_cmd.c} | 302 +-- drivers/infiniband/hw/mthca/mthca_dev.h | 9 +- drivers/infiniband/hw/mthca/mthca_mad.c | 7 +- drivers/infiniband/hw/mthca/mthca_provider.c | 158 +- drivers/infiniband/hw/mthca/mthca_qp.c | 22 +- drivers/infiniband/hw/mthca/mthca_srq.c | 29 +- drivers/infiniband/hw/nes/nes_cm.c | 2 +- drivers/infiniband/hw/nes/nes_verbs.c | 71 +- drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 4 +- drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 4 +- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 92 +- drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 5 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 19 +- drivers/infiniband/hw/qedr/main.c | 103 +- drivers/infiniband/hw/qedr/verbs.c | 25 +- drivers/infiniband/hw/qedr/verbs.h | 4 +- drivers/infiniband/hw/qib/qib_iba6120.c | 1 - drivers/infiniband/hw/qib/qib_iba7220.c | 2 - drivers/infiniband/hw/qib/qib_iba7322.c | 3 - drivers/infiniband/hw/qib/qib_init.c | 1 - drivers/infiniband/hw/qib/qib_mad.c | 3 +- drivers/infiniband/hw/qib/qib_pcie.c | 2 +- drivers/infiniband/hw/qib/qib_sdma.c | 5 +- drivers/infiniband/hw/qib/qib_ud.c | 1 - drivers/infiniband/hw/qib/qib_user_sdma.c | 1 - drivers/infiniband/hw/qib/qib_verbs.c | 13 +- drivers/infiniband/hw/usnic/usnic_ib_main.c | 63 +- drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c | 2 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 14 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 3 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 82 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 8 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 4 +- drivers/infiniband/sw/rdmavt/ah.c | 5 +- drivers/infiniband/sw/rdmavt/ah.h | 3 +- drivers/infiniband/sw/rdmavt/mad.c | 3 +- drivers/infiniband/sw/rdmavt/qp.c | 9 +- drivers/infiniband/sw/rdmavt/vt.c | 299 +-- drivers/infiniband/sw/rxe/rxe.h | 6 +- drivers/infiniband/sw/rxe/rxe_comp.c | 6 + drivers/infiniband/sw/rxe/rxe_hw_counters.c | 9 +- drivers/infiniband/sw/rxe/rxe_hw_counters.h | 3 + drivers/infiniband/sw/rxe/rxe_loc.h | 7 +- drivers/infiniband/sw/rxe/rxe_net.c | 16 +- drivers/infiniband/sw/rxe/rxe_pool.c | 30 +- drivers/infiniband/sw/rxe/rxe_pool.h | 2 +- drivers/infiniband/sw/rxe/rxe_qp.c | 11 +- drivers/infiniband/sw/rxe/rxe_req.c | 3 +- drivers/infiniband/sw/rxe/rxe_resp.c | 33 +- drivers/infiniband/sw/rxe/rxe_sysfs.c | 18 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 129 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 8 +- drivers/infiniband/ulp/ipoib/ipoib_ib.c | 4 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 4 +- drivers/infiniband/ulp/iser/iser_memory.c | 9 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c | 8 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 8 +- drivers/infiniband/ulp/srp/ib_srp.c | 159 +- drivers/infiniband/ulp/srp/ib_srp.h | 20 +- drivers/infiniband/ulp/srpt/ib_srpt.c | 283 ++- drivers/infiniband/ulp/srpt/ib_srpt.h | 44 +- drivers/net/ethernet/mellanox/mlx5/core/Makefile | 4 +- drivers/net/ethernet/mellanox/mlx5/core/cmd.c | 54 +- drivers/net/ethernet/mellanox/mlx5/core/cq.c | 15 +- drivers/net/ethernet/mellanox/mlx5/core/debugfs.c | 11 + drivers/net/ethernet/mellanox/mlx5/core/dev.c | 162 +- .../mellanox/mlx5/core/diag/fs_tracepoint.c | 8 +- .../ethernet/mellanox/mlx5/core/diag/fw_tracer.c | 27 +- .../ethernet/mellanox/mlx5/core/diag/fw_tracer.h | 2 +- drivers/net/ethernet/mellanox/mlx5/core/en.h | 6 +- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 51 +- drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 10 +- drivers/net/ethernet/mellanox/mlx5/core/en_stats.c | 17 +- drivers/net/ethernet/mellanox/mlx5/core/en_tx.c | 2 +- drivers/net/ethernet/mellanox/mlx5/core/eq.c | 1260 ++++++------ drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 44 +- drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 3 +- .../ethernet/mellanox/mlx5/core/eswitch_offloads.c | 8 +- drivers/net/ethernet/mellanox/mlx5/core/events.c | 325 +++ .../net/ethernet/mellanox/mlx5/core/fpga/conn.c | 2 +- .../net/ethernet/mellanox/mlx5/core/fpga/core.c | 38 +- .../net/ethernet/mellanox/mlx5/core/fpga/core.h | 11 +- drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 83 +- drivers/net/ethernet/mellanox/mlx5/core/fs_core.h | 23 - .../net/ethernet/mellanox/mlx5/core/fs_counters.c | 23 + drivers/net/ethernet/mellanox/mlx5/core/health.c | 29 +- drivers/net/ethernet/mellanox/mlx5/core/lag.c | 59 +- .../net/ethernet/mellanox/mlx5/core/lib/clock.c | 24 +- .../net/ethernet/mellanox/mlx5/core/lib/clock.h | 3 - drivers/net/ethernet/mellanox/mlx5/core/lib/eq.h | 98 + drivers/net/ethernet/mellanox/mlx5/core/lib/mlx5.h | 36 + drivers/net/ethernet/mellanox/mlx5/core/main.c | 351 +--- .../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 39 +- .../net/ethernet/mellanox/mlx5/core/pagealloc.c | 44 +- drivers/net/ethernet/mellanox/mlx5/core/port.c | 57 - drivers/net/ethernet/mellanox/mlx5/core/qp.c | 86 +- drivers/net/ethernet/mellanox/mlx5/core/transobj.c | 109 - drivers/net/ethernet/mellanox/mlx5/core/wq.h | 2 +- fs/cifs/smbdirect.c | 2 +- include/linux/mlx5/cq.h | 2 +- include/linux/mlx5/device.h | 23 +- include/linux/mlx5/driver.h | 254 +-- include/linux/mlx5/eq.h | 72 + include/linux/mlx5/fs.h | 8 +- include/linux/mlx5/mlx5_ifc.h | 229 ++- include/linux/mlx5/port.h | 3 - include/linux/mlx5/qp.h | 5 + include/linux/mlx5/srq.h | 72 - include/linux/mlx5/transobj.h | 11 - include/rdma/ib_fmr_pool.h | 2 +- include/rdma/ib_mad.h | 10 + include/rdma/ib_verbs.h | 584 +++--- include/rdma/rdma_vt.h | 7 + include/rdma/restrack.h | 17 +- include/rdma/uverbs_ioctl.h | 251 ++- include/rdma/uverbs_named_ioctl.h | 13 +- include/rdma/uverbs_std_types.h | 73 +- include/scsi/srp.h | 26 +- include/uapi/rdma/hfi/hfi1_user.h | 6 +- include/uapi/rdma/hns-abi.h | 6 + include/uapi/rdma/ib_user_ioctl_cmds.h | 84 + include/uapi/rdma/ib_user_ioctl_verbs.h | 16 + include/uapi/rdma/ib_user_verbs.h | 18 +- include/uapi/rdma/mlx5-abi.h | 2 + include/uapi/rdma/mlx5_user_ioctl_cmds.h | 1 + include/uapi/rdma/rdma_netlink.h | 3 + net/rds/ib.c | 4 +- net/sunrpc/xprtrdma/fmr_ops.c | 2 +- 247 files changed, 10427 insertions(+), 6528 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Mon, 24 Dec 2018 22:16:14 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/5d24ae67a961c51beb255a28c9c417d9710247c2 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 2197 bytes --] Hi Linus, Second merge window pull request This could also be applied after rc1. It is a small collection of fixes posted over the holiday break. The merge error with advise_mr is worth fixing right away so the other, more minor, things are coming along for the ride. The following changes since commit 5d24ae67a961c51beb255a28c9c417d9710247c2: Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma (2018-12-28 14:57:10 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 9c6260de505b63638dd86fcc33849b17f6146d94: infiniband/qedr: Potential null ptr dereference of qp (2019-01-02 16:08:38 -0700) ---------------------------------------------------------------- 4.21 merge window 2nd pull request Over the break a few defects were found, so this is a -rc style pull request of various small things that have been posted. - An attempt to shorten RCU grace period driven delays showed crashes during heavier testing, and has been entirely reverted - A missed merge/rebase error between the advise_mr and ib_device_ops series - Some small static analysis driven fixes from Julia and Aditya - Missed ability to create a XRC_INI in the devx verbs interop series ---------------------------------------------------------------- Aditya Pakki (2): infiniband: bnxt_re: qplib: Check the return value of send_message infiniband/qedr: Potential null ptr dereference of qp Julia Lawall (1): IB/ipoib: drop useless LIST_HEAD Leon Romanovsky (1): Revert "IB/mlx5: Fix long EEH recover time with NVMe offloads" Moni Shoua (1): IB/core: Add advise_mr to the list of known ops Yishai Hadas (1): IB/mlx5: Allow XRC INI usage via verbs in DEVX context drivers/infiniband/core/device.c | 1 + drivers/infiniband/hw/bnxt_re/qplib_sp.c | 5 ++--- drivers/infiniband/hw/mlx5/mr.c | 19 +++---------------- drivers/infiniband/hw/mlx5/qp.c | 3 ++- drivers/infiniband/hw/qedr/qedr_iw_cm.c | 2 ++ drivers/infiniband/ulp/ipoib/ipoib_ib.c | 1 - 6 files changed, 10 insertions(+), 21 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 4 Jan 2019 05:00:10 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/3954e1d0310e30e743431b58918825c4d4fe8812 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 2318 bytes --] Hi Linus, Just a small batch of patches for -rc today. Thanks The following changes since commit bfeffd155283772bbe78c6a05dec7c0128ee500c: Linux 5.0-rc1 (2019-01-06 17:08:20 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to d6f4a21f309dfe10a5693ad236358dd6fcc46f7a: RDMA/uverbs: Mark ioctl responses with UVERBS_ATTR_F_VALID_OUTPUT (2019-01-14 14:02:22 -0700) ---------------------------------------------------------------- First 5.0 rc pull request Not much so far, but I'm feeling like the 2nd PR -rc will be larger than this. We have the usual batch of bugs and two fixes to code merged this cycle. - Restore valgrind support for the ioctl verbs interface merged this window, and fix a missed error code on an error path from that conversion - A user reported crash on obsolete mthca hardware - pvrdma was using the wrong command opcode toward the hypervisor - NULL pointer crash regression when dumping rdma-cm over netlink - Be conservative about exposing the global rkey ---------------------------------------------------------------- Adit Ranadive (1): RDMA/vmw_pvrdma: Return the correct opcode when creating WR Gal Pressman (1): RDMA/uverbs: Fix post send success return value in case of error Jason Gunthorpe (1): RDMA/uverbs: Mark ioctl responses with UVERBS_ATTR_F_VALID_OUTPUT Leon Romanovsky (2): RDMA/nldev: Don't expose unsafe global rkey to regular user RDMA/mthca: Clear QP objects during their allocation Steve Wise (1): RDMA/cma: Add cm_id restrack resource based on kernel or user cm_id type drivers/infiniband/core/cma.c | 5 ++- drivers/infiniband/core/nldev.c | 4 -- drivers/infiniband/core/rdma_core.h | 2 + drivers/infiniband/core/uverbs_cmd.c | 11 ++++- drivers/infiniband/core/uverbs_ioctl.c | 62 ++++++++++++++++++++++------ drivers/infiniband/core/uverbs_main.c | 1 + drivers/infiniband/hw/mthca/mthca_provider.c | 4 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 35 +++++++++++++++- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 6 +++ include/uapi/rdma/vmw_pvrdma-abi.h | 1 + 10 files changed, 109 insertions(+), 22 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 18 Jan 2019 03:56:44 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/d7393226d15add056285c8fc86723d54d7e0c77d Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 3449 bytes --] Hi Linus, Second rc pull request Still expecting some more bug fixes for new stuff merged in 5.0, but at this rate that stuff is looking likely to go into 5.1. The following changes since commit 49a57857aeea06ca831043acbb0fa5e0f50602fd: Linux 5.0-rc3 (2019-01-21 13:14:44 +1300) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 7b21b69ab203136fdc153c7707fa6c409e523c2e: IB/uverbs: Fix OOPs in uverbs_user_mmap_disassociate (2019-01-29 13:57:22 -0700) ---------------------------------------------------------------- Second 5.0 rc pull request Still not much going on, the usual set of OOP's and driver updates this time. - Fix two uapi breakage regressions in mlx5 drivers - Various oops fixes in hfi1, mlx4, umem, uverbs, and ipoib - A protocol bug fix for hfi1 preventing it from implementing the verbs API properly, and a compatability fix for EXEC STACK user programs - Fix missed refcounting in the 'advise_mr' patches merged this cycle. - Fix wrong use of the uABI in the hns SRQ patches merged this cycle. ---------------------------------------------------------------- Artemy Kovalyov (1): RDMA/umem: Add missing initialization of owning_mm Brian Welty (1): IB/{hfi1, qib}: Fix WC.byte_len calculation for UD_SEND_WITH_IMM Feras Daoud (1): IB/ipoib: Fix for use-after-free in ipoib_cm_tx_start Jack Morgenstein (1): IB/mlx4: Fix using wrong function to destroy sqp AHs under SRIOV Jason Gunthorpe (2): RDMA/device: Expose ib_device_try_get(() IB/mlx5: Fix how advise_mr() launches async work Lijun Ou (1): RDMA/hns: Update the kernel header file of hns Mark Bloch (2): RDMA/mlx5: Fix check for supported user flags when creating a QP RDMA/mlx5: Fix flow creation on representors Michael J. Ruhl (1): IB/hfi1: Remove overly conservative VM_EXEC flag check Mike Marciniszyn (1): IB/hfi1: Add limit test for RC/UC send via loopback Yishai Hadas (3): IB/uverbs: Fix OOPs upon device disassociation IB/uverbs: Fix ioctl query port to consider device disassociation IB/uverbs: Fix OOPs in uverbs_user_mmap_disassociate drivers/infiniband/core/core_priv.h | 1 - drivers/infiniband/core/device.c | 13 +++++++++--- drivers/infiniband/core/umem_odp.c | 3 +++ drivers/infiniband/core/uverbs_main.c | 25 +++++++++++++++-------- drivers/infiniband/core/uverbs_std_types_device.c | 8 +++++++- drivers/infiniband/hw/hfi1/file_ops.c | 2 +- drivers/infiniband/hw/hfi1/ud.c | 1 - drivers/infiniband/hw/hns/hns_roce_srq.c | 10 +++++++-- drivers/infiniband/hw/mlx4/mad.c | 6 +++--- drivers/infiniband/hw/mlx5/flow.c | 3 +-- drivers/infiniband/hw/mlx5/odp.c | 10 ++++----- drivers/infiniband/hw/mlx5/qp.c | 16 ++++++++------- drivers/infiniband/hw/qib/qib_ud.c | 1 - drivers/infiniband/sw/rdmavt/qp.c | 7 ++++++- drivers/infiniband/ulp/ipoib/ipoib.h | 1 - drivers/infiniband/ulp/ipoib/ipoib_cm.c | 3 +-- include/rdma/ib_verbs.h | 24 ++++++++++++++++++++-- include/uapi/rdma/hns-abi.h | 5 +++++ 18 files changed, 97 insertions(+), 42 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 1 Feb 2019 17:41:11 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/5eeb63359b1ec4914d9898e24aa357ff930e6ee1 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 1307 bytes --] Hi Linus, Small set of three regression fixing patches, things are looking pretty good here. Thanks The following changes since commit 8834f5600cf3c8db365e18a3d5cac2c2780c81e5: Linux 5.0-rc5 (2019-02-03 13:48:04 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to f09ef134a7ca3f0d2ce485a757f5b79809ebb803: iw_cxgb4: cq/qp mask depends on bar2 pages in a host page (2019-02-15 09:39:39 -0700) ---------------------------------------------------------------- Third 5.0 rc pull request Three smallish patches fixing regressions in v5.0: - Fix cxgb4 to work again with non-4k page sizes - NULL pointer oops in SRP during sg_reset ---------------------------------------------------------------- Bart Van Assche (1): RDMA/srp: Rework SCSI device reset handling Raju Rangoju (2): cxgb4: Export sge_host_page_size to ulds iw_cxgb4: cq/qp mask depends on bar2 pages in a host page drivers/infiniband/hw/cxgb4/device.c | 15 +++++++++++++-- drivers/infiniband/ulp/srp/ib_srp.c | 10 ---------- drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c | 1 + drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.h | 1 + 4 files changed, 15 insertions(+), 12 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 21 Feb 2019 23:07:20 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/168bd29830e8ebbffcd70d2af50249dca088e1a8 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 37100 bytes --] Hi Linus, These are the proposed RDMA patches for 5.1. There is a small conflict with the net tree in drivers/infiniband/hw/mlx4/Kconfig that is resolved by deleting both lines. There may also be conflicts with Matt's xarray tree that changes some of the xarray APIs. RDMA has gained some new users of those APIs this cycle. Looking at the patchworks I'm thinking we might have a second merge window pull request with some bug fixes and other rcish things that were sent a little too late for this. The next merge window may also see up to three new RDMA drivers, which is quite unusual. Thanks, Jason The tag for-linus-merged with my merge resolution to your tree is also available to pull. The following changes since commit 08e8676f1607925adf36e399f0faa8ce3b10bb86: IB/mlx5: Add support for 50Gbps per lane link modes (2019-02-14 12:14:42 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to fca22e7e595f1799cfbfdfa13e16d48ece0d136c: net/mlx5: ODP support for XRC transport is not enabled by default in FW (2019-03-06 15:53:09 -0400) ---------------------------------------------------------------- 5.1 Merge Window Pull Request This has been a slightly more active cycle than normal with ongoing core changes and quite a lot of collected driver updates. - Various driver fixes for bnxt_re, cxgb4, hns, mlx5, pvrdma, rxe - A new data transfer mode for HFI1 giving higher performance - Significant functional and bug fix update to the mlx5 On-Demand-Paging MR feature - A chip hang reset recovery system for hns - Change mm->pinned_vm to an atomic64 - Update bnxt_re to support a new 57500 chip - A sane netlink 'rdma link add' method for creating rxe devices and fixing the various unregistration race conditions in rxe's unregister flow - Allow lookup up objects by an ID over netlink - Various reworking of the core to driver interface: * Drivers should not assume umem SGLs are in PAGE_SIZE chunks * ucontext is accessed via udata not other means * Start to make the core code responsible for object memory allocation * Drivers should convert struct device to struct ib_device via a helper * Drivers have more tools to avoid use after unregister problems ---------------------------------------------------------------- Adit Ranadive (1): RDMA/vmw_pvrdma: Support upto 64-bit PFNs Bart Van Assche (5): IB/core: Declare local functions 'static' IB/mlx5: Declare local functions 'static' RDMA/srp: Increase max_segment_size IB/core: Remove ib_sg_dma_address() and ib_sg_dma_len() IB/mlx5: Do not use hw_access_flags for be and CPU data Colin Ian King (2): RDMA/bnxt_re: fix or'ing of data into an uninitialized struct member RDMA: Fix allocation failure on pointer pd Dan Carpenter (2): RDMA/bnxt_re: fix a size calculation RDMA/core: Fix a WARN() message Daniel Jurgens (4): IB/core: Unregister notifier before freeing MAD security IB/core: Fix potential memory leak while creating MAD agents IB/core: Eliminate a hole in MAD agent struct IB/core: Don't register each MAD agent for LSM notifier Danit Goldberg (1): IB/cma: Define option to set ack timeout and pack tos_set Davidlohr Bueso (8): mm: make mm->pinned_vm an atomic64 counter drivers/mic/scif: do not use mmap_sem drivers/IB,qib: optimize mmap_sem usage drivers/IB,hfi1: do not se mmap_sem drivers/IB,usnic: reduce scope of mmap_sem drivers/IB,core: reduce scope of mmap_sem Documentation/infiniband: update from locked to pinned_vm drivers/IB,qib: Fix pinned/locked limit check in qib_get_user_pages() Devesh Sharma (9): RDMA/bnxt_re: Add chip context to identify 57500 series RDMA/bnxt_re: Add 64bit doorbells for 57500 series RDMA/bnxt_re: Skip backing store allocation for 57500 series RDMA/bnxt_re: Enable GSI QP support for 57500 series RDMA/bnxt_re: Add extended psn structure for 57500 adapters RDMA/bnxt_re: Update kernel user abi to pass chip context RDMA/bnxt_en: Enable RDMA driver support for 57500 chip bnxt_re: fix the regression due to changes in alloc_pbl bnxt_re: Clean cq for kernel consumers only Doug Ledford (6): Merge branch 'opfn' into hfi1-tid Merge branch 'tid-read' into hfi1-tid Merge branch 'tid-write' into hfi1-tid Merge branch 'hfi1-tid' into wip/dl-for-next Merge branch 'wip/dl-for-next' into for-next Merge branch 'for-next' of git://git.kernel.org/.../rdma/rdma into for-next Erez Alfasi (1): IB/ipoib: Use __func__ instead of function's name Gal Pressman (6): IB/usnic: Fix out of bounds index check in query pkey RDMA/ocrdma: Fix out of bounds index check in query pkey RDMA/qedr: Fix out of bounds index check in query pkey RDMA: Add indication for in kernel API support to IB device IB/usnic: Remove stub functions IB/mlx5: Simplify WQE count power of two check Greg Kroah-Hartman (8): infiniband: cxgb4: no need to check return value of debugfs_create functions infiniband: hfi1: drop crazy DEBUGFS_SEQ_FILE_CREATE() macro infiniband: hfi1: no need to check return value of debugfs_create functions infiniband: qib: no need to check return value of debugfs_create functions infiniband: mlx5: no need to check return value of debugfs_create functions infiniband: ocrdma: no need to check return value of debugfs_create functions infiniband: usnic: no need to check return value of debugfs_create functions infiniband: ipoib: no need to check return value of debugfs_create functions Gustavo A. R. Silva (6): IB/cm: Use struct_size() in kmalloc() IB/usnic: Use struct_size() in kmalloc() IB/core: Use struct_size() in kzalloc() IB/srp: Use struct_size() in kzalloc() RDMA/mlx5: Replace kzalloc with kcalloc IB/hfi1: Add missing break in switch statement Håkon Bugge (1): IB/mlx4: Increase the timeout for CM cache Ira Weiny (1): RDMA/qib: Use GUP longterm for PSM page pining Israel Rukshin (1): IB/iser: Pass the correct number of entries for dma mapped SGL Jason Gunthorpe (27): IB/{core,hw}: Have ib_umem_get extract the ib_ucontext from ib_udata RDMA/device: Use __ib_device_get_by_name() in ib_device_rename() RDMA/iw_cxgb4: Drop __GFP_NOFAIL Merge branch 'devx-async' into k.o/for-next Merge branch 'mlx5-next into rdma.git for-next Merge tag 'v5.0-rc5' into rdma.git for-next RDMA/device: Check that the rename is nop under the lock RDMA/device: Ensure that security memory is always freed RDMA/device: Call ib_cache_release_one() only from ib_device_release() RDMA/device: Get rid of reg_state RDMA/device: Use an ida instead of a free page in alloc_name RDMA/devices: Use xarray to store the clients RDMA/devices: Use xarray to store the client_data RDMA/devices: Re-organize device.c locking lib/scatterlist: Provide a DMA page iterator RDMA/uverbs: Fix an error flow in ib_uverbs_poll_cq RDMA: Add and use rdma_for_each_port RDMA/device: Consolidate ib_device per_port data into one place RDMA/cache: Move the cache per-port data into the main ib_port_data RDMA/device: Add ib_device_set_netdev() as an alternative to get_netdev RDMA/device: Add ib_device_get_by_netdev() RDMA/rxe: Use ib_device_get_by_netdev() instead of open coding RDMA/device: Provide APIs from the core code to help unregistration RDMA/rxe: Use driver_unregister and new unregistration API RDMA/rxe: Add ib_device_get_by_name() and use it in rxe RDMA/rxe: Close a race after ib_register_device Merge branch 'mlx5-next' into rdma.git for-next John Hubbard (2): RDMA/umem: minor bug fix in error handling path RDMA/umem: Revert broken 'off by one' fix Kaike Wan (46): IB/hfi1: Add OPFN helper functions for TID RDMA feature IB/hfi1: OPFN interface IB/hfi1, IB/rdmavt: Allow for extending of QP's s_ack_queue IB/hfi1: Integrate OPFN into RC transactions IB/hfi1: Add static trace for OPFN IB/hfi: Move RC functions into a header file IB/hfi1: TID RDMA flow allocation IB/hfi1: TID RDMA RcvArray programming and TID allocation IB/hfi1: Add the counter n_tidwait IB/hfi1: Add static trace for flow and TID management functions IB/hfi1: Add functions to build TID RDMA READ request IB/hfi1: Set PbcInsertHcrc for TID RDMA packets IB/hfi1: Add functions to receive TID RDMA READ request IB/hfi1: Add a function to build TID RDMA READ response IB/hfi1: Add functions to receive TID RDMA READ response IB/hfi1: Add TID RDMA handlers IB/hfi1: Add functions for restarting TID RDMA READ request IB/hfi1: Increment the retry timeout value for TID RDMA READ request IB/hfi1: Integrate TID RDMA READ protocol into RC protocol IB/hfi1: Add interlock between a TID RDMA request and other requests IB/hfi1: Enable TID RDMA READ protocol IB/hfi1: Add static trace for TID RDMA READ protocol IB/hfi1: Build TID RDMA WRITE request IB/hfi1: Allow for extra entries in QP's s_ack_queue IB/hfi1: Add an s_acked_ack_queue pointer IB/hfi1: Add functions to receive TID RDMA WRITE request IB/hfi1: Add a function to build TID RDMA WRITE response IB/hfi1: Add TID resource timer IB/hfi1: Add a function to receive TID RDMA WRITE response IB/hfi1: Add a function to build TID RDMA WRITE DATA packet IB/hfi1: Add a function to receive TID RDMA WRITE DATA packet IB/hfi1: Add a function to build TID RDMA ACK packet IB/hfi1: Add a function to receive TID RDMA ACK packet IB/hfi1: Add TID RDMA retry timer IB/hfi1: Add a function to build TID RDMA RESYNC packet IB/hfi1: Add a function to receive TID RDMA RESYNC packet IB/hfi1: Resend the TID RDMA WRITE DATA packets IB/hfi1: Add the TID second leg send packet builder IB/hfi1: Add the TID second leg ACK packet builder IB/hfi1: Add the dual leg code IB/hfi1: Add TID RDMA WRITE functionality into RDMA verbs IB/hfi1: Add interlock between TID RDMA WRITE and other requests IB/hfi1: Enable TID RDMA WRITE protocol IB/hfi1: Add static trace for TID RDMA WRITE protocol IB/hfi1: Prioritize the sending of ACK packets IB/hfi1: Fix a build warning for TID RDMA READ Kamal Heib (5): IB/ipoib: Make ipoib_intercept_dev_id_attr() static IB/mlx5: Make mlx5_ib_stage_odp_cleanup() static IB/mlx5: Remove set but not used variable RDMA/rxe: Move rxe_init_av() to rxe_av.c RDMA/rxe: Improve loopback marking Leon Romanovsky (35): RDMA: Clean structures from CONFIG_INFINIBAND_ON_DEMAND_PAGING RDMA/core: Don't depend device ODP capabilities on kconfig option RDMA/mlx5: Introduce and reuse helper to identify ODP MR RDMA/mlx5: Embed into the code flow the ODP config option RDMA/mlx5: Delete declaration of already removed function RDMA: Clear PD objects during their allocation RDMA: Clear CQ objects during their allocation RDMA: Clear CTX objects during their allocation RDMA: Provide safe ib_alloc_device() function RDMA/nldev: Dynamically generate restrack dumpit callbacks RDMA/nldev: Factor out the PID namespace check RDMA/nldev: Prepare CAP_NET_ADMIN checks for .doit callbacks RDMA/core: Simplify restrack interface RDMA/restrack: Refactor user/kernel restrack additions RDMA/core: Use the ops infrastructure to keep all callbacks in one place RDMA/cma: Remove CM_ID statistics provided by rdma-cm module RDMA/core: Share driver structure size with core RDMA: Handle PD allocations by IB/core RDMA/nes: Remove useless usecnt variable and redundant memset RDMA/cxgb4: Remove kref accounting for sync operation RDMA/restrack: Convert internal DB from hash to XArray RDMA/restrack: Translate from ID to restrack object RDMA/nldev: Add resource tracker doit callback RDMA/restrack: Reduce scope of synchronization lock while updating DB RDMA/restrack: Hide restrack DB from IB/core net/mlx5: Factor out HCA capabilities functions RDMA/restrack: Prepare restrack_root to addition of extra fields per-type RDMA/nldev: Share with user-space object IDs RDMA/nldev: Provide parent IDs for PD, MR and QP objects RDMA/nldev: Connect QP number to .doit callback RDMA/nldev: Don't expose number of not-visible entries RDMA/iwcm: Fix string truncation error RDMA/uverbs: Store PR pointer before it is overwritten RDMA: Handle ucontext allocations by IB/core RDMA/uverbs: Don't do double free of allocated PD Lijun Ou (7): RDMA/hns: Fix the bug with updating rq head pointer when flush cqe RDMA/hns: Bugfix for the scene without receiver queue RDMA/hns: Add constraint on the setting of local ACK timeout RDMA/hns: Modify the pbl ba page size for hip08 RDMA/hns: RDMA/hns: Assign rq head pointer when enable rq record db RDMA/hns: Configure capacity of hns device RDMA/hns: Modify qp&cq&pd specification according to UM Maor Gottlieb (1): IB/mlx5: Don't override existing ip_protocol Mark Bloch (1): RDMA/mlx5: Fix memory leak in case we fail to add an IB device Masahiro Yamada (2): infiniband: remove unneeded header search paths infiniband: prefix header search paths with $(srctree)/ Max Gurtovoy (1): IB/iser: Fix dma_nents type definition Michael J. Ruhl (4): IB/{hfi1,qib}: Cleanup open coded sge sizing IB/{hfi1, qib, rvt} Cleanup open coded sge usage IB/rdmavt: Fix concurrency panics in QP post_send and modify to error IB/hfi1: Close race condition on user context disable and close Mike Marciniszyn (2): IB/rdmavt: Add wc_flags and wc_immdata to cq entry trace IB/rdmavt: Fix loopback send with invalidate ordering Mitko Haralanov (1): IB/hfi1: OPFN support discovery Moni Shoua (17): IB/mlx5: Ranges in implicit ODP MR inherit its write access IB/mlx5: Remove dead code IB/mlx5: Fix the locking of SRQ objects in ODP events IB/core: Allocate a bit for SRQ ODP support IB/uverbs: Expose XRC ODP device capabilities IB/mlx5: Remove useless check in ODP handler IB/mlx5: Clean mlx5_ib_mr_responder_pfault_handler() signature IB/mlx5: Add XRC initiator ODP support IB/mlx5: Let read user wqe also from SRQ buffer IB/mlx5: Add ODP SRQ support IB/mlx5: Advertise SRQ ODP support for supported transports IB/mlx5: Advertise XRC ODP support IB/mlx5: Protect against prefetch of invalid MR IB/mlx5: Validate correct PD before prefetch MR IB/core: Abort page fault handler silently during owning process exit IB/mlx5: Set correct write permissions for implicit ODP MR net/mlx5: ODP support for XRC transport is not enabled by default in FW Myungho Jung (1): RDMA/cma: Rollback source IP address if failing to acquire device Noa Osherovich (1): RDMA/core: Verify that memory window type is legal Parav Pandit (9): RDMA: Rename port_callback to init_port RDMA: Introduce and use rdma_device_to_ibdev() IB/core: Simplify rdma cgroup registration IB/umad: Avoid additional device reference during open()/close() IB/umad: Do not check status of nonseekable_open() IB/mlx5: Consider vlan of lower netdev for macvlan GID entries RDMA/core: Use simpler device_del() instead of device_unregister() RDMA/core: Introduce and use ib_setup_port_attrs() RDMA/core: Move device addition deletion to device.c Parvi Kaustubhi (2): IB/usnic: Fix locking when unregistering IB/usnic: Fix deadlock Potnuri Bharat Teja (1): iw_cxgb4: Check for send WR also while posting write with completion WR Raju Rangoju (4): RDMA/iw_cxgb4: Fix the unchecked ep dereference cxgb4: add tcb flags and tcb rpl struct iw_cxgb4: complete the cached SRQ buffers iw_cxgb4: fix srqidx leak during connection abort Shamir Rabinovitch (4): IB/{core,uverbs}: Move ib_umem_xxx functions from ib_core to ib_uverbs IB/uverbs: Add ib_ucontext to uverbs_attr_bundle sent from ioctl and cmd flows IB/verbs: Add helper function rdma_udata_to_drv_context IB/{hw,sw}: Remove 'uobject->context' dependency in object creation APIs Shaobo He (1): cxgb4: kfree mhp after the debug print Shiraz, Saleem (12): RDMA/bnxt_re: Use for_each_sg_dma_page iterator on umem SGL RDMA/mthca: Use for_each_sg_dma_page iterator on umem SGL RDMA/i40iw: Use for_each_sg_dma_page iterator on umem SGL RDMA/hns: Use for_each_sg_dma_page iterator on umem SGL RDMA/cxgb4: Use for_each_sg_dma_page iterator on umem SGL RDMA/cxgb3: Use for_each_sg_dma_page iterator on umem SGL RDMA/vmw_pvrdma: Use for_each_sg_dma_page iterator on umem SGL RDMA/qedr: Use for_each_sg_dma_page iterator on umem SGL RDMA/ocrdma: Use for_each_sg_dma_page iterator on umem SGL RDMA/rxe: Use for_each_sg_page iterator on umem SGL RDMA/rdmavt: Adapt to handle non-uniform sizes on umem SGEs RDMA/nes: Use for_each_sg_dma_page iterator for umem SGL Steve Wise (12): iw_cxgb*: kzalloc the iwcm verbs struct RDMA/IWPM: refactor the IWPM message attribute names RDMA/IWPM: Support no port mapping requirements RDMA/iwpm: move kdoc comments to functions RDMA/cma: listening device cm_ids should inherit tos RDMA/iwcm: add tos_set bool to iw_cm struct iw_cxgb4: use listening ep tos when accepting new connections iw_cxgb4: use tos when importing the endpoint iw_cxgb4: use tos when finding ipv6 routes RDMA/core: Add RDMA_NLDEV_CMD_NEWLINK/DELLINK support rdma_rxe: Use netlink messages to add/delete links lib/irq_poll: Support schedules in non-interrupt contexts Wei Hu (Xavier) (3): RDMA/hns: Fix the Oops during rmmod or insmod ko when reset occurs RDMA/hns: Fix the chip hanging caused by sending mailbox&CMQ during reset RDMA/hns: Fix the chip hanging caused by sending doorbell during reset Wei Yongjun (1): iw_cxgb4: Make function read_tcb() static Xiaofei Tan (1): RDMA/hns: Add the process of AEQ overflow for hip08 Yangyang Li (4): RDMA/hns: Add SCC context allocation support for hip08 RDMA/hns: Add SCC context clr support for hip08 RDMA/hns: Add timer allocation support for hip08 RDMA/hns: Bugfix for set hem of SCC Yishai Hadas (8): IB/mlx5: DEVX handling for indirection MKEY IB/mlx5: Manage indirection mkey upon DEVX flow for ODP IB/mlx5: Add support for ODP for DEVX indirection mkey IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_CMD_FD IB/mlx5: Introduce async DEVX obj query API IB/mlx5: Implement the file ops of DEVX async command FD IB/mlx5: Implement DEVX hot unplug for async command FD IB/mlx5: Fix bad flow upon DEVX mkey creation Yixian Liu (3): RDMA/hns: Fix the state of rereg mr RDMA/hns: Set allocated memory to zero for wrid RDMA/hns: Delete useful prints for aeq subtype event YueHaibing (6): RDMA/qedr: remove set but not used variable 'ib_ctx' IB/hw: Remove unneeded semicolons RDMA/hns: Remove set but not used variable 'rst' RDMA/hns: Make some function static RDMA/iwpm: Remove set but not used variable 'msg_seq' RDMA/hns: Use GFP_ATOMIC in hns_roce_v2_modify_qp Yuval Avnery (1): IB/core: Destroy QP if XRC QP fails Yuval Shaia (1): RDMA/core: Cosmetic change - move member initialization to correct block Zhu Yanjun (1): IB/rxe: Remove unnecessary rxe variable chenglang (1): RDMA/hns: Limit minimum ROCE CQ depth to 64 .clang-format | 2 + Documentation/infiniband/user_verbs.txt | 4 +- drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 8 +- drivers/infiniband/Kconfig | 15 +- drivers/infiniband/core/Makefile | 4 +- drivers/infiniband/core/cache.c | 118 +- drivers/infiniband/core/cgroup.c | 5 +- drivers/infiniband/core/cm.c | 3 +- drivers/infiniband/core/cma.c | 139 +- drivers/infiniband/core/cma_priv.h | 4 +- drivers/infiniband/core/core_priv.h | 35 +- drivers/infiniband/core/device.c | 1323 +++-- drivers/infiniband/core/iwcm.c | 13 +- drivers/infiniband/core/iwpm_msg.c | 232 +- drivers/infiniband/core/iwpm_util.c | 86 +- drivers/infiniband/core/iwpm_util.h | 12 + drivers/infiniband/core/mad.c | 4 +- drivers/infiniband/core/netlink.c | 4 +- drivers/infiniband/core/nldev.c | 492 +- drivers/infiniband/core/rdma_core.c | 42 +- drivers/infiniband/core/restrack.c | 210 +- drivers/infiniband/core/restrack.h | 28 + drivers/infiniband/core/rw.c | 12 +- drivers/infiniband/core/sa_query.c | 4 +- drivers/infiniband/core/security.c | 96 +- drivers/infiniband/core/sysfs.c | 93 +- drivers/infiniband/core/ucma.c | 7 + drivers/infiniband/core/umem.c | 60 +- drivers/infiniband/core/umem_odp.c | 21 +- drivers/infiniband/core/user_mad.c | 52 +- drivers/infiniband/core/uverbs_cmd.c | 69 +- drivers/infiniband/core/uverbs_ioctl.c | 3 + drivers/infiniband/core/uverbs_main.c | 2 + drivers/infiniband/core/uverbs_std_types.c | 2 +- drivers/infiniband/core/uverbs_uapi.c | 15 +- drivers/infiniband/core/verbs.c | 73 +- drivers/infiniband/hw/bnxt_re/Kconfig | 1 + drivers/infiniband/hw/bnxt_re/Makefile | 2 +- drivers/infiniband/hw/bnxt_re/bnxt_re.h | 1 + drivers/infiniband/hw/bnxt_re/ib_verbs.c | 268 +- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 16 +- drivers/infiniband/hw/bnxt_re/main.c | 134 +- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 193 +- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 47 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 40 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 45 +- drivers/infiniband/hw/bnxt_re/qplib_res.c | 22 +- drivers/infiniband/hw/bnxt_re/qplib_res.h | 30 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 3 +- drivers/infiniband/hw/bnxt_re/roce_hsi.h | 160 +- drivers/infiniband/hw/cxgb3/Makefile | 2 +- drivers/infiniband/hw/cxgb3/iwch.c | 2 +- drivers/infiniband/hw/cxgb3/iwch_provider.c | 95 +- drivers/infiniband/hw/cxgb4/Makefile | 4 +- drivers/infiniband/hw/cxgb4/cm.c | 199 +- drivers/infiniband/hw/cxgb4/device.c | 10 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 16 +- drivers/infiniband/hw/cxgb4/mem.c | 36 +- drivers/infiniband/hw/cxgb4/provider.c | 85 +- drivers/infiniband/hw/cxgb4/qp.c | 33 +- drivers/infiniband/hw/cxgb4/t4.h | 1 + drivers/infiniband/hw/hfi1/Makefile | 1 + drivers/infiniband/hw/hfi1/chip.c | 13 + drivers/infiniband/hw/hfi1/chip.h | 4 +- drivers/infiniband/hw/hfi1/common.h | 4 + drivers/infiniband/hw/hfi1/debugfs.c | 58 +- drivers/infiniband/hw/hfi1/debugfs.h | 12 - drivers/infiniband/hw/hfi1/driver.c | 58 +- drivers/infiniband/hw/hfi1/fault.c | 53 +- drivers/infiniband/hw/hfi1/hfi.h | 24 +- drivers/infiniband/hw/hfi1/init.c | 35 +- drivers/infiniband/hw/hfi1/iowait.c | 34 +- drivers/infiniband/hw/hfi1/iowait.h | 99 +- drivers/infiniband/hw/hfi1/opfn.c | 323 ++ drivers/infiniband/hw/hfi1/opfn.h | 85 + drivers/infiniband/hw/hfi1/pio.c | 18 +- drivers/infiniband/hw/hfi1/qp.c | 76 +- drivers/infiniband/hw/hfi1/qp.h | 7 + drivers/infiniband/hw/hfi1/rc.c | 1141 ++++- drivers/infiniband/hw/hfi1/rc.h | 51 + drivers/infiniband/hw/hfi1/ruc.c | 48 +- drivers/infiniband/hw/hfi1/sdma.c | 24 +- drivers/infiniband/hw/hfi1/sdma_txreq.h | 1 + drivers/infiniband/hw/hfi1/sysfs.c | 16 +- drivers/infiniband/hw/hfi1/tid_rdma.c | 5418 +++++++++++++++++++++ drivers/infiniband/hw/hfi1/tid_rdma.h | 311 +- drivers/infiniband/hw/hfi1/trace.c | 118 + drivers/infiniband/hw/hfi1/trace.h | 1 + drivers/infiniband/hw/hfi1/trace_ibhdrs.h | 8 + drivers/infiniband/hw/hfi1/trace_rc.h | 48 + drivers/infiniband/hw/hfi1/trace_rx.h | 107 +- drivers/infiniband/hw/hfi1/trace_tid.h | 1610 ++++++ drivers/infiniband/hw/hfi1/trace_tx.h | 18 +- drivers/infiniband/hw/hfi1/uc.c | 3 +- drivers/infiniband/hw/hfi1/ud.c | 24 +- drivers/infiniband/hw/hfi1/user_exp_rcv.h | 1 - drivers/infiniband/hw/hfi1/user_pages.c | 12 +- drivers/infiniband/hw/hfi1/user_sdma.c | 9 +- drivers/infiniband/hw/hfi1/verbs.c | 210 +- drivers/infiniband/hw/hfi1/verbs.h | 104 +- drivers/infiniband/hw/hfi1/verbs_txreq.h | 1 + drivers/infiniband/hw/hfi1/vnic_sdma.c | 6 +- drivers/infiniband/hw/hns/Kconfig | 1 - drivers/infiniband/hw/hns/Makefile | 2 +- drivers/infiniband/hw/hns/hns_roce_cmd.c | 32 +- drivers/infiniband/hw/hns/hns_roce_cmd.h | 12 + drivers/infiniband/hw/hns/hns_roce_cq.c | 9 +- drivers/infiniband/hw/hns/hns_roce_db.c | 6 +- drivers/infiniband/hw/hns/hns_roce_device.h | 63 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 68 +- drivers/infiniband/hw/hns/hns_roce_hem.h | 3 + drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 36 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 596 ++- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 92 +- drivers/infiniband/hw/hns/hns_roce_main.c | 88 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 95 +- drivers/infiniband/hw/hns/hns_roce_pd.c | 25 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 92 +- drivers/infiniband/hw/hns/hns_roce_srq.c | 16 +- drivers/infiniband/hw/i40iw/Makefile | 2 +- drivers/infiniband/hw/i40iw/i40iw_utils.c | 1 - drivers/infiniband/hw/i40iw/i40iw_verbs.c | 137 +- drivers/infiniband/hw/mlx4/Kconfig | 1 - drivers/infiniband/hw/mlx4/cm.c | 2 +- drivers/infiniband/hw/mlx4/cq.c | 19 +- drivers/infiniband/hw/mlx4/doorbell.c | 6 +- drivers/infiniband/hw/mlx4/main.c | 77 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 3 +- drivers/infiniband/hw/mlx4/mr.c | 13 +- drivers/infiniband/hw/mlx4/qp.c | 84 +- drivers/infiniband/hw/mlx4/srq.c | 12 +- drivers/infiniband/hw/mlx5/Kconfig | 1 - drivers/infiniband/hw/mlx5/cong.c | 15 +- drivers/infiniband/hw/mlx5/cq.c | 15 +- drivers/infiniband/hw/mlx5/devx.c | 463 +- drivers/infiniband/hw/mlx5/doorbell.c | 6 +- drivers/infiniband/hw/mlx5/ib_rep.c | 6 +- drivers/infiniband/hw/mlx5/main.c | 249 +- drivers/infiniband/hw/mlx5/mem.c | 5 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 41 +- drivers/infiniband/hw/mlx5/mr.c | 126 +- drivers/infiniband/hw/mlx5/odp.c | 316 +- drivers/infiniband/hw/mlx5/qp.c | 308 +- drivers/infiniband/hw/mlx5/srq.c | 11 +- drivers/infiniband/hw/mlx5/srq.h | 2 - drivers/infiniband/hw/mlx5/srq_cmd.c | 16 +- drivers/infiniband/hw/mthca/mthca_main.c | 2 +- drivers/infiniband/hw/mthca/mthca_provider.c | 139 +- drivers/infiniband/hw/mthca/mthca_qp.c | 13 +- drivers/infiniband/hw/mthca/mthca_srq.c | 21 +- drivers/infiniband/hw/nes/Kconfig | 2 +- drivers/infiniband/hw/nes/nes_verbs.c | 313 +- drivers/infiniband/hw/nes/nes_verbs.h | 1 - drivers/infiniband/hw/ocrdma/Makefile | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 12 +- drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 67 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 189 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 11 +- drivers/infiniband/hw/qedr/main.c | 9 +- drivers/infiniband/hw/qedr/qedr_iw_cm.c | 2 +- drivers/infiniband/hw/qedr/verbs.c | 192 +- drivers/infiniband/hw/qedr/verbs.h | 10 +- drivers/infiniband/hw/qib/qib_debugfs.c | 27 +- drivers/infiniband/hw/qib/qib_rc.c | 7 +- drivers/infiniband/hw/qib/qib_sdma.c | 26 +- drivers/infiniband/hw/qib/qib_sysfs.c | 18 +- drivers/infiniband/hw/qib/qib_ud.c | 6 +- drivers/infiniband/hw/qib/qib_user_pages.c | 75 +- drivers/infiniband/hw/qib/qib_verbs.c | 20 +- drivers/infiniband/hw/usnic/Makefile | 2 +- drivers/infiniband/hw/usnic/usnic_debugfs.c | 26 - drivers/infiniband/hw/usnic/usnic_ib_main.c | 57 +- drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 26 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 114 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 28 +- drivers/infiniband/hw/usnic/usnic_uiom.c | 65 +- drivers/infiniband/hw/usnic/usnic_uiom.h | 1 - drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h | 15 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 12 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c | 21 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 3 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 6 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 4 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 98 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 12 +- drivers/infiniband/sw/rdmavt/mr.c | 21 +- drivers/infiniband/sw/rdmavt/pd.c | 29 +- drivers/infiniband/sw/rdmavt/pd.h | 7 +- drivers/infiniband/sw/rdmavt/qp.c | 104 +- drivers/infiniband/sw/rdmavt/rc.c | 13 + drivers/infiniband/sw/rdmavt/srq.c | 5 +- drivers/infiniband/sw/rdmavt/trace_cq.h | 10 +- drivers/infiniband/sw/rdmavt/vt.c | 34 +- drivers/infiniband/sw/rxe/rxe.c | 67 +- drivers/infiniband/sw/rxe/rxe.h | 16 +- drivers/infiniband/sw/rxe/rxe_av.c | 7 + drivers/infiniband/sw/rxe/rxe_comp.c | 6 +- drivers/infiniband/sw/rxe/rxe_loc.h | 9 +- drivers/infiniband/sw/rxe/rxe_mr.c | 15 +- drivers/infiniband/sw/rxe/rxe_net.c | 97 +- drivers/infiniband/sw/rxe/rxe_net.h | 2 +- drivers/infiniband/sw/rxe/rxe_param.h | 3 +- drivers/infiniband/sw/rxe/rxe_pool.c | 77 +- drivers/infiniband/sw/rxe/rxe_pool.h | 4 + drivers/infiniband/sw/rxe/rxe_qp.c | 15 +- drivers/infiniband/sw/rxe/rxe_recv.c | 12 +- drivers/infiniband/sw/rxe/rxe_resp.c | 3 +- drivers/infiniband/sw/rxe/rxe_sysfs.c | 40 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 103 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 9 +- drivers/infiniband/ulp/ipoib/ipoib.h | 4 +- drivers/infiniband/ulp/ipoib/ipoib_fs.c | 7 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 14 +- drivers/infiniband/ulp/iser/iscsi_iser.h | 2 +- drivers/infiniband/ulp/iser/iser_memory.c | 19 +- drivers/infiniband/ulp/isert/Makefile | 1 - drivers/infiniband/ulp/srp/ib_srp.c | 26 +- drivers/infiniband/ulp/srpt/Makefile | 1 - drivers/media/pci/intel/ipu3/ipu3-cio2.c | 4 +- drivers/misc/mic/scif/scif_rma.c | 38 +- drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 3 - drivers/net/ethernet/chelsio/cxgb4/t4_msg.h | 8 + drivers/net/ethernet/chelsio/cxgb4/t4_tcb.h | 12 + drivers/net/ethernet/mellanox/mlx5/core/main.c | 85 +- fs/proc/task_mmu.c | 2 +- include/linux/cgroup_rdma.h | 2 +- include/linux/mlx5/driver.h | 5 +- include/linux/mm_types.h | 2 +- include/linux/scatterlist.h | 49 +- include/rdma/ib_hdrs.h | 14 +- include/rdma/ib_mad.h | 5 +- include/rdma/ib_umem.h | 8 +- include/rdma/ib_umem_odp.h | 34 +- include/rdma/ib_verbs.h | 274 +- include/rdma/iw_cm.h | 16 +- include/rdma/iw_portmap.h | 144 +- include/rdma/rdma_cm.h | 1 + include/rdma/rdma_netlink.h | 11 + include/rdma/rdma_vt.h | 30 +- include/rdma/rdmavt_qp.h | 20 +- include/rdma/restrack.h | 58 +- include/rdma/tid_rdma_defs.h | 108 + include/rdma/uverbs_ioctl.h | 18 + include/rdma/uverbs_std_types.h | 18 +- include/rdma/uverbs_types.h | 1 + include/uapi/rdma/bnxt_re-abi.h | 11 + include/uapi/rdma/ib_user_verbs.h | 2 + include/uapi/rdma/mlx5_user_ioctl_cmds.h | 18 + include/uapi/rdma/mlx5_user_ioctl_verbs.h | 5 + include/uapi/rdma/rdma_netlink.h | 74 +- include/uapi/rdma/rdma_user_cm.h | 4 + include/uapi/rdma/rdma_user_rxe.h | 3 +- kernel/cgroup/rdma.c | 5 +- kernel/events/core.c | 8 +- kernel/fork.c | 2 +- lib/irq_poll.c | 2 +- lib/scatterlist.c | 26 + mm/debug.c | 5 +- net/rds/ib.h | 12 +- net/rds/ib_fmr.c | 8 +- net/rds/ib_frmr.c | 4 +- net/rds/ib_recv.c | 8 +- net/rds/ib_send.c | 15 +- 264 files changed, 16710 insertions(+), 5014 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 7 Mar 2019 01:34:16 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/a50243b1ddcdd766d0d17fbfeeb1a22e62fdc461 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 1830 bytes --] Hi Linus, First rc pull request - nothing too special, just some driver bug fixes that have been sitting during the merge window. Thanks, Jason The following changes since commit 9e98c678c2d6ae3a17cb2de55d17f69dddaa231b: Linux 5.1-rc1 (2019-03-17 14:22:26 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to ec4fe4bcc584b55e24e8d1768f5510a62c0fd619: i40iw: Avoid panic when handling the inetdev event (2019-03-17 21:40:40 -0300) ---------------------------------------------------------------- 5.1 First RC pull request Several driver bug fixes post in the last three weeks - First part of a race condition fix in mlx4 with CATAS errors - Bad interaction with FW causing resource leaks in the mlx5 DCT flow - Bad reporting of link speed/width in new mlx5 devices - Userspace triggable OOPs in i40iw ---------------------------------------------------------------- Aya Levin (1): IB/mlx5: Fix mapping of link-mode to IB width and speed Feng Tang (1): i40iw: Avoid panic when handling the inetdev event Jack Morgenstein (1): IB/mlx4: Fix race condition between catas error reset and aliasguid flows Yishai Hadas (2): net/mlx5: Fix DCT creation bad flow IB/mlx5: Use mlx5 core to create/destroy a DEVX DCT drivers/infiniband/hw/i40iw/i40iw_utils.c | 12 ++++- drivers/infiniband/hw/mlx4/alias_GUID.c | 2 +- drivers/infiniband/hw/mlx5/devx.c | 34 +++++++++---- drivers/infiniband/hw/mlx5/main.c | 7 +++ drivers/infiniband/hw/mlx5/qp.c | 4 +- drivers/net/ethernet/mellanox/mlx5/core/qp.c | 72 +++++++++++++++------------- include/linux/mlx5/qp.h | 3 +- 7 files changed, 89 insertions(+), 45 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Mon, 18 Mar 2019 01:04:12 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/01c8d80383d9076ab4fbebc3e60ae9abc70f70d5 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 2213 bytes --] Hi Linus, Second rc pull request The following changes since commit 8c2ffd9174779014c3fe1f96d9dc3641d9175f00: Linux 5.1-rc2 (2019-03-24 14:02:26 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to d737b25b1ae0540ba13cbd45ebb9b58a1d6d7f0d: IB/hfi1: Do not flush send queue in the TID RDMA second leg (2019-04-10 15:09:30 -0300) ---------------------------------------------------------------- 5.1 Second RC pull request Several driver bug fixes posted in the last several weeks - Several bug fixes for the hfi1 driver 'TID RDMA' functionality merged into 5.1. Since TID RDMA is on by default these all seem to be regressions. - Wrong software permission checks on memory in mlx5 - Memory leak in vmw_pvrdma during driver remove - Several bug fixes for hns driver features merged into 5.1 ---------------------------------------------------------------- Kaike Wan (5): IB/hfi1: Failed to drain send queue when QP is put into error state IB/hfi1: Clear the IOWAIT pending bits when QP is put into error state IB/hfi1: Eliminate opcode tests on mr deref IB/hfi1: Fix the allocation of RSM table IB/hfi1: Do not flush send queue in the TID RDMA second leg Kamal Heib (1): RDMA/vmw_pvrdma: Fix memory leak on pvrdma_pci_remove Lijun Ou (1): RDMA/hns: Fix bug that caused srq creation to fail Moni Shoua (1): IB/mlx5: Reset access mask when looping inside page fault handler Yangyang Li (1): RDMA/hns: Bugfix for SCC hem free drivers/infiniband/hw/hfi1/chip.c | 26 +++++++++++++++------ drivers/infiniband/hw/hfi1/qp.c | 4 +++- drivers/infiniband/hw/hfi1/rc.c | 4 ++-- drivers/infiniband/hw/hfi1/tid_rdma.c | 31 +++++++------------------- drivers/infiniband/hw/hns/hns_roce_hem.c | 6 +++-- drivers/infiniband/hw/hns/hns_roce_mr.c | 4 ++-- drivers/infiniband/hw/hns/hns_roce_qp.c | 3 --- drivers/infiniband/hw/mlx5/odp.c | 3 ++- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 2 ++ 9 files changed, 42 insertions(+), 41 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Wed, 10 Apr 2019 18:46:23 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/582549e3fbe137eb6ce9be591aca25c2222a36b4 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 3181 bytes --] Hi Linus, Third rc pull request Nothing particularly special here. There is a small merge conflict with Adrea's mm_still_valid patches which is resolved as below: diff --cc drivers/infiniband/core/uverbs_main.c index db20b6e0f253c9,f2e7ffe6fc5466..7843e89235c34b --- a/drivers/infiniband/core/uverbs_main.c +++ b/drivers/infiniband/core/uverbs_main.c @@@ -1039,7 -992,9 +1039,9 @@@ void uverbs_user_mmap_disassociate(stru * at a time to get the lock ordering right. Typically there * will only be one mm, so no big deal. */ - down_write(&mm->mmap_sem); + down_read(&mm->mmap_sem); + if (!mmget_still_valid(mm)) + goto skip_mm; mutex_lock(&ufile->umap_lock); list_for_each_entry_safe (priv, next_priv, &ufile->umaps, list) { @@@ -1051,9 -1006,11 +1053,10 @@@ zap_vma_ptes(vma, vma->vm_start, vma->vm_end - vma->vm_start); - vma->vm_flags &= ~(VM_SHARED | VM_MAYSHARE); } mutex_unlock(&ufile->umap_lock); + skip_mm: - up_write(&mm->mmap_sem); + up_read(&mm->mmap_sem); mmput(mm); } } The tag for-linus-merged with my merge resolution to your tree is also available to pull. Thanks, Jason The following changes since commit dc4060a5dc2557e6b5aa813bf5b73677299d62d2: Linux 5.1-rc5 (2019-04-14 15:17:41 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 2557fabd6e29f349bfa0ac13f38ac98aa5eafc74: RDMA/hns: Bugfix for mapping user db (2019-04-25 10:40:04 -0300) ---------------------------------------------------------------- 5.1 Third RC pull request One core bug fix and a few driver ones - FRWR memory registration for hfi1/qib didn't work with with some iovas causing a NFSoRDMA failure regression due to a fix in the NFS side - A command flow error in mlx5 allowed user space to send a corrupt command (and also smash the kernel stack we've since learned) - Fix a regression and some bugs with device hot unplug that was discovered while reviewing Andrea's patches - hns has a failure if the user asks for certain QP configurations ---------------------------------------------------------------- Guy Levi (1): IB/mlx5: Fix scatter to CQE in DCT QP creation Jason Gunthorpe (3): RDMA/mlx5: Do not allow the user to write to the clock page RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages RDMA/ucontext: Fix regression with disassociate Josh Collier (1): IB/rdmavt: Fix frwr memory registration Lijun Ou (1): RDMA/hns: Bugfix for mapping user db drivers/infiniband/core/uverbs.h | 1 + drivers/infiniband/core/uverbs_main.c | 52 +++++++++++++++++++++++++++++++-- drivers/infiniband/hw/hns/hns_roce_qp.c | 2 +- drivers/infiniband/hw/mlx5/main.c | 12 ++++---- drivers/infiniband/hw/mlx5/qp.c | 11 ++++--- drivers/infiniband/sw/rdmavt/mr.c | 17 ++++++----- include/uapi/rdma/mlx5-abi.h | 1 + 7 files changed, 76 insertions(+), 20 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
On Sun, Apr 28, 2019 at 4:52 AM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> Nothing particularly special here. There is a small merge conflict
> with Adrea's mm_still_valid patches which is resolved as below:
I still don't understand *why* you play the crazy VM games to begin with.
What's wrong with just returning SIGBUS? Why does that
rdma_umap_fault() not just look like this one-liner:
return VM_FAULT_SIGBUS;
without the crazy parts? Nobody ever explained why you'd want to have
that silly "let's turn it into a bogus anonymous mapping".
I've pulled this, but why do the rdma and SCSI people always do these
strange and pointless things?
Linus
The pull request you sent on Sun, 28 Apr 2019 11:52:12 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/14f974d7f0f1f93d8c35f496ae774ba0f1b3389a Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
On Sun, Apr 28, 2019 at 09:59:56AM -0700, Linus Torvalds wrote:
> On Sun, Apr 28, 2019 at 4:52 AM Jason Gunthorpe <jgg@mellanox.com> wrote:
> >
> > Nothing particularly special here. There is a small merge conflict
> > with Adrea's mm_still_valid patches which is resolved as below:
>
> I still don't understand *why* you play the crazy VM games to begin with.
>
> What's wrong with just returning SIGBUS? Why does that
> rdma_umap_fault() not just look like this one-liner:
>
> return VM_FAULT_SIGBUS;
>
> without the crazy parts? Nobody ever explained why you'd want to have
> that silly "let's turn it into a bogus anonymous mapping".
There was a big thread where I went over the use case with Andrea, but
I guess that was private..
It is for high availability - we have situations where the hardware
can fault and needs some kind of destructive recovery. For instance a
firmware reboot, or a VM migration.
In these designs there may be multiple cards in the system and the
userspace application could be using both. Just because one card
crashed we can't send SIGBUS and kill the application, that breaks the
HA design.
So.. the kernel makes the BAR VMA into a 'dummy' and sends an async
notification to the application. The use of the BAR memory by
userspace is all 'write only' so it doesn't really care. When it sees
the async notification it safely cleans up the userspace side of
things.
An more modern VM example of where this gets used is on VM systems
using SRIO-V pass through of a raw RDMA device. When it is time to
migrate the VM then the hypervisor causes the SRIO-V instance to fault
and be removed from the guest kernel, then migrates and attaches a new
RDMA SRIO-V instance. The user space is expected to see the failure,
maintain state, then recover onto the new device.
The only alternative that has come up would be to delay the kernel
side until the application cleans up and deletes the VMA, but people
generally don't like this as it degrades the recovery time and has the
usual problems with blocking the kernel on userspace.
When this was created I'm not sure people explored more creative ideas
like trying to handle/ignore the SIGBUS in userspace - unfortunately
it has been so long now that we are probably stuck doing this as part
of the UAPI.
I've been trying to make it less crufty over the last year based on
remarks from yourself and Andrea, but I'm still stuck with this basic
requirement that the VMA shouldn't fault or touch the BAR after the
hardware is released by the kernel.
Thanks,
Jason
On Sun, Apr 28, 2019 at 4:49 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> It is for high availability - we have situations where the hardware
> can fault and needs some kind of destructive recovery. For instance a
> firmware reboot, or a VM migration.
>
> In these designs there may be multiple cards in the system and the
> userspace application could be using both. Just because one card
> crashed we can't send SIGBUS and kill the application, that breaks the
> HA design.
Why can't this magical application that is *so* special that it is HA
and does magic mmap's of special rdma areas just catch the SIGBUS?
Honestly, the whole "it's for HA" excuse stinks. It stinks because you
now silently just replace the mapping with *garbage*. That's not HA,
that's just random.
Wouldn't it be a lot better to just get the SIGBUS, and then that
magical application knows that "oh, it's gone", and it could - in its
SIGBUS handler - just do the dummy anonymous mmap() with /dev/zero it
if it wants to?
Whatever. It really sounds like this is yet another horrible back for
bad interfaces for all these "super-special high-end enterprise
people".
I hope that some day enterprise people will wake up and realize that
"enterprise" seems to be often a code name for "lots of random hacks".
Linus
On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote: > Hi Linus, > > Third rc pull request > > Nothing particularly special here. There is a small merge conflict > with Adrea's mm_still_valid patches which is resolved as below: ... > Jason Gunthorpe (3): > RDMA/mlx5: Do not allow the user to write to the clock page > RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages > RDMA/ucontext: Fix regression with disassociate This doesn't compile. The patch below would fix it, but not sure if this is what is intended: drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault': drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start' vmf->page = ZERO_PAGE(vmf->vm_start); ^~ diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c index 7843e89235c3..65fe89b3fa2d 100644 --- a/drivers/infiniband/core/uverbs_main.c +++ b/drivers/infiniband/core/uverbs_main.c @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf) /* Read only pages can just use the system zero page. */ if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) { - vmf->page = ZERO_PAGE(vmf->vm_start); + vmf->page = ZERO_PAGE(vmf->vma->vm_start); get_page(vmf->page); return 0; }
On Mon, Apr 29, 2019 at 08:09:47AM +0200, Heiko Carstens wrote:
> On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote:
> > Hi Linus,
> >
> > Third rc pull request
> >
> > Nothing particularly special here. There is a small merge conflict
> > with Adrea's mm_still_valid patches which is resolved as below:
> ...
> > Jason Gunthorpe (3):
> > RDMA/mlx5: Do not allow the user to write to the clock page
> > RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
> > RDMA/ucontext: Fix regression with disassociate
>
> This doesn't compile. The patch below would fix it, but not sure if
> this is what is intended:
>
> drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault':
> drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start'
> vmf->page = ZERO_PAGE(vmf->vm_start);
> ^~
> diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
> index 7843e89235c3..65fe89b3fa2d 100644
> +++ b/drivers/infiniband/core/uverbs_main.c
> @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf)
>
> /* Read only pages can just use the system zero page. */
> if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) {
> - vmf->page = ZERO_PAGE(vmf->vm_start);
> + vmf->page = ZERO_PAGE(vmf->vma->vm_start);
> get_page(vmf->page);
> return 0;
> }
>
Thanks Heiko, this looks right to me.
I'm surprised to be seeing this at this point, these patches should
have been seen by 0 day for several days now, and they were in
linux-next already too..
Doug, can you send this to Linus today?
Thanks,
Jason
On Mon, Apr 29, 2019 at 08:40:37AM +0000, Jason Gunthorpe wrote:
> On Mon, Apr 29, 2019 at 08:09:47AM +0200, Heiko Carstens wrote:
> > On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote:
> > > Hi Linus,
> > >
> > > Third rc pull request
> > >
> > > Nothing particularly special here. There is a small merge conflict
> > > with Adrea's mm_still_valid patches which is resolved as below:
> > ...
> > > Jason Gunthorpe (3):
> > > RDMA/mlx5: Do not allow the user to write to the clock page
> > > RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages
> > > RDMA/ucontext: Fix regression with disassociate
> >
> > This doesn't compile. The patch below would fix it, but not sure if
> > this is what is intended:
> >
> > drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault':
> > drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start'
> > vmf->page = ZERO_PAGE(vmf->vm_start);
> > ^~
> > diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c
> > index 7843e89235c3..65fe89b3fa2d 100644
> > +++ b/drivers/infiniband/core/uverbs_main.c
> > @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf)
> >
> > /* Read only pages can just use the system zero page. */
> > if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) {
> > - vmf->page = ZERO_PAGE(vmf->vm_start);
> > + vmf->page = ZERO_PAGE(vmf->vma->vm_start);
> > get_page(vmf->page);
> > return 0;
> > }
> >
>
> Thanks Heiko, this looks right to me.
>
> I'm surprised to be seeing this at this point, these patches should
> have been seen by 0 day for several days now, and they were in
> linux-next already too..
Most architectures have versions of ZERO_PAGE() which ignore the
argument so that the code builds anyway. I'm not sure if 0-day also
tests s390x builds (which is where I ran into this).
Michal Kubecek
On Mon, Apr 29, 2019 at 11:00:40AM +0200, Michal Kubecek wrote: > On Mon, Apr 29, 2019 at 08:40:37AM +0000, Jason Gunthorpe wrote: > > On Mon, Apr 29, 2019 at 08:09:47AM +0200, Heiko Carstens wrote: > > > On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote: > > > > Hi Linus, > > > > > > > > Third rc pull request > > > > > > > > Nothing particularly special here. There is a small merge conflict > > > > with Adrea's mm_still_valid patches which is resolved as below: > > > ... > > > > Jason Gunthorpe (3): > > > > RDMA/mlx5: Do not allow the user to write to the clock page > > > > RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages > > > > RDMA/ucontext: Fix regression with disassociate > > > > > > This doesn't compile. The patch below would fix it, but not sure if > > > this is what is intended: > > > > > > drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault': > > > drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start' > > > vmf->page = ZERO_PAGE(vmf->vm_start); > > > ^~ > > > diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c > > > index 7843e89235c3..65fe89b3fa2d 100644 > > > +++ b/drivers/infiniband/core/uverbs_main.c > > > @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf) > > > > > > /* Read only pages can just use the system zero page. */ > > > if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) { > > > - vmf->page = ZERO_PAGE(vmf->vm_start); > > > + vmf->page = ZERO_PAGE(vmf->vma->vm_start); > > > get_page(vmf->page); > > > return 0; > > > } > > > > > > > Thanks Heiko, this looks right to me. > > > > I'm surprised to be seeing this at this point, these patches should > > have been seen by 0 day for several days now, and they were in > > linux-next already too.. > > Most architectures have versions of ZERO_PAGE() which ignore the > argument so that the code builds anyway. I'm not sure if 0-day also > tests s390x builds (which is where I ran into this). According to 0-build results for this patch, the answer is yes, it builds. s390 default_defconfig And it compiles uverbs_main.c (CONFIG_INFINIBAND_USER_ACCESS) kernel git:(rdma-next) grep INFIN arch/s390/configs/debug_defconfig CONFIG_INFINIBAND=m CONFIG_INFINIBAND_USER_ACCESS=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_INFINIBAND=m Thanks > > Michal Kubecek
[-- Attachment #1: Type: text/plain, Size: 2005 bytes --] On Mon, 2019-04-29 at 08:40 +0000, Jason Gunthorpe wrote: > On Mon, Apr 29, 2019 at 08:09:47AM +0200, Heiko Carstens wrote: > > On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote: > > > Hi Linus, > > > > > > Third rc pull request > > > > > > Nothing particularly special here. There is a small merge conflict > > > with Adrea's mm_still_valid patches which is resolved as below: > > ... > > > Jason Gunthorpe (3): > > > RDMA/mlx5: Do not allow the user to write to the clock page > > > RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages > > > RDMA/ucontext: Fix regression with disassociate > > > > This doesn't compile. The patch below would fix it, but not sure if > > this is what is intended: > > > > drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault': > > drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start' > > vmf->page = ZERO_PAGE(vmf->vm_start); > > ^~ > > diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c > > index 7843e89235c3..65fe89b3fa2d 100644 > > +++ b/drivers/infiniband/core/uverbs_main.c > > @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf) > > > > /* Read only pages can just use the system zero page. */ > > if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) { > > - vmf->page = ZERO_PAGE(vmf->vm_start); > > + vmf->page = ZERO_PAGE(vmf->vma->vm_start); > > get_page(vmf->page); > > return 0; > > } > > > > Thanks Heiko, this looks right to me. > > I'm surprised to be seeing this at this point, these patches should > have been seen by 0 day for several days now, and they were in > linux-next already too.. > > Doug, can you send this to Linus today? Yep. -- Doug Ledford <dledford@redhat.com> GPG KeyID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #1: Type: text/plain, Size: 2164 bytes --] On Mon, 2019-04-29 at 11:42 -0400, Doug Ledford wrote: > On Mon, 2019-04-29 at 08:40 +0000, Jason Gunthorpe wrote: > > On Mon, Apr 29, 2019 at 08:09:47AM +0200, Heiko Carstens wrote: > > > On Sun, Apr 28, 2019 at 11:52:12AM +0000, Jason Gunthorpe wrote: > > > > Hi Linus, > > > > > > > > Third rc pull request > > > > > > > > Nothing particularly special here. There is a small merge conflict > > > > with Adrea's mm_still_valid patches which is resolved as below: > > > ... > > > > Jason Gunthorpe (3): > > > > RDMA/mlx5: Do not allow the user to write to the clock page > > > > RDMA/mlx5: Use rdma_user_map_io for mapping BAR pages > > > > RDMA/ucontext: Fix regression with disassociate > > > > > > This doesn't compile. The patch below would fix it, but not sure if > > > this is what is intended: > > > > > > drivers/infiniband/core/uverbs_main.c: In function 'rdma_umap_fault': > > > drivers/infiniband/core/uverbs_main.c:898:28: error: 'struct vm_fault' has no member named 'vm_start' > > > vmf->page = ZERO_PAGE(vmf->vm_start); > > > ^~ > > > diff --git a/drivers/infiniband/core/uverbs_main.c b/drivers/infiniband/core/uverbs_main.c > > > index 7843e89235c3..65fe89b3fa2d 100644 > > > +++ b/drivers/infiniband/core/uverbs_main.c > > > @@ -895,7 +895,7 @@ static vm_fault_t rdma_umap_fault(struct vm_fault *vmf) > > > > > > /* Read only pages can just use the system zero page. */ > > > if (!(vmf->vma->vm_flags & (VM_WRITE | VM_MAYWRITE))) { > > > - vmf->page = ZERO_PAGE(vmf->vm_start); > > > + vmf->page = ZERO_PAGE(vmf->vma->vm_start); > > > get_page(vmf->page); > > > return 0; > > > } > > > > > > > Thanks Heiko, this looks right to me. > > > > I'm surprised to be seeing this at this point, these patches should > > have been seen by 0 day for several days now, and they were in > > linux-next already too.. > > > > Doug, can you send this to Linus today? > > Yep. > Done. -- Doug Ledford <dledford@redhat.com> GPG KeyID: B826A3330E572FDD Key fingerprint = AE6B 1BDA 122B 23B4 265B 1274 B826 A333 0E57 2FDD [-- Attachment #2: This is a digitally signed message part --] [-- Type: application/pgp-signature, Size: 833 bytes --]
On Sun, Apr 28, 2019 at 05:09:08PM -0700, Linus Torvalds wrote: > On Sun, Apr 28, 2019 at 4:49 PM Jason Gunthorpe <jgg@mellanox.com> wrote: > > > > It is for high availability - we have situations where the hardware > > can fault and needs some kind of destructive recovery. For instance a > > firmware reboot, or a VM migration. > > > > In these designs there may be multiple cards in the system and the > > userspace application could be using both. Just because one card > > crashed we can't send SIGBUS and kill the application, that breaks the > > HA design. > > Why can't this magical application that is *so* special that it is HA > and does magic mmap's of special rdma areas just catch the SIGBUS? > > Honestly, the whole "it's for HA" excuse stinks. It stinks because you > now silently just replace the mapping with *garbage*. That's not HA, > that's just random. This should only used in cases where user space only writes to the BAR page (it is an interrupt to the device essentially), so it doesn't care that the pages are now garbage, we just need to redirect the writes away from the bar. However I think someone later on added a readable counter BAR pages to one of the devices :( So even that ideal wasn't respected. > Wouldn't it be a lot better to just get the SIGBUS, and then that > magical application knows that "oh, it's gone", and it could - in its > SIGBUS handler - just do the dummy anonymous mmap() with /dev/zero it > if it wants to? This does sound more appealing, and probably should have been done instead. All this VMA stuff has been a big pain in the long run Thanks, Jason
[-- Attachment #1: Type: text/plain, Size: 30454 bytes --] Hi Linus, These are the proposed RDMA patches for 5.2. There is a small conflict with the mlx5-next (net-next) tree resolved with this hunk: diff --cc drivers/infiniband/hw/mlx5/main.c index 687f99172037be,fae6a6a1fbea12..abac70ad5c7c46 --- a/drivers/infiniband/hw/mlx5/main.c +++ b/drivers/infiniband/hw/mlx5/main.c @@@ -200,12 -172,18 +200,12 @@@ static int mlx5_netdev_event(struct not switch (event) { case NETDEV_REGISTER: + /* Should already be registered during the load */ + if (ibdev->is_rep) + break; write_lock(&roce->netdev_lock); - if (ndev->dev.parent == &mdev->pdev->dev) - if (ibdev->rep) { - struct mlx5_eswitch *esw = ibdev->mdev->priv.eswitch; - struct net_device *rep_ndev; - - rep_ndev = mlx5_ib_get_rep_netdev(esw, - ibdev->rep->vport); - if (rep_ndev == ndev) - roce->netdev = ndev; - } else if (ndev->dev.parent == mdev->device) { ++ if (ndev->dev.parent == mdev->device) roce->netdev = ndev; - } write_unlock(&roce->netdev_lock); break; I also have some notifications from StephenR about minor conflicts with patches in akpm's tree that you haven't merged yet. Here are his resolutions: https://lore.kernel.org/lkml/20190509153805.6dfbb8ef@canb.auug.org.au/ https://lore.kernel.org/lkml/20190506204824.11a7b368@canb.auug.org.au/ https://lore.kernel.org/lkml/20190506203710.10b080dc@canb.auug.org.au/ The tag for-linus-merged with my merge resolution for the mlx5-next branch is also available to pull. The following changes since commit 96780e4f46b2fc0fc5ae2b95957002e2c42b11d3: net/mlx5: Introduce new TIR creation core API (2019-04-24 12:33:37 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to b79656ed44c6865e17bcd93472ec39488bcc4984: RDMA/ipoib: Allow user space differentiate between valid dev_port (2019-05-07 16:13:23 -0300) ---------------------------------------------------------------- 5.2 Merge Window pull request This has been a smaller cycle than normal. One new driver was accepted, which is unusual, and at least one more driver remains in review on the list. - Driver fixes for hns, hfi1, nes, rxe, i40iw, mlx5, cxgb4, vmw_pvrdma - Many patches from MatthewW converting radix tree and IDR users to use xarray - Introduction of tracepoints to the MAD layer - Build large SGLs at the start for DMA mapping and get the driver to split them - Generally clean SGL handling code throughout the subsystem - Support for restricting RDMA devices to net namespaces for containers - Progress to remove object allocation boilerplate code from drivers - Change in how the mlx5 driver shows representor ports linked to VFs - mlx5 uapi feature to access the on chip SW ICM memory - Add a new driver for 'EFA'. This is HW that supports user space packet processing through QPs in Amazon's cloud ---------------------------------------------------------------- Ariel Levkovich (5): IB/mlx5: Expose TIR ICM address to user space IB/mlx5: Support device memory type attribute IB/mlx5: Warn on allocated MEMIC buffers during cleanup IB/mlx5: Add steering SW ICM device memory type IB/mlx5: Device resource control for privileged DEVX user Artemy Kovalyov (3): IB/mlx5: WQE dump jumps over first 16 bytes IB/mlx5: Compare only index part of a memory window rkey IB/core: Set qp->real_qp before it may be accessed Bart Van Assche (6): RDMA/uverbs: Add a __user annotation to a pointer RDMA/uverbs: Annotate uverbs_request_next_ptr() return value as a __user pointer RDMA/uverbs: Allow the compiler to verify declaration and definition consistency IB/mlx5: Declare devx_async_cmd_event_fops static IB/hfi1: Fix two format strings IB/qib: Remove a set-but-not-used variable Chengguang Xu (1): infiniband/qib: Fix typo in comment Colin Ian King (6): RDMA/nes: remove redundant check on udata IB/iser: remove uninitialized variable len opa_vnic: fix check on record->event, incorrect operator used RDMA/mlx5: Check for error return in flow_rule rather than err RDMA/cxgb4: Fix null pointer dereference on alloc_skb failure RDMA/cxgb4: Fix spelling mistake "immedate" -> "immediate" Dennis Dalessandro (1): IB/core, ipoib: Do not overreact to SM LID change event Devesh Sharma (1): RDMA/ocrdma: Remove use of idr use pci bdf instead Enrico Weigelt, metux IT consult (1): drivers: infiniband: Fix whitespace in kconfig Erez Alfasi (1): RDMA: Use __packed annotation instead of __attribute__ ((packed)) Gal Pressman (14): RDMA/core: Introduce RDMA subsystem ibdev_* print functions RDMA/uverbs: Initialize udata struct on destroy flows RDMA: Add EFA related definitions RDMA/efa: Add EFA device definitions RDMA/efa: Add the efa.h header file RDMA/efa: Add the efa_com.h file RDMA/efa: Add the com service API definitions RDMA/efa: Add the ABI definitions RDMA/efa: Implement functions that submit and complete admin commands RDMA/efa: Add common command handlers RDMA/efa: Add EFA verbs implementation RDMA/efa: Add the efa module RDMA/efa: Add driver to Kconfig/Makefile lib/scatterlist: Remove leftover from sg_page_iter comment Ira Weiny (7): IB/core: Ensure an invalidate_range callback on ODP MR IB/MAD: Add send path trace points IB/MAD: Add recv path trace point IB/MAD: Add agent trace points IB/UMAD: Add umad trace points IB/MAD: Add SMP details to MAD tracing BPF: Add sample code for new ib_umad tracepoint Jack Morgenstein (1): IB/mlx5: Add missing XRC options to QP optional params mask Jason Gunthorpe (9): Merge HFI1 updates into k.o/for-next IB/mlx5: Remove references to uboject->context IB: When attrs.udata/ufile is available use that instead of uobject RDMA/drivers: Convert easy drivers to use ib_device_set_netdev() Merge branch 'mlx5-next' into rdma.git for-next RDMA/mlx5: Use get_zeroed_page() for clock_info RDMA: Remove rdma_user_mmap_page Merge branch 'rdma_mmap' into rdma.git for-next Merge branch 'mlx5_tir_icm' into rdma.git for-next John Fleck (1): IB/hfi1: Remove reference to RHF.VCRCErr Josh Collier (1): IB/hfi1: Add debugfs to control expansion ROM write protect Kaike Wan (6): IB/hfi1: Delay the release of destination mr for TID RDMA WRITE DATA IB/hfi1: Add a function to read next expected psn from hardware flow IB/hfi1: Unify the software PSN check for TID RDMA READ/WRITE IB/hfi1: Remove WARN_ON when freeing expected receive groups IB/hfi1: Implement CCA for TID RDMA protocol IB/{rdmavt, hfi1): Miscellaneous comment fixes Kamal Heib (1): RDMA: Get rid of iw_cm_verbs Kangjie Lu (1): RDMA/i40iw: Handle workqueue allocation failure Leon Romanovsky (19): RDMA/rxe: Fix slab-out-bounds access which lead to kernel crash later overflow: Fix -Wtype-limits compilation warnings RDMA/hns: Limit scope of hns_roce_cmq_send() RDMA/netlink: Remove unused data structure RDMA/core: Don't compare specific bit after boolean AND RDMA/hns: Fix bad endianess of port_pd variable RDMA/cma: Set proper port number as index RDMA/mlx5: Cleanup WQE page fault handler RDMA/cm: Remove useless zeroing of static global variable RDMA/cm: Move debug counters to be under relevant IB device RDMA/nldev: Return device protocol RDMA/core: Support object allocation in atomic context RDMA: Handle AH allocations by IB/core RDMA: Handle SRQ allocations by IB/core RDMA/hns: Remove asynchronic QP destroy RDMA/rdmavt: Catch use-after-free access of AH structures RDMA/mlx5: Remove MAYEXEC flag RDMA/device: Don't fire uevent before device is fully initialized RDMA/ipoib: Allow user space differentiate between valid dev_port Lijun Ou (8): RDMA/hns: Only assign the relatived fields of psn if IB_QP_SQ_PSN is set RDMA/hns: Only assign the fields of the rq psn if IB_QP_RQ_PSN is set RDMA/hns: Update the range of raq_psn field of qp context RDMA/hns: Only assgin some fields if the relatived attr_mask is set RDMA/hns: Hide error print information with roce vf device RDMA/hns: Bugfix for sending with invalidate RDMA/hns: Delete unused variable in hns_roce_v2_modify_qp function RDMA/hns: Dump detailed driver-specific CQ Maor Gottlieb (1): RDMA/mlx5: Add query e-switch vport context to devx white list Mark Bloch (16): RDMA/mlx5: Move netdev info into the port struct RDMA/mlx5: Free IB device on remove RDMA/mlx5: Move ports allocation to outside of INIT stage RDMA/mlx5: Use correct size for device resources RDMA/mlx5: Move rep into port struct RDMA/mlx5: Move default representors SQ steering to rule to modify QP RDMA/mlx5: Refactor netdev affinity code RDMA/mlx5: Move SMI caps logic RDMA/mlx5: Move to single device multiport ports in switchdev mode RDMA/mlx5: Remove VF representor profile RDMA/mlx5: Access the prio bypass inside the FDB flow table namespace RDMA/mlx5: Create flow table with max size supported RDMA/mlx5: Allow inserting a steering rule to the FDB RDMA/mlx5: Allow DEVX and raw creation flow on reps RDMA/mlx5: Initialize roce port info before multiport master init RDMA/mlx5: Don't create IB representors when in multiport RoCE mode Matthew Wilcox (26): cxgb3: Convert cqidr to XArray cxgb3: Convert qpidr to XArray cxgb3: Convert mmidr to XArray cxgb4: Convert cqidr to XArray cxgb4: Convert qpidr to XArray cxgb4: Convert mmidr to XArray cxgb4: Convert hwtid_idr to XArray cxgb4: Convert atid_idr to XArray cxgb4: Convert stid_idr to XArray mlx5: Convert mlx5_srq_table to XArray mlx4: Convert pv_id_table to XArray IB/mad: Convert ib_mad_clients to XArray RDMA/cm: Convert local_id_table to XArray ib core: Convert query_idr to XArray ucm: Convert ctx_id_table to XArray cma: Convert portspace IDRs to XArray RDMA/hns: Convert cq_table to XArray RDMA/hns: Convert qp_table_tree to XArray hfi1: Convert vesw_idr to XArray qedr: Convert qpidr to XArray qedr: Convert srqidr to XArray hfi1: Convert hfi1_unit_table to XArray qib: Convert qib_unit_table to XArray opa_vnic: Convert vport_idr to XArray ib/bnxt: Remove mention of idr_alloc from comment uverbs: Convert idr to XArray Mike Marciniszyn (7): IB/hfi1: Add running average for adaptive pio IB/hfi1: Make opfn.h self sufficient IB/rdmavt: Fix ab/ba include issues IB/rdmavt: Use more efficient allowed_ops IB/{rdmavt, qib, hfi1}: Use new routine to release reference counts IB/hfi1: Add selected Rcv counters IB/hfi1: Fix WQ_MEM_RECLAIM warning Parav Pandit (22): RDMA/core: Introduce ib_core_device to hold device RDMA/core: Restrict sysfs entries view to init_net RDMA/core: Implement compat device/sysfs tree in net namespace RDMA/core: Support core port attributes in non init_net RDMA/core: Add module param to disable device sharing among net ns RDMA: Check net namespace access for uverbs, umad, cma and nldev RDMA/core: Extend ib_device_get_by_index for net namespace RDMA/core: Add interface to read device namespace sharing mode RDMA/core: Add command to set ib_core device net namspace sharing mode RDMA/core: Avoid freeing netdevs in disable_device() RDMA/core: Introduce a helper function to change net namespace of rdma device RDMA/core: Add a netlink command to change net namespace of rdma device IB/core: Allow vlan link local address based RoCE GIDs RDMA/cma: Consider scope_id while binding to ipv6 ll address RDMA/core: Do not invoke init_port on compat devices RDMA/rxe: Consider skb reserve space based on netdev of GID IB/cm: Reduce dependency on gid attribute ndev check RDMA: Introduce and use GID attr helper to read RoCE L2 fields RDMA/cma: Use rdma_read_gid_attr_ndev_rcu to access netdev RDMA/rxe: Use rdma_read_gid_attr_ndev_rcu to access netdev net/smc: Use rdma_read_gid_l2_fields to L2 fields RDMA/core: Allow detaching gid attribute netdevice for RoCE Potnuri Bharat Teja (2): iw_cxgb4: Update Maintainer details RDMA/iw_cxgb4: Always disconnect when QP is transitioning to TERMINATE state Selvin Xavier (1): RDMA/bnxt_re: Use correct sizing on buffers holding page DMA addresses Shamir Rabinovitch (6): IB: ucontext should be set properly for all cmd & ioctl paths IB: Pass uverbs_attr_bundle down uobject destroy path IB: Pass uverbs_attr_bundle down ib_x destroy path IB: Remove 'uobject->context' dependency in object destroy APIs IB: Pass only ib_udata in function prototypes RDMA/uverbs: Initialize uverbs_attr_bundle ucontext in ib_uverbs_get_context Shiraz Saleem (12): RDMA/cxbg: Use correct sizing on buffers holding page DMA addresses RDMA/mthca: Use correct sizing on buffers holding page DMA addresses RDMA/rxe: Use correct sizing on buffers holding page DMA addresses RDMA/rdmavt: Use correct sizing on buffers holding page DMA addresses RDMA/umem: Combine contiguous PAGE_SIZE regions in SGEs RDMA/umem: Use correct value for SG entries in sg_copy_to_buffer() RDMA/umem: Handle page combining avoidance correctly in ib_umem_add_sg_table() RDMA/umem: Add API to find best driver supported page size in an MR RDMA/verbs: Add a DMA iterator to return aligned contiguous memory blocks RDMA/i40iw: Use core helpers to get aligned DMA address within a supported page size RDMA/bnxt_re: Use core helpers to get aligned DMA address RDMA/umem: Remove hugetlb flag Steve Wise (1): RDMA/cxgb4: Use ib_device_set_netdev() Yuval Shaia (1): RDMA/vmw_pvrdma: Skip zeroing device attrs Zhu Yanjun (1): IB/rxe: Replace av->network_type with skb->protocol chenglang (1): RDMA/hns: Support to create 1M srq queue MAINTAINERS | 17 +- drivers/infiniband/Kconfig | 1 + drivers/infiniband/core/addr.c | 1 + drivers/infiniband/core/cache.c | 145 +- drivers/infiniband/core/cm.c | 94 +- drivers/infiniband/core/cm_msgs.h | 22 +- drivers/infiniband/core/cma.c | 83 +- drivers/infiniband/core/core_priv.h | 18 +- drivers/infiniband/core/cq.c | 21 +- drivers/infiniband/core/device.c | 632 ++++++- drivers/infiniband/core/iwcm.c | 35 +- drivers/infiniband/core/mad.c | 87 +- drivers/infiniband/core/mad_priv.h | 4 +- drivers/infiniband/core/multicast.c | 1 - drivers/infiniband/core/nldev.c | 112 +- drivers/infiniband/core/rdma_core.c | 200 +-- drivers/infiniband/core/rdma_core.h | 11 +- drivers/infiniband/core/sa_query.c | 44 +- drivers/infiniband/core/sysfs.c | 93 +- drivers/infiniband/core/ucm.c | 35 +- drivers/infiniband/core/umem.c | 179 +- drivers/infiniband/core/umem_odp.c | 20 +- drivers/infiniband/core/user_mad.c | 22 + drivers/infiniband/core/uverbs.h | 7 +- drivers/infiniband/core/uverbs_cmd.c | 99 +- drivers/infiniband/core/uverbs_ioctl.c | 29 +- drivers/infiniband/core/uverbs_main.c | 69 +- drivers/infiniband/core/uverbs_std_types.c | 52 +- .../infiniband/core/uverbs_std_types_counters.c | 6 +- drivers/infiniband/core/uverbs_std_types_cq.c | 12 +- drivers/infiniband/core/uverbs_std_types_dm.c | 10 +- .../infiniband/core/uverbs_std_types_flow_action.c | 6 +- drivers/infiniband/core/uverbs_std_types_mr.c | 9 +- drivers/infiniband/core/verbs.c | 233 ++- drivers/infiniband/hw/Makefile | 1 + drivers/infiniband/hw/bnxt_re/Kconfig | 12 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 194 +-- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 36 +- drivers/infiniband/hw/bnxt_re/main.c | 8 +- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 39 +- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 13 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 4 +- drivers/infiniband/hw/bnxt_re/qplib_res.c | 43 +- drivers/infiniband/hw/bnxt_re/qplib_res.h | 8 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 16 +- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 4 +- drivers/infiniband/hw/cxgb3/cxio_wr.h | 10 +- drivers/infiniband/hw/cxgb3/iwch.c | 56 +- drivers/infiniband/hw/cxgb3/iwch.h | 38 +- drivers/infiniband/hw/cxgb3/iwch_ev.c | 18 +- drivers/infiniband/hw/cxgb3/iwch_mem.c | 2 +- drivers/infiniband/hw/cxgb3/iwch_provider.c | 97 +- drivers/infiniband/hw/cxgb4/cm.c | 69 +- drivers/infiniband/hw/cxgb4/cq.c | 23 +- drivers/infiniband/hw/cxgb4/device.c | 210 +-- drivers/infiniband/hw/cxgb4/ev.c | 18 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 96 +- drivers/infiniband/hw/cxgb4/mem.c | 25 +- drivers/infiniband/hw/cxgb4/provider.c | 77 +- drivers/infiniband/hw/cxgb4/qp.c | 77 +- drivers/infiniband/hw/efa/Kconfig | 15 + drivers/infiniband/hw/efa/Makefile | 9 + drivers/infiniband/hw/efa/efa.h | 163 ++ drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 794 +++++++++ drivers/infiniband/hw/efa/efa_admin_defs.h | 136 ++ drivers/infiniband/hw/efa/efa_com.c | 1160 +++++++++++++ drivers/infiniband/hw/efa/efa_com.h | 144 ++ drivers/infiniband/hw/efa/efa_com_cmd.c | 692 ++++++++ drivers/infiniband/hw/efa/efa_com_cmd.h | 270 +++ drivers/infiniband/hw/efa/efa_common_defs.h | 18 + drivers/infiniband/hw/efa/efa_main.c | 533 ++++++ drivers/infiniband/hw/efa/efa_regs_defs.h | 113 ++ drivers/infiniband/hw/efa/efa_verbs.c | 1825 ++++++++++++++++++++ drivers/infiniband/hw/hfi1/chip.c | 54 +- drivers/infiniband/hw/hfi1/chip.h | 3 + drivers/infiniband/hw/hfi1/chip_registers.h | 3 + drivers/infiniband/hw/hfi1/common.h | 2 +- drivers/infiniband/hw/hfi1/debugfs.c | 82 +- drivers/infiniband/hw/hfi1/driver.c | 19 +- drivers/infiniband/hw/hfi1/exp_rcv.c | 3 - drivers/infiniband/hw/hfi1/hfi.h | 8 +- drivers/infiniband/hw/hfi1/init.c | 59 +- drivers/infiniband/hw/hfi1/opfn.h | 6 +- drivers/infiniband/hw/hfi1/qp.c | 2 + drivers/infiniband/hw/hfi1/rc.c | 27 +- drivers/infiniband/hw/hfi1/rc.h | 8 + drivers/infiniband/hw/hfi1/ruc.c | 2 +- drivers/infiniband/hw/hfi1/tid_rdma.c | 274 ++- drivers/infiniband/hw/hfi1/tid_rdma.h | 2 - drivers/infiniband/hw/hfi1/trace_dbg.h | 4 +- drivers/infiniband/hw/hfi1/trace_tid.h | 12 +- drivers/infiniband/hw/hfi1/verbs.c | 15 +- drivers/infiniband/hw/hfi1/verbs.h | 1 + drivers/infiniband/hw/hfi1/vnic_main.c | 16 +- drivers/infiniband/hw/hns/Makefile | 4 +- drivers/infiniband/hw/hns/hns_roce_ah.c | 36 +- drivers/infiniband/hw/hns/hns_roce_cmd.h | 1 + drivers/infiniband/hw/hns/hns_roce_common.h | 33 - drivers/infiniband/hw/hns/hns_roce_cq.c | 68 +- drivers/infiniband/hw/hns/hns_roce_device.h | 52 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 396 +---- drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 14 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 320 ++-- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 7 +- drivers/infiniband/hw/hns/hns_roce_hw_v2_dfx.c | 35 + drivers/infiniband/hw/hns/hns_roce_main.c | 35 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 6 +- drivers/infiniband/hw/hns/hns_roce_pd.c | 7 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 50 +- drivers/infiniband/hw/hns/hns_roce_restrack.c | 126 ++ drivers/infiniband/hw/hns/hns_roce_srq.c | 52 +- drivers/infiniband/hw/i40iw/i40iw.h | 2 +- drivers/infiniband/hw/i40iw/i40iw_cm.c | 21 +- drivers/infiniband/hw/i40iw/i40iw_main.c | 5 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 123 +- drivers/infiniband/hw/i40iw/i40iw_verbs.h | 3 +- drivers/infiniband/hw/mlx4/ah.c | 103 +- drivers/infiniband/hw/mlx4/cm.c | 36 +- drivers/infiniband/hw/mlx4/cq.c | 40 +- drivers/infiniband/hw/mlx4/doorbell.c | 6 +- drivers/infiniband/hw/mlx4/mad.c | 33 +- drivers/infiniband/hw/mlx4/main.c | 13 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 41 +- drivers/infiniband/hw/mlx4/mr.c | 7 +- drivers/infiniband/hw/mlx4/qp.c | 50 +- drivers/infiniband/hw/mlx4/srq.c | 59 +- drivers/infiniband/hw/mlx5/ah.c | 33 +- drivers/infiniband/hw/mlx5/cmd.c | 155 +- drivers/infiniband/hw/mlx5/cmd.h | 8 +- drivers/infiniband/hw/mlx5/cq.c | 47 +- drivers/infiniband/hw/mlx5/devx.c | 32 +- drivers/infiniband/hw/mlx5/flow.c | 99 +- drivers/infiniband/hw/mlx5/ib_rep.c | 109 +- drivers/infiniband/hw/mlx5/ib_rep.h | 13 +- drivers/infiniband/hw/mlx5/main.c | 662 ++++--- drivers/infiniband/hw/mlx5/mlx5_ib.h | 118 +- drivers/infiniband/hw/mlx5/mr.c | 52 +- drivers/infiniband/hw/mlx5/odp.c | 132 +- drivers/infiniband/hw/mlx5/qp.c | 161 +- drivers/infiniband/hw/mlx5/srq.c | 76 +- drivers/infiniband/hw/mlx5/srq.h | 7 +- drivers/infiniband/hw/mlx5/srq_cmd.c | 35 +- drivers/infiniband/hw/mthca/mthca_cq.c | 2 +- drivers/infiniband/hw/mthca/mthca_eq.c | 16 +- drivers/infiniband/hw/mthca/mthca_mr.c | 2 +- drivers/infiniband/hw/mthca/mthca_provider.c | 179 +- drivers/infiniband/hw/mthca/mthca_qp.c | 6 +- drivers/infiniband/hw/nes/nes_cm.c | 3 +- drivers/infiniband/hw/nes/nes_verbs.c | 168 +- drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 32 +- drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 6 +- drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 18 +- drivers/infiniband/hw/ocrdma/ocrdma_hw.h | 6 +- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 25 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 128 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 24 +- drivers/infiniband/hw/qedr/main.c | 57 +- drivers/infiniband/hw/qedr/qedr.h | 11 +- drivers/infiniband/hw/qedr/qedr_iw_cm.c | 10 +- drivers/infiniband/hw/qedr/qedr_roce_cm.c | 11 +- drivers/infiniband/hw/qedr/verbs.c | 129 +- drivers/infiniband/hw/qedr/verbs.h | 27 +- drivers/infiniband/hw/qib/qib.h | 4 +- drivers/infiniband/hw/qib/qib_common.h | 2 +- drivers/infiniband/hw/qib/qib_driver.c | 20 +- drivers/infiniband/hw/qib/qib_fs.c | 12 +- drivers/infiniband/hw/qib/qib_iba7322.c | 4 +- drivers/infiniband/hw/qib/qib_init.c | 56 +- drivers/infiniband/hw/qib/qib_rc.c | 4 +- drivers/infiniband/hw/qib/qib_user_sdma.c | 5 +- drivers/infiniband/hw/qib/qib_verbs.h | 2 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 15 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 12 +- drivers/infiniband/hw/usnic/usnic_uiom.c | 3 +- drivers/infiniband/hw/usnic/usnic_uiom.h | 3 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 17 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 28 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 15 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 3 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 43 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 56 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 27 +- drivers/infiniband/sw/rdmavt/ah.c | 38 +- drivers/infiniband/sw/rdmavt/ah.h | 8 +- drivers/infiniband/sw/rdmavt/cq.c | 7 +- drivers/infiniband/sw/rdmavt/cq.h | 3 +- drivers/infiniband/sw/rdmavt/mmap.c | 16 +- drivers/infiniband/sw/rdmavt/mmap.h | 6 +- drivers/infiniband/sw/rdmavt/mr.c | 9 +- drivers/infiniband/sw/rdmavt/mr.h | 7 +- drivers/infiniband/sw/rdmavt/pd.c | 7 +- drivers/infiniband/sw/rdmavt/pd.h | 5 +- drivers/infiniband/sw/rdmavt/qp.c | 27 +- drivers/infiniband/sw/rdmavt/qp.h | 4 +- drivers/infiniband/sw/rdmavt/rc.c | 2 +- drivers/infiniband/sw/rdmavt/srq.c | 49 +- drivers/infiniband/sw/rdmavt/srq.h | 7 +- drivers/infiniband/sw/rdmavt/trace_qp.h | 2 +- drivers/infiniband/sw/rdmavt/trace_rc.h | 2 +- drivers/infiniband/sw/rdmavt/trace_tx.h | 2 +- drivers/infiniband/sw/rdmavt/vt.c | 3 + drivers/infiniband/sw/rxe/rxe_cq.c | 10 +- drivers/infiniband/sw/rxe/rxe_hdr.h | 2 +- drivers/infiniband/sw/rxe/rxe_loc.h | 16 +- drivers/infiniband/sw/rxe/rxe_mmap.c | 14 +- drivers/infiniband/sw/rxe/rxe_mr.c | 13 +- drivers/infiniband/sw/rxe/rxe_net.c | 46 +- drivers/infiniband/sw/rxe/rxe_pool.c | 4 +- drivers/infiniband/sw/rxe/rxe_qp.c | 15 +- drivers/infiniband/sw/rxe/rxe_queue.c | 22 +- drivers/infiniband/sw/rxe/rxe_queue.h | 15 +- drivers/infiniband/sw/rxe/rxe_srq.c | 14 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 90 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 4 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 13 +- drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 3 +- drivers/infiniband/ulp/iser/Kconfig | 4 +- drivers/infiniband/ulp/iser/iscsi_iser.c | 7 +- drivers/infiniband/ulp/iser/iscsi_iser.h | 2 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 60 +- .../net/ethernet/mellanox/mlx5/core/lib/clock.c | 30 +- include/linux/dynamic_debug.h | 11 + include/linux/mlx5/driver.h | 1 - include/linux/overflow.h | 12 +- include/linux/scatterlist.h | 10 +- include/rdma/ib_cache.h | 4 + include/rdma/ib_mad.h | 4 +- include/rdma/ib_smi.h | 2 +- include/rdma/ib_umem.h | 12 +- include/rdma/ib_umem_odp.h | 1 + include/rdma/ib_verbs.h | 430 ++++- include/rdma/iw_cm.h | 25 - include/rdma/opa_port_info.h | 2 +- include/rdma/opa_smi.h | 4 +- include/rdma/rdma_vt.h | 78 +- include/rdma/rdmavt_qp.h | 89 +- include/rdma/uverbs_std_types.h | 42 +- include/rdma/uverbs_types.h | 18 +- include/trace/events/ib_mad.h | 390 +++++ include/trace/events/ib_umad.h | 126 ++ include/uapi/rdma/efa-abi.h | 101 ++ include/uapi/rdma/mlx5-abi.h | 2 + include/uapi/rdma/mlx5_user_ioctl_cmds.h | 2 + include/uapi/rdma/mlx5_user_ioctl_verbs.h | 7 + include/uapi/rdma/rdma_netlink.h | 31 +- include/uapi/rdma/rdma_user_ioctl_cmds.h | 1 + lib/dynamic_debug.c | 37 + net/smc/smc_ib.c | 16 +- samples/bpf/Makefile | 3 + samples/bpf/ibumad_kern.c | 144 ++ samples/bpf/ibumad_user.c | 122 ++ 251 files changed, 12535 insertions(+), 4571 deletions(-) (diffstat from merge'd tree) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 9 May 2019 13:37:23 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/dce45af5c2e9e85f22578f2f8065f225f5d11764 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 1991 bytes --] Hi Linus, These are the 2nd proposed RDMA patches for 5.2. As requested the main reason to send this is to fix the gcc 9.1 warnings that many people may hit now that FC30 is out. Thanks, Jason The following changes since commit b79656ed44c6865e17bcd93472ec39488bcc4984: RDMA/ipoib: Allow user space differentiate between valid dev_port (2019-05-07 16:13:23 -0300) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to c191f93454bcc92810b9c8cdb895a452a57948c2: net/mlx5: Set completion EQs as shared resources (2019-05-14 10:22:09 -0300) ---------------------------------------------------------------- 5.2 Merge Window second pull request This is being sent to get a fix for the gcc 9.1 build warnings, and I've also pulled in some bug fix patches that were posted in the last two weeks. - Avoid the gcc 9.1 warning about overflowing a union member - Fix the wrong callback type for a single response netlink to doit - Bug fixes from more usage of the mlx5 devx interface ---------------------------------------------------------------- Jason Gunthorpe (1): RDMA: Directly cast the sockaddr union to sockaddr Parav Pandit (1): RDMA/core: Change system parameters callback from dumpit to doit Yishai Hadas (2): IB/mlx5: Verify DEVX general object type correctly net/mlx5: Set completion EQs as shared resources drivers/infiniband/core/addr.c | 16 ++++++++-------- drivers/infiniband/core/nldev.c | 27 +++++++++++++++------------ drivers/infiniband/hw/mlx5/devx.c | 13 ++++++++++--- drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 5 ++--- drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 5 ++--- drivers/net/ethernet/mellanox/mlx5/core/eq.c | 3 +++ include/linux/mlx5/mlx5_ifc.h | 2 +- include/uapi/rdma/rdma_netlink.h | 2 +- 8 files changed, 42 insertions(+), 31 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Wed, 15 May 2019 00:46:58 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/5ac94332248ee017964ba368cdda4ce647e3aba7 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 2980 bytes --] Hi Linus, Things are looking pretty quiet here in RDMA, not too many bug fixes rolling in right now. Here is the first batch of proposed rc fixes. Thanks, Jason The following changes since commit a188339ca5a396acc588e5851ed7e19f66b0ebd9: Linux 5.2-rc1 (2019-05-19 15:47:09 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 4f240dfec6bcc852b124ea7c419fb590949fbd4c: RDMA/efa: Remove MAYEXEC flag check from mmap flow (2019-05-29 13:13:03 -0300) ---------------------------------------------------------------- 5.2 First rc pull request The usual driver bug fixes and fixes for a couple of regressions introduced in 5.2: - Fix a race on bootup with RDMA device renaming and srp. SRP also needs to rename its internal sys files - Fix a memory leak in hns - Don't leak resources in efa on certain error unwinds - Don't panic in certain error unwinds in ib_register_device - Various small user visible bug fix patches for the hfi and efa drivers - Fix the 32 bit compilation break ---------------------------------------------------------------- Gal Pressman (2): RDMA/uverbs: Pass udata on uverbs error unwind RDMA/efa: Remove MAYEXEC flag check from mmap flow Jason Gunthorpe (1): RDMA/core: Clear out the udata before error unwind Kamal Heib (1): RDMA/core: Fix panic when port_data isn't initialized Kamenee Arumugam (1): IB/hfi1: Validate page aligned for a given virtual address Leon Romanovsky (2): RDMA/srp: Rename SRP sysfs name after IB device rename trigger RDMA/hns: Fix PD memory leak for internal allocation Michal Kubecek (1): mlx5: avoid 64-bit division Mike Marciniszyn (3): IB/rdmavt: Fix alloc_qpn() WARN_ON() IB/hfi1: Insure freeze_work work_struct is canceled on shutdown IB/{qib, hfi1, rdmavt}: Correct ibv_devinfo max_mr value drivers/infiniband/core/device.c | 49 +++++++++++++++++++-------- drivers/infiniband/core/rdma_core.h | 2 ++ drivers/infiniband/core/uverbs_cmd.c | 30 +++++++++++----- drivers/infiniband/core/uverbs_std_types_cq.c | 2 +- drivers/infiniband/core/uverbs_std_types_mr.c | 2 +- drivers/infiniband/hw/efa/efa_verbs.c | 1 - drivers/infiniband/hw/hfi1/chip.c | 1 + drivers/infiniband/hw/hfi1/user_exp_rcv.c | 3 ++ drivers/infiniband/hw/hfi1/verbs.c | 2 -- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 1 + drivers/infiniband/hw/mlx5/cmd.c | 9 +++-- drivers/infiniband/hw/mlx5/main.c | 2 +- drivers/infiniband/hw/qib/qib_verbs.c | 2 -- drivers/infiniband/sw/rdmavt/mr.c | 2 ++ drivers/infiniband/sw/rdmavt/qp.c | 3 +- drivers/infiniband/ulp/srp/ib_srp.c | 18 +++++++++- include/rdma/ib_verbs.h | 1 + 17 files changed, 95 insertions(+), 35 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 6 Jun 2019 20:14:24 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/6e38335dcc70f03faba26bf1260ee024d930afe1 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 29247 bytes --] Hi Linus, These are the proposed RDMA patches for 5.3 This has been a more exciting merge window than usual, the late merge of the new siw driver, combined with the absence of the 0-Day testing service and the July long weekend created a stream of build fixes for siw this week. I'm hoping we got them all, but if there are more I will send them for rc1. There is one non-textual conflict with an API change in netdev that will require this patch in the merge commit to resolve: diff --git a/drivers/infiniband/sw/siw/siw_cm.c b/drivers/infiniband/sw/siw/siw_cm.c index 43f7f12e5f7f81..a7cde98e73e8c8 100644 --- a/drivers/infiniband/sw/siw/siw_cm.c +++ b/drivers/infiniband/sw/siw/siw_cm.c @@ -1963,6 +1963,7 @@ int siw_create_listen(struct iw_cm_id *id, int backlog) if (id->local_addr.ss_family == AF_INET) { struct in_device *in_dev = in_dev_get(dev); struct sockaddr_in s_laddr, *s_raddr; + const struct in_ifaddr *ifa; memcpy(&s_laddr, &id->local_addr, sizeof(s_laddr)); s_raddr = (struct sockaddr_in *)&id->remote_addr; @@ -1973,8 +1974,7 @@ int siw_create_listen(struct iw_cm_id *id, int backlog) &s_raddr->sin_addr, ntohs(s_raddr->sin_port)); rtnl_lock(); - for_ifa(in_dev) - { + in_dev_for_each_ifa_rtnl(ifa, in_dev) { if (ipv4_is_zeronet(s_laddr.sin_addr.s_addr) || s_laddr.sin_addr.s_addr == ifa->ifa_address) { s_laddr.sin_addr.s_addr = ifa->ifa_address; @@ -1986,7 +1986,6 @@ int siw_create_listen(struct iw_cm_id *id, int backlog) listeners++; } } - endfor_ifa(in_dev); rtnl_unlock(); in_dev_put(in_dev); } else if (id->local_addr.ss_family == AF_INET6) { The tag for-linus-merged with my merge resolution to your tree is also available to pull. The following changes since commit f8efee08dd9d41ab71010e9b16c9ead51753b7d6: net/mlx5: Add rts2rts_qp_counters_set_id field in hca cap (2019-07-04 21:36:33 +0300) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 0b043644c0ca601cb19943a81aa1f1455dbe9461: RMDA/siw: Require a 64 bit arch (2019-07-12 12:12:06 -0300) ---------------------------------------------------------------- 5.3 Merge window RDMA pull request A smaller cycle this time. Notably we see another new driver, 'Soft iWarp', and the deletion of an ancient unused driver for nes. - Revise and simplify the signature offload RDMA MR APIs - More progress on hoisting object allocation boiler plate code out of the drivers - Driver bug fixes and revisions for hns, hfi1, efa, cxgb4, qib, i40iw - Tree wide cleanups: struct_size, put_user_page, xarray, rst doc conversion - Removal of obsolete ib_ucm chardev and nes driver - netlink based discovery of chardevs and autoloading of the modules providing them - Move more of the rdamvt/hfi1 uapi to include/uapi/rdma - New driver 'siw' for software based iWarp running on top of netdev, much like rxe's software RoCE. - mlx5 feature to report events in their raw devx format to userspace - Expose per-object counters through rdma tool - Adaptive interrupt moderation for RDMA (DIM), sharing the DIM core from netdev ---------------------------------------------------------------- Bart Van Assche (1): RDMA/srp: Accept again source addresses that do not have a port number Bernard Metzler (12): rdma/siw: iWarp wire packet format rdma/siw: main include file rdma/siw: network and RDMA core interface rdma/siw: connection management rdma/siw: application interface rdma/siw: application buffer management rdma/siw: queue pair methods rdma/siw: transmit path rdma/siw: receive path rdma/siw: completion queue methods rdma/siw: addition to kernel build environment RDMA/siw: Remove unnecessary kthread create/destroy printouts Colin Ian King (4): RDMA/hns: fix inverted logic of readl read and shift RDMA/hns: fix potential integer overflow on left shift RDMA/hns: fix spelling mistake "attatch" -> "attach" RDMA/uverbs: remove redundant assignment to variable ret Dag Moxnes (1): RDMA/core: Fix race when resolving IP address Dan Carpenter (2): RDMA/uverbs: check for allocation failure in uapi_add_elm() RDMA/hns: Fix an error code in hns_roce_set_user_sq_size() Daniel Kranzdorf (1): RDMA/efa: Entropy in admin commands id Danit Goldberg (1): IB/mlx5: Report correctly tag matching rendezvous capability Dennis Dalessandro (2): IB/hfi1: Remove extra brackets from an if IB/hfi1: No need to use try_module_get for debugfs Doug Ledford (3): Merge remote-tracking branch 'mlx5-next/mlx5-next' into HEAD RDMA/netlink: Resort policy array RDMA/netlink: Audit policy settings for netlink attributes Firas Jahjah (1): RDMA/efa: Print address on AH creation failure Fuqian Huang (3): IB: Remove unneeded memset IB/ipoib: Remove memset after vzalloc in ipoib_cm.c IB/i40iw: Use kmemdup rather than open coding Gal Pressman (6): RDMA/efa: Use kvzalloc instead of kzalloc with fallback RDMA/efa: Remove unneeded admin commands abort flow RDMA/efa: Use rdma block iterator in chunk list creation RDMA/efa: Remove unused includes RDMA/efa: Use API to get contiguous memory blocks aligned to device supported page size RDMA/efa: Be consistent with success flow return value Geert Uytterhoeven (2): IB/hfi1: Spelling s/statisfied/satisfied/ rdma/siw: Add missing dependencies on LIBCRC32C and DMA_VIRT_OPS Gustavo A. R. Silva (5): IB/rdmavt: Use struct_size() helper IB/qib: Use struct_size() helper IB/hfi1: Use struct_size() helper RDMA/ucma: Use struct_size() helper RDMA/siw: Mark expected switch fall-throughs Israel Rukshin (15): IB/iser: Refactor iscsi_iser_check_protection function IB/iser: Remove unused sig_attrs argument IB/isert: Remove unused sig_attrs argument RDMA/rw: Fix doc typo RDMA/rw: Print the correct number of sig MRs RDMA/core: Fix doc typo RDMA/core: Introduce IB_MR_TYPE_INTEGRITY and ib_alloc_mr_integrity API IB/iser: Use IB_WR_REG_MR_INTEGRITY for PI handover IB/iser: Unwind WR union at iser_tx_desc RDMA/core: Add an integrity MR pool support RDMA/core: Rename signature qp create flag and signature device capability RDMA/rw: Introduce rdma_rw_inv_key helper RDMA/rw: Use IB_WR_REG_MR_INTEGRITY for PI handover RDMA/mlx5: Remove unused IB_WR_REG_SIG_MR code RDMA/mlx5: Improve PI handover performance Jason Gunthorpe (23): RDMA/umem: Move page_shift from ib_umem to ib_odp_umem rdma: Delete the ib_ucm module RDMA: Move driver_id into struct ib_device_ops RDMA: Move uverbs_abi_ver into struct ib_device_ops RDMA: Move owner into struct ib_device_ops rdma: Remove nes RDMA: Move rdma_node_type to uapi/ RDMA: Add NLDEV_GET_CHARDEV to allow char dev discovery and autoload RDMA: Report available cdevs through RDMA_NLDEV_CMD_GET_CHARDEV RDMA/odp: Fix missed unlock in non-blocking invalidate_start RDMA/uverbs: Use offsetofend instead of opencoding RDMA/odp: Do not leak dma maps when working with huge pages Merge tag 'v5.2-rc6' into rdma.git for-next Merge branch 'siw' into rdma.git for-next Merge mlx5-next into rdma for-next Merge mlx5-next into rdma for-next RDMA/siw: Fix DEFINE_PER_CPU compilation when ARCH_NEEDS_WEAK_PER_CPU RDMA/rvt: Do not use a kernel header in the ABI Merge branch 'vhca-tunnel' into rdma.git for-next Merge tag 'blk-dim-v2' into rdma.git for-next RDMA/core: Make rdma_counter.h compile stand alone RDMA/siw: Add missing rtnl_lock around access to ifa RMDA/siw: Require a 64 bit arch John Hubbard (1): RDMA: Convert put_page() to put_user_page*() Kamal Heib (3): RDMA/core: Return void from ib_device_check_mandatory() RDMA/ipoib: implement ethtool .get_link() callback RDMA/ipoib: Remove check for ETH_SS_TEST Kamenee Arumugam (4): IB/hfi1: Move rvt_cq_wc struct into uapi directory IB/hfi1: Move receive work queue struct into uapi directory IB/rdmavt: Fracture single lock used for posting and processing RWQEs IB/{hfi1, qib, rdmavt}: Put qp in error state when cq is full Konstantin Taranov (1): RDMA/rxe: Fill in wc byte_len with IB_WC_RECV_RDMA_WITH_IMM Lang Cheng (6): RDMA/hns: Move spin_lock_irqsave to the correct place RDMA/hns: Remove jiffies operation in disable interrupt context RDMA/hns: reset function when removing module RDMA/hns: Set reset flag when hw resetting RDMA/hns: Use %pK format pointer print RDMA/hns: Clean up unnecessary variable initialization Leon Romanovsky (20): rds: Don't check return value from destroy CQ RDMA/ipoib: Remove check of destroy CQ RDMA/core: Make ib_destroy_cq() void RDMA/nes: Remove useless NULL checks RDMA/i40iw: Remove useless NULL checks RDMA/nes: Remove second wait queue initialization call RDMA/efa: Remove check that prevents destroy of resources in error flows RDMA/cxgb3: Use sizeof() notation instead of plain sizeof RDMA/cxgb3: Don't expose DMA addresses RDMA/cxgb3: Delete and properly mark unimplemented resize CQ function RDMA/cxgb4: Use sizeof() notation RDMA/cxgb4: Don't expose DMA addresses RDMA/nes: Avoid memory allocation during CQ destroy RDMA: Clean destroy CQ in drivers do not return errors RDMA: Convert CQ allocations to be under core responsibility RDMA: Convert destroy_wq to be void RDMA: Check umem pointer validity prior to release RDMa/hns: Don't stuck in endless timeout loop RDMA/mlx5: Use proper allocation API to get zeroed memory RDMA/mlx5: Set RDMA DIM to be enabled by default Lijun Ou (11): RDMA/hns: Update CQE specifications RDMA/hns: Replace magic numbers with #defines RDMA/hns: Bugfix for posting multiple srq work request RDMA/hns: Bugfix for filling the sge of srq RDMA/hns: Add mtr support for mixed multihop addressing RDMA/hns: Add a group interfaces for optimizing buffers getting flow RDMA/hns: Fix bug when wqe num is larger than 16K RDMA/hns: Cleanup unnecessary exported symbols RDMA/hns: Fix building modular hns RDMA/hns: Bugfix for cleaning mtr RDMA/hns: Bugfix for calculating qp buffer size Liu, Changcheng (1): RDMA/i40iw: Set queue pair state when being queried Maksym Planeta (1): ibverbs/rxe: Remove variable self-initialization Maor Gottlieb (2): RDMA/mlx5: Consider eswitch encap mode RDMA/mlx5: Enable decap and packet reformat on FDB Mark Zhang (16): RDMA/restrack: Introduce statistic counter RDMA/restrack: Add an API to attach a task to a resource RDMA/restrack: Make is_visible_in_pid_ns() as an API RDMA/counter: Add set/clear per-port auto mode support RDMA/counter: Add "auto" configuration mode support IB/mlx5: Support set qp counter IB/mlx5: Add counter set id as a parameter for mlx5_ib_query_q_counters() IB/mlx5: Support statistic q counter configuration RDMA/nldev: Allow counter auto mode configration through RDMA netlink RDMA/netlink: Implement counter dumpit calback IB/mlx5: Add counter_alloc_stats() and counter_update_stats() support RDMA/core: Get sum value of all counters when perform a sysfs stat read RDMA/counter: Allow manual mode configuration support RDMA/nldev: Allow counter manual mode configration through RDMA netlink RDMA/nldev: Allow get counter mode through RDMA netlink RDMA/nldev: Allow get default counter statistics through RDMA netlink Matthew Wilcox (2): ucma: Convert multicast_idr to XArray ucma: Convert ctx_idr to XArray Mauro Carvalho Chehab (2): docs: infiniband: convert docs to ReST and rename to *.rst docs: infiniband: add it to the driver-api bookset Max Gurtovoy (15): RDMA/rw: Add info regarding SG count failure RDMA/core: Introduce new header file for signature operations RDMA/core: Save the MR type in the ib_mr structure RDMA/core: Introduce ib_map_mr_sg_pi to map data/protection sgl's RDMA/core: Add signature attrs element for ib_mr structure RDMA/mlx5: Implement mlx5_ib_map_mr_sg_pi and mlx5_ib_alloc_mr_integrity RDMA/mlx5: Add attr for max number page list length for PI operation RDMA/mlx5: Pass UMR segment flags instead of boolean RDMA/mlx5: Update set_sig_data_segment attribute for new signature API RDMA/mlx5: Introduce and implement new IB_WR_REG_MR_INTEGRITY work request RDMA/core: Validate integrity handover device cap RDMA/mlx5: Use PA mapping for PI handover RDMA/mlx5: Refactor MR descriptors allocation net/mlx5: Introduce VHCA tunnel device capability IB/mlx5: Implement VHCA tunnel mechanism in DEVX Michael J. Ruhl (4): IB/rdmavt: Set QP allowed opcodes after QP allocation IB/{rdmavt, hfi1, qib}: Remove AH refcount for UD QPs IB/{rdmavt, hfi1, qib}: Add helpers to hide SWQE WR details IB/hfi1: Reduce excessive aspm inlines Mike Marciniszyn (5): IB/rdmavt: Add new completion inline IB/{rdmavt, qib, hfi1}: Convert to new completion API IB/hfi1: Add missing INVALIDATE opcodes for trace IB/rdmavt: Enhance trace information for FRWR debug IB/rdmavt: Add trace for map_mr_sg Nathan Chancellor (2): IB/rdmavt: Fix variable shadowing issue in rvt_create_cq rdma/siw: Use proper enumerated type in map_cqe_status Nirranjan Kirubaharan (1): iw_cxgb4: Fix qpid leak Parav Pandit (2): IB/mlx5: Fixed reporting counters on 2nd port for Dual port RoCE IB/core: Work on the caller socket net namespace in nldev_newlink() Qian Cai (1): RDMA/core: Fix -Wunused-const-variable warnings Sagiv Ozeri (1): RDMA/qedr: Fix incorrect device rate. Valentine Fatiev (1): IB/ipoib: Add child to parent list only if device initialized Xi Wang (1): RDMA/hns: Fixs hw access invalid dma memory error Yamin Friedman (3): linux/dim: Implement RDMA adaptive moderation (DIM) RDMA/core: Provide RDMA DIM support for ULPs RDMA/nldev: Added configuration of RDMA dynamic interrupt moderation to netlink Yangyang Li (1): RDMA/hns: Modify ba page size for cqe Yishai Hadas (6): IB/mlx5: Introduce MLX5_IB_OBJECT_DEVX_ASYNC_EVENT_FD IB/mlx5: Register DEVX with mlx5_core to get async events IB/mlx5: Enable subscription for device events over DEVX IB/mlx5: Implement DEVX dispatching event IB/mlx5: Add DEVX support for CQ events IB/mlx5: DEVX cleanup mdev Yixian Liu (1): RDMA/hns: Remove unnecessary print message in aeq YueHaibing (3): IB/hfi1: Remove set but not used variables 'offset' and 'fspsn' RDMA/hns: Remove set but not used variable 'fclr_write_fail_flag' rdma/siw: Remove set but not used variable 's' Yuval Shaia (1): IB/mlx4: Delete unused func arg chenglang (1): RDMA/hns: Fixup qp release bug Documentation/ABI/stable/sysfs-class-infiniband | 17 - Documentation/index.rst | 1 + .../{core_locking.txt => core_locking.rst} | 64 +- Documentation/infiniband/index.rst | 23 + Documentation/infiniband/{ipoib.txt => ipoib.rst} | 24 +- .../infiniband/{opa_vnic.txt => opa_vnic.rst} | 110 +- Documentation/infiniband/{sysfs.txt => sysfs.rst} | 4 +- .../{tag_matching.txt => tag_matching.rst} | 5 + .../infiniband/{user_mad.txt => user_mad.rst} | 33 +- .../infiniband/{user_verbs.txt => user_verbs.rst} | 12 +- MAINTAINERS | 15 +- drivers/infiniband/Kconfig | 14 +- drivers/infiniband/core/Makefile | 5 +- drivers/infiniband/core/addr.c | 2 +- drivers/infiniband/core/core_priv.h | 10 + drivers/infiniband/core/counters.c | 634 ++++ drivers/infiniband/core/cq.c | 95 +- drivers/infiniband/core/device.c | 150 +- drivers/infiniband/core/mr_pool.c | 8 +- drivers/infiniband/core/nldev.c | 800 +++- drivers/infiniband/core/restrack.c | 49 +- drivers/infiniband/core/restrack.h | 3 + drivers/infiniband/core/rw.c | 201 +- drivers/infiniband/core/sysfs.c | 16 +- drivers/infiniband/core/ucm.c | 1350 ------- drivers/infiniband/core/ucma.c | 114 +- drivers/infiniband/core/umem.c | 13 +- drivers/infiniband/core/umem_odp.c | 106 +- drivers/infiniband/core/user_mad.c | 53 +- drivers/infiniband/core/uverbs_cmd.c | 28 +- drivers/infiniband/core/uverbs_main.c | 40 +- drivers/infiniband/core/uverbs_std_types_cq.c | 19 +- drivers/infiniband/core/uverbs_std_types_mr.c | 1 + drivers/infiniband/core/uverbs_uapi.c | 4 +- drivers/infiniband/core/verbs.c | 165 +- drivers/infiniband/hw/Makefile | 1 - drivers/infiniband/hw/bnxt_re/ib_verbs.c | 66 +- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 9 +- drivers/infiniband/hw/bnxt_re/main.c | 8 +- drivers/infiniband/hw/cxgb3/cxio_hal.c | 33 +- drivers/infiniband/hw/cxgb3/cxio_hal.h | 3 +- drivers/infiniband/hw/cxgb3/iwch_cm.c | 2 +- drivers/infiniband/hw/cxgb3/iwch_provider.c | 160 +- drivers/infiniband/hw/cxgb4/cm.c | 21 +- drivers/infiniband/hw/cxgb4/cq.c | 55 +- drivers/infiniband/hw/cxgb4/device.c | 9 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 11 +- drivers/infiniband/hw/cxgb4/mem.c | 8 +- drivers/infiniband/hw/cxgb4/provider.c | 9 +- drivers/infiniband/hw/cxgb4/qp.c | 95 +- drivers/infiniband/hw/cxgb4/resource.c | 16 +- drivers/infiniband/hw/efa/efa.h | 9 +- drivers/infiniband/hw/efa/efa_com.c | 118 +- drivers/infiniband/hw/efa/efa_com.h | 1 - drivers/infiniband/hw/efa/efa_com_cmd.c | 8 +- drivers/infiniband/hw/efa/efa_main.c | 10 +- drivers/infiniband/hw/efa/efa_verbs.c | 248 +- drivers/infiniband/hw/hfi1/Makefile | 1 + drivers/infiniband/hw/hfi1/aspm.c | 270 ++ drivers/infiniband/hw/hfi1/aspm.h | 262 +- drivers/infiniband/hw/hfi1/debugfs.c | 5 +- drivers/infiniband/hw/hfi1/mad.c | 9 +- drivers/infiniband/hw/hfi1/pcie.c | 6 +- drivers/infiniband/hw/hfi1/pio.c | 3 +- drivers/infiniband/hw/hfi1/qp.c | 8 +- drivers/infiniband/hw/hfi1/rc.c | 29 +- drivers/infiniband/hw/hfi1/tid_rdma.c | 7 +- drivers/infiniband/hw/hfi1/trace_ibhdrs.h | 2 + drivers/infiniband/hw/hfi1/uc.c | 3 +- drivers/infiniband/hw/hfi1/ud.c | 36 +- drivers/infiniband/hw/hfi1/user_pages.c | 11 +- drivers/infiniband/hw/hfi1/verbs.c | 6 +- drivers/infiniband/hw/hns/Kconfig | 15 +- drivers/infiniband/hw/hns/Makefile | 15 +- drivers/infiniband/hw/hns/hns_roce_alloc.c | 101 +- drivers/infiniband/hw/hns/hns_roce_cmd.c | 6 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 81 +- drivers/infiniband/hw/hns/hns_roce_db.c | 12 +- drivers/infiniband/hw/hns/hns_roce_device.h | 108 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 504 ++- drivers/infiniband/hw/hns/hns_roce_hem.h | 16 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 79 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 280 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 23 +- drivers/infiniband/hw/hns/hns_roce_main.c | 31 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 166 +- drivers/infiniband/hw/hns/hns_roce_pd.c | 4 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 220 +- drivers/infiniband/hw/hns/hns_roce_srq.c | 40 +- drivers/infiniband/hw/i40iw/i40iw_cm.c | 4 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 56 +- drivers/infiniband/hw/mlx4/cq.c | 43 +- drivers/infiniband/hw/mlx4/main.c | 21 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 9 +- drivers/infiniband/hw/mlx4/mr.c | 16 +- drivers/infiniband/hw/mlx4/qp.c | 11 +- drivers/infiniband/hw/mlx4/srq.c | 9 +- drivers/infiniband/hw/mlx5/cq.c | 56 +- drivers/infiniband/hw/mlx5/devx.c | 1053 +++++- drivers/infiniband/hw/mlx5/mad.c | 60 +- drivers/infiniband/hw/mlx5/main.c | 157 +- drivers/infiniband/hw/mlx5/mem.c | 20 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 47 +- drivers/infiniband/hw/mlx5/mr.c | 554 ++- drivers/infiniband/hw/mlx5/odp.c | 23 +- drivers/infiniband/hw/mlx5/qp.c | 312 +- drivers/infiniband/hw/mthca/mthca_allocator.c | 2 - drivers/infiniband/hw/mthca/mthca_memfree.c | 6 +- drivers/infiniband/hw/mthca/mthca_provider.c | 52 +- drivers/infiniband/hw/nes/Kconfig | 16 - drivers/infiniband/hw/nes/Makefile | 4 - drivers/infiniband/hw/nes/nes.c | 1211 ------ drivers/infiniband/hw/nes/nes.h | 574 --- drivers/infiniband/hw/nes/nes_cm.c | 3992 -------------------- drivers/infiniband/hw/nes/nes_cm.h | 470 --- drivers/infiniband/hw/nes/nes_context.h | 193 - drivers/infiniband/hw/nes/nes_hw.c | 3887 ------------------- drivers/infiniband/hw/nes/nes_hw.h | 1380 ------- drivers/infiniband/hw/nes/nes_mgt.c | 1155 ------ drivers/infiniband/hw/nes/nes_mgt.h | 97 - drivers/infiniband/hw/nes/nes_nic.c | 1870 --------- drivers/infiniband/hw/nes/nes_utils.c | 916 ----- drivers/infiniband/hw/nes/nes_verbs.c | 3759 ------------------ drivers/infiniband/hw/nes/nes_verbs.h | 198 - drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 11 +- drivers/infiniband/hw/ocrdma/ocrdma_hw.h | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 8 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 38 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 7 +- drivers/infiniband/hw/qedr/main.c | 8 +- drivers/infiniband/hw/qedr/verbs.c | 82 +- drivers/infiniband/hw/qedr/verbs.h | 7 +- drivers/infiniband/hw/qib/qib_qp.c | 4 +- drivers/infiniband/hw/qib/qib_rc.c | 29 +- drivers/infiniband/hw/qib/qib_uc.c | 3 +- drivers/infiniband/hw/qib/qib_ud.c | 28 +- drivers/infiniband/hw/qib/qib_user_pages.c | 11 +- drivers/infiniband/hw/qib/qib_user_sdma.c | 11 +- drivers/infiniband/hw/qib/qib_verbs.c | 6 +- drivers/infiniband/hw/usnic/usnic_ib.h | 4 + drivers/infiniband/hw/usnic/usnic_ib_main.c | 8 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 22 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 7 +- drivers/infiniband/hw/usnic/usnic_uiom.c | 7 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 46 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 8 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 3 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 16 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 7 +- drivers/infiniband/sw/Makefile | 1 + drivers/infiniband/sw/rdmavt/ah.c | 6 +- drivers/infiniband/sw/rdmavt/cq.c | 250 +- drivers/infiniband/sw/rdmavt/cq.h | 7 +- drivers/infiniband/sw/rdmavt/mr.c | 6 +- drivers/infiniband/sw/rdmavt/qp.c | 402 +- drivers/infiniband/sw/rdmavt/qp.h | 2 + drivers/infiniband/sw/rdmavt/rc.c | 41 +- drivers/infiniband/sw/rdmavt/srq.c | 69 +- drivers/infiniband/sw/rdmavt/trace_mr.h | 56 +- drivers/infiniband/sw/rdmavt/vt.c | 7 +- drivers/infiniband/sw/rdmavt/vt.h | 9 + drivers/infiniband/sw/rxe/rxe_comp.c | 2 +- drivers/infiniband/sw/rxe/rxe_mr.c | 3 +- drivers/infiniband/sw/rxe/rxe_pool.c | 1 + drivers/infiniband/sw/rxe/rxe_resp.c | 5 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 40 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 3 +- drivers/infiniband/sw/siw/Kconfig | 18 + drivers/infiniband/sw/siw/Makefile | 11 + drivers/infiniband/sw/siw/iwarp.h | 380 ++ drivers/infiniband/sw/siw/siw.h | 745 ++++ drivers/infiniband/sw/siw/siw_cm.c | 2070 ++++++++++ drivers/infiniband/sw/siw/siw_cm.h | 133 + drivers/infiniband/sw/siw/siw_cq.c | 101 + drivers/infiniband/sw/siw/siw_main.c | 685 ++++ drivers/infiniband/sw/siw/siw_mem.c | 460 +++ drivers/infiniband/sw/siw/siw_mem.h | 74 + drivers/infiniband/sw/siw/siw_qp.c | 1322 +++++++ drivers/infiniband/sw/siw/siw_qp_rx.c | 1458 +++++++ drivers/infiniband/sw/siw/siw_qp_tx.c | 1269 +++++++ drivers/infiniband/sw/siw/siw_verbs.c | 1760 +++++++++ drivers/infiniband/sw/siw/siw_verbs.h | 91 + drivers/infiniband/ulp/ipoib/Kconfig | 2 +- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 1 - drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 3 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 34 +- drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 7 +- drivers/infiniband/ulp/iser/iscsi_iser.c | 12 +- drivers/infiniband/ulp/iser/iscsi_iser.h | 64 +- drivers/infiniband/ulp/iser/iser_initiator.c | 12 +- drivers/infiniband/ulp/iser/iser_memory.c | 121 +- drivers/infiniband/ulp/iser/iser_verbs.c | 156 +- drivers/infiniband/ulp/isert/ib_isert.c | 19 +- drivers/infiniband/ulp/srp/ib_srp.c | 21 +- drivers/nvme/host/rdma.c | 2 +- include/linux/dim.h | 23 + include/linux/mlx5/mlx5_ifc.h | 6 +- include/linux/mlx5/qp.h | 4 +- include/rdma/ib_umem.h | 19 +- include/rdma/ib_umem_odp.h | 20 + include/rdma/ib_verbs.h | 247 +- include/rdma/mr_pool.h | 2 +- include/rdma/rdma_counter.h | 65 + include/rdma/rdma_netlink.h | 8 + include/rdma/rdma_vt.h | 5 +- include/rdma/rdmavt_cq.h | 25 +- include/rdma/rdmavt_qp.h | 312 +- include/rdma/restrack.h | 9 +- include/rdma/rw.h | 9 - include/rdma/signature.h | 122 + include/uapi/rdma/ib_user_cm.h | 326 -- include/uapi/rdma/mlx5_user_ioctl_cmds.h | 19 + include/uapi/rdma/mlx5_user_ioctl_verbs.h | 9 + include/uapi/rdma/rdma_netlink.h | 86 +- include/uapi/rdma/rdma_user_ioctl_cmds.h | 1 + include/uapi/rdma/rvt-abi.h | 66 + include/uapi/rdma/siw-abi.h | 185 + lib/dim/Makefile | 6 +- lib/dim/rdma_dim.c | 108 + net/rds/ib_cm.c | 8 +- 221 files changed, 18855 insertions(+), 24841 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Mon, 15 Jul 2019 15:26:22 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/2a3c389a0fde49b241430df806a34276568cfb29 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
Hi Linus, First rc pull request The usual collection of driver bug fixes, and fewer siw static checker warnings than I feared. Thanks, Jason The following changes since commit 5f9e832c137075045d15cd6899ab0505cfb2ca4b: Linus 5.3-rc1 (2019-07-21 14:05:38 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to b7165bd0d6cbb93732559be6ea8774653b204480: IB/mlx5: Fix RSS Toeplitz setup to be aligned with the HW specification (2019-07-25 11:45:48 -0300) ---------------------------------------------------------------- 5.3 rc RDMA pull request A few regression and bug fixes for the patches merged in the last cycle: - hns fixes a subtle crash from the ib core SGL rework - hfi1 fixes various error handling, oops and protocol errors - bnxt_re fixes a regression where nvmeof doesn't work on some configurations - mlx5 fixes a serious 'use after free' bug in how MR caching is handled - Some edge case crashers in the new statistic core code - More siw static checker fixups ---------------------------------------------------------------- Chuhong Yuan (1): IB/mlx5: Replace kfree with kvfree John Fleck (1): IB/hfi1: Check for error on call to alloc_rsm_map_table Kaike Wan (3): IB/hfi1: Unreserve a flushed OPFN request IB/hfi1: Field not zero-ed when allocating TID flow memory IB/hfi1: Drop all TID RDMA READ RESP packets after r_next_psn Mao Wenan (1): RDMA/siw: Remove set but not used variables 'rv' Moni Shoua (1): IB/mlx5: Prevent concurrent MR updates during invalidation Parav Pandit (2): IB/core: Fix querying total rdma stats IB/counters: Always initialize the port counter object Selvin Xavier (1): RDMA/bnxt_re: Honor vlan_id in GID entry comparison Wei Yongjun (1): RDMA/siw: Fix error return code in siw_init_module() Xi Wang (1): RDMA/hns: Fix sg offset non-zero issue Yishai Hadas (5): IB/mlx5: Fix unreg_umr to ignore the mkey state IB/mlx5: Use direct mkey destroy command upon UMR unreg failure IB/mlx5: Move MRs to a kernel PD when freeing them to the MR cache IB/mlx5: Fix clean_mr() to work in the expected order IB/mlx5: Fix RSS Toeplitz setup to be aligned with the HW specification drivers/infiniband/core/counters.c | 11 +++++--- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 7 +++-- drivers/infiniband/hw/bnxt_re/qplib_res.c | 13 +++++++--- drivers/infiniband/hw/bnxt_re/qplib_res.h | 2 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 14 ++++++---- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 7 ++++- drivers/infiniband/hw/hfi1/chip.c | 11 ++++++-- drivers/infiniband/hw/hfi1/rc.c | 2 -- drivers/infiniband/hw/hfi1/tid_rdma.c | 43 ++----------------------------- drivers/infiniband/hw/hns/hns_roce_db.c | 15 ++++++----- drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 + drivers/infiniband/hw/mlx5/mr.c | 23 ++++++++++------- drivers/infiniband/hw/mlx5/odp.c | 7 ++--- drivers/infiniband/hw/mlx5/qp.c | 13 ++++++---- drivers/infiniband/sw/siw/siw_cm.c | 3 +-- drivers/infiniband/sw/siw/siw_main.c | 1 + include/rdma/rdmavt_qp.h | 9 +++---- 17 files changed, 89 insertions(+), 93 deletions(-)
The pull request you sent on Tue, 30 Jul 2019 12:15:01 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/32a024b9a9f3b40f84bc55a6dd35eaa770ea26a4 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 15062 bytes --] Hi Linus, These are the proposed RDMA patches for 5.4 This cycle has proved to be quiet with a focus on bug fix and cleanup style patches, and less on major new functionality. I am aware of no conflicts. The following changes since commit f74c2bb98776e2de508f4d607cd519873065118e: Linux 5.3-rc8 (2019-09-08 13:33:15 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 3eca7fc2d8d1275d9cf0c709f0937becbfcf6d96: RDMA: Fix double-free in srq creation error flow (2019-09-16 14:37:38 -0300) ---------------------------------------------------------------- RDMA subsystem updates for 5.4 This cycle mainly saw lots of bug fixes and clean up code across the core code and several drivers, few new functional changes were made. - Many cleanup and bug fixes for hns - Various small bug fixes and cleanups in hfi1, mlx5, usnic, qed, bnxt_re, efa - Share the query_port code between all the iWarp drivers - General rework and cleanup of the ODP MR umem code to fit better with the mmu notifier get/put scheme - Support rdma netlink in non init_net name spaces - mlx5 support for XRC devx and DC ODP ---------------------------------------------------------------- Andrey Konovalov (1): RDMA/mlx4: Untag user pointers in mlx4_get_umem_mr Arnd Bergmann (1): RDMA/usnic: Avoid overly large buffers on stack Bernard Metzler (2): RDMA/siw: Fix page address mapping in TX path RDMA/siw: Relax from kmap_atomic() use in TX path Chuck Lever (1): rdma: Enable ib_alloc_cq to spread work over a device's comp_vectors Chuhong Yuan (1): IB/usnic: Use dev_get_drvdata Colin Ian King (3): RDMA/hns: Fix comparison of unsigned long variable 'end' with less than zero RDMA/core: fix spelling mistake "Nelink" -> "Netlink" RDMA/bnxt_re: Fix spelling mistake "missin_resp" -> "missing_resp" Dan Carpenter (1): RDMA/hns: Fix some white space check_mtu_validate() Danit Goldberg (2): IB/mlx5: Use the original address for the page during free_pages IB/mlx5: Free mpi in mp_slave mode Doug Ledford (3): Merge branch 'wip/dl-for-rc' into wip/dl-for-next Merge remote-tracking branch 'mlx5-next/mlx5-next' into wip/dl-for-next Merge remote-tracking branch 'mlx5-next/mlx5-next' into for-next Gal Pressman (6): RDMA/efa: Expose device statistics RDMA/core: Introduce ratelimited ibdev printk functions RDMA/efa: Rate limit admin queue error prints RDMA/efa: Remove umem check on dereg MR flow RDMA/efa: Use existing FIELD_SIZEOF macro RDMA/efa: Fix incorrect error print Guoqing Jiang (1): Documentation/infiniband: update name of some functions Hariprasad Kelam (2): RDMA/qib: Unneeded variable ret RDMA/qedr: Remove Unneeded variable rc Håkon Bugge (1): RDMA/cma: Fix false error message Ira Weiny (1): IB/hfi1: Define variables as unsigned long to fix KASAN warning Jack Morgenstein (1): RDMA: Fix double-free in srq creation error flow Jason Gunthorpe (16): RDMA: Make most headers compile stand alone RDMA/odp: Use the common interval tree library instead of generic RDMA/odp: Iterate over the whole rbtree directly RDMA/odp: Make it clearer when a umem is an implicit ODP umem RMDA/odp: Consolidate umem_odp initialization RDMA/odp: Make the three ways to create a umem_odp clear RDMA/odp: Split creating a umem_odp from ib_umem_get RDMA/odp: Provide ib_umem_odp_release() to undo the allocs RDMA/odp: Check for overflow when computing the umem_odp end RDMA/odp: Use kvcalloc for the dma_list and page_list RDMA/mlx5: Use ib_umem_start instead of umem.address RDMA/mlx5: Use odp instead of mr->umem in pagefault_mr Merge branch 'odp_fixes' into rdma.git for-next Merge branch 'mlx5-odp-dc' into rdma.git for-next RDMA/odp: Add missing cast for 32 bit Merge tag 'v5.3-rc8' into rdma.git for-next Joe Perches (1): mlx5: Fix formats with line continuation whitespace Kaike Wan (3): IB/hfi1: Do not update hcrc for a KDETH packet during fault injection IB/hfi1: Add traces for TID RDMA READ IB/{rdmavt, hfi1, qib}: Add a counter for credit waits Kamal Heib (4): RDMA: Introduce ib_port_phys_state enum RDMA/cxgb3: Use ib_device_set_netdev() RDMA/core: Add common iWARP query port RDMA/{cxgb3, cxgb4, i40iw}: Remove common code Lang Cheng (10): RDMA/hns: Clean up unnecessary initial assignment RDMA/hns: Update some comments style RDMA/hns: Handling the error return value of hem function RDMA/hns: Split bool statement and assign statement RDMA/hns: Refactor irq request code RDMA/hns: Remove unnecessary kzalloc RDMA/hns: Remove unuseful member RDMA/hns: Modify the data structure of hns_roce_av RDMA/hns: Fix cast from or to restricted __le32 for driver RDMA/hns: Add reset process for function-clear Leon Romanovsky (6): RDMA/mlx4: Separate creation of RWQ and QP RDMA/mlx4: Annotate boolean arguments as bool and not int RDMA/mlx5: Remove DEBUG ODP code RDMA/hns: Remove not used UAR assignment RDMA/mlx5: Annotate lock dependency in bind/unbind slave port RDMA: Delete DEBUG code Lijun Ou (13): RDMA/hns: Package the flow of creating cq RDMA/hns: Refactor the code of creating srq RDMA/hns: Refactor for hns_roce_v2_modify_qp function RDMA/hns: Use a separated function for setting extend sge paramters RDMA/hns: Package for hns_roce_rereg_user_mr function RDMA/hns: Refactor hem table mhop check and calculation RDMA/hns: Encapsulate some lines for setting sq size in user mode RDMA/hns: Optimize hns_roce_modify_qp function RDMA/hns: Use the new APIs for printing log RDMA/hns: Bugfix for creating qp attached to srq RDMA/hns: Remove the some magic number RDMA/hns: Fix wrong assignment of qp_access_flags RDMA/hns: Package operations of rq inline buffer into separate functions Mark Zhang (1): RDMA/mlx5: RDMA_RX flow type support for user applications Markus Elfring (1): RDMA/iwpm: Delete unnecessary checks before the macro call "dev_kfree_skb" Max Gurtovoy (1): IB/mlx5: Add CREATE_PSV/DESTROY_PSV for devx interface Michael Guralnik (2): IB/mlx5: Remove check of FW capabilities in ODP page fault handling IB/mlx5: Add page fault handler for DC initiator WQE Michal Kalderon (1): qed*: Change dpi_addr to be denoted with __iomem Mike Marciniszyn (1): IB/hfi1: Remove unused define Moni Shoua (1): RDMA/core: Make invalidate_range a device operation Navid Emamdoost (1): RDMA: Fix goto target to release the allocated memory Parav Pandit (6): RDMA/core: Annotate destroy of mutex to ensure that it is released as unlocked IB/mlx5: Avoid unnecessary typecast RDMA/core: Support netlink commands in non init_net net namespaces IB/mlx5: Refactor code for counters allocation IB/mlx5: Support per device q counters in switchdev mode IB/bnxt_re: Do not notifify GID change event Sergey Gorenko (1): IB/iser: Support up to 16MB data transfer in a single command Stephen Boyd (1): infiniband: Remove dev_err() usage after platform_get_irq() Weihang Li (3): RDMA/hns: Remove redundant print in hns_roce_v2_ceq_int() RDMA/hns: Disable alw_lcl_lpbk of SSU RDMA/hns: Logic optimization of wc_flags Wenpeng Liang (2): RDMA/hns: Remove if-else judgment statements for creating srq RDMA/hns: Delete the not-used lines Xi Wang (3): RDMA/hns: optimize the duplicated code for qpc setting flow RDMA/hns: Bugfix for slab-out-of-bounds when unloading hip08 driver RDMA/hns: bugfix for slab-out-of-bounds when loading hip08 driver Yangyang Li (2): RDMA/hns: Refactor hns_roce_v2_set_hem for hip08 RDMA/hns: Modify pi vlaue when cq overflows Yishai Hadas (2): IB/mlx5: Add legacy events to DEVX list IB/mlx5: Expose XRQ legacy commands over the DEVX interface Yixian Liu (4): RDMA/hns: Refactor eq table init for hip08 RDMA/hns: Update the prompt message for creating and destroy qp RDMA/hns: Remove unnessary init for cmq reg RDMA/hns: Optimize cmd init and mode selection for hip08 YueHaibing (3): RDMA/hns: remove set but not used variable 'irq_num' RDMA/hns: remove obsolete Kconfig comment RDMA/hns: Use devm_platform_ioremap_resource() to simplify code chenglang (1): RDMA/hns: Optimize hns_roce_mhop_alloc function. Documentation/infiniband/core_locking.rst | 8 +- drivers/infiniband/Kconfig | 1 + drivers/infiniband/core/addr.c | 2 +- drivers/infiniband/core/cache.c | 1 + drivers/infiniband/core/cma.c | 2 +- drivers/infiniband/core/cma_configfs.c | 8 +- drivers/infiniband/core/core_priv.h | 24 +- drivers/infiniband/core/counters.c | 8 +- drivers/infiniband/core/cq.c | 28 + drivers/infiniband/core/device.c | 129 +++- drivers/infiniband/core/fmr_pool.c | 13 - drivers/infiniband/core/iwpm_msg.c | 17 +- drivers/infiniband/core/iwpm_util.c | 15 +- drivers/infiniband/core/netlink.c | 63 +- drivers/infiniband/core/nldev.c | 20 +- drivers/infiniband/core/sa_query.c | 2 +- drivers/infiniband/core/sysfs.c | 30 +- drivers/infiniband/core/umem.c | 50 +- drivers/infiniband/core/umem_odp.c | 437 ++++++----- drivers/infiniband/core/user_mad.c | 2 +- drivers/infiniband/core/uverbs_cmd.c | 5 +- drivers/infiniband/core/uverbs_main.c | 4 + drivers/infiniband/core/verbs.c | 1 + drivers/infiniband/hw/bnxt_re/hw_counters.c | 2 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 6 +- drivers/infiniband/hw/bnxt_re/main.c | 1 - drivers/infiniband/hw/cxgb3/iwch_provider.c | 45 +- drivers/infiniband/hw/cxgb4/provider.c | 24 - drivers/infiniband/hw/efa/efa.h | 3 + drivers/infiniband/hw/efa/efa_com.c | 70 +- drivers/infiniband/hw/efa/efa_com_cmd.c | 165 ++-- drivers/infiniband/hw/efa/efa_com_cmd.h | 23 + drivers/infiniband/hw/efa/efa_main.c | 2 + drivers/infiniband/hw/efa/efa_verbs.c | 91 ++- drivers/infiniband/hw/hfi1/chip.c | 2 + drivers/infiniband/hw/hfi1/chip.h | 1 + drivers/infiniband/hw/hfi1/mad.c | 45 +- drivers/infiniband/hw/hfi1/rc.c | 15 +- drivers/infiniband/hw/hfi1/tid_rdma.c | 8 + drivers/infiniband/hw/hfi1/trace_tid.h | 38 + drivers/infiniband/hw/hfi1/user_sdma.h | 6 - drivers/infiniband/hw/hfi1/verbs.c | 17 +- drivers/infiniband/hw/hns/Kconfig | 8 - drivers/infiniband/hw/hns/hns_roce_ah.c | 23 +- drivers/infiniband/hw/hns/hns_roce_cmd.c | 11 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 186 +++-- drivers/infiniband/hw/hns/hns_roce_device.h | 95 ++- drivers/infiniband/hw/hns/hns_roce_hem.c | 252 +++--- drivers/infiniband/hw/hns/hns_roce_hem.h | 6 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 69 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 1065 +++++++++++++++----------- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 7 +- drivers/infiniband/hw/hns/hns_roce_main.c | 11 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 434 ++++++----- drivers/infiniband/hw/hns/hns_roce_qp.c | 359 +++++---- drivers/infiniband/hw/hns/hns_roce_srq.c | 296 +++---- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 11 - drivers/infiniband/hw/mlx4/main.c | 3 +- drivers/infiniband/hw/mlx4/mr.c | 7 +- drivers/infiniband/hw/mlx4/qp.c | 242 ++++-- drivers/infiniband/hw/mlx5/devx.c | 26 + drivers/infiniband/hw/mlx5/flow.c | 13 +- drivers/infiniband/hw/mlx5/main.c | 131 ++-- drivers/infiniband/hw/mlx5/mem.c | 13 - drivers/infiniband/hw/mlx5/mlx5_ib.h | 2 + drivers/infiniband/hw/mlx5/mr.c | 38 +- drivers/infiniband/hw/mlx5/odp.c | 172 ++--- drivers/infiniband/hw/mlx5/qp.c | 25 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 4 +- drivers/infiniband/hw/qedr/main.c | 2 +- drivers/infiniband/hw/qedr/qedr.h | 2 +- drivers/infiniband/hw/qedr/verbs.c | 7 +- drivers/infiniband/hw/qib/qib_file_ops.c | 3 +- drivers/infiniband/hw/qib/qib_rc.c | 10 +- drivers/infiniband/hw/qib/qib_sysfs.c | 2 + drivers/infiniband/hw/usnic/usnic_ib_main.c | 10 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 9 +- drivers/infiniband/sw/rxe/rxe.h | 4 - drivers/infiniband/sw/rxe/rxe_param.h | 2 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 6 +- drivers/infiniband/sw/siw/siw_qp_tx.c | 23 +- drivers/infiniband/sw/siw/siw_verbs.c | 3 +- drivers/infiniband/ulp/iser/iscsi_iser.h | 7 +- drivers/infiniband/ulp/srpt/ib_srpt.c | 4 +- drivers/net/ethernet/mellanox/mlx5/core/rl.c | 6 +- drivers/net/ethernet/qlogic/qed/qed_rdma.c | 5 +- fs/cifs/smbdirect.c | 10 +- include/Kbuild | 6 - include/linux/mlx5/device.h | 9 + include/linux/qed/qed_rdma_if.h | 2 +- include/rdma/ib.h | 2 + include/rdma/ib_umem_odp.h | 48 +- include/rdma/ib_verbs.h | 78 +- include/rdma/iw_portmap.h | 3 + include/rdma/opa_port_info.h | 2 + include/rdma/rdma_netlink.h | 10 +- include/rdma/rdma_vt.h | 1 + include/rdma/rdmavt_cq.h | 1 + include/rdma/rdmavt_qp.h | 35 + include/rdma/signature.h | 2 + include/uapi/rdma/mlx5_user_ioctl_verbs.h | 1 + net/9p/trans_rdma.c | 6 +- net/sunrpc/xprtrdma/svc_rdma_transport.c | 8 +- net/sunrpc/xprtrdma/verbs.c | 13 +- 104 files changed, 3072 insertions(+), 2213 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 19 Sep 2019 16:34:46 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/018c6837f3e63b45163d55a1668d9f8e6fdecf6e Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 3492 bytes --] Hi Linus, First rc pull request The usual collection of driver bug fixes, and a few regressions from the merge window. Nothing particularly worrisome. The following changes since commit 54ecb8f7028c5eb3d740bb82b0f1d90f2df63c5c: Linux 5.4-rc1 (2019-09-30 10:35:40 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 0417791536ae1e28d7f0418f1d20048ec4d3c6cf: RDMA/mlx5: Add missing synchronize_srcu() for MW cases (2019-10-04 15:54:22 -0300) ---------------------------------------------------------------- RDMA subsystem updates for 5.4-rc Various minor bug fixes posted in the last couple of weeks: - Various missed memory frees and error unwind bugs - Fix regressions in a few iwarp drivers from 5.4 patches - A few regressions added in past kernels - Squash a number of races in mlx5 ODP code ---------------------------------------------------------------- Adit Ranadive (1): RDMA/vmw_pvrdma: Free SRQ only once Bart Van Assche (1): RDMA/iwcm: Fix a lock inversion issue Christophe JAILLET (1): RDMA/core: Fix an error handling path in 'res_get_common_doit()' Greg KH (1): RDMA/cxgb4: Do not dma memory off of the stack Jack Morgenstein (1): RDMA/cm: Fix memory leak in cm_add/remove_one Jason Gunthorpe (6): RDMA/mlx5: Do not allow rereg of a ODP MR RDMA/mlx5: Fix a race with mlx5_ib_update_xlt on an implicit MR RDMA/odp: Lift umem_mutex out of ib_umem_odp_unmap_dma_pages() RDMA/mlx5: Order num_pending_prefetch properly with synchronize_srcu RDMA/mlx5: Put live in the correct place for ODP MRs RDMA/mlx5: Add missing synchronize_srcu() for MW cases Krishnamraju Eraparaju (1): RDMA/siw: Fix serialization issue in write_space() Leon Romanovsky (1): RDMA/nldev: Reshuffle the code to avoid need to rebind QP in error path Michal Kalderon (1): RDMA/core: Fix use after free and refcnt leak on ndev in_device in iwarp_query_port Mohamad Heib (1): IB/core: Fix wrong iterating on ports Navid Emamdoost (1): RDMA/hfi1: Prevent memory leak in sdma_init Potnuri Bharat Teja (1): RDMA/iw_cxgb4: fix SRQ access from dump_qp() Shiraz, Saleem (1): RDMA/i40iw: Associate ibdev to netdev before IB device registration drivers/infiniband/core/cm.c | 3 ++ drivers/infiniband/core/cma.c | 3 +- drivers/infiniband/core/device.c | 9 ++-- drivers/infiniband/core/nldev.c | 12 ++--- drivers/infiniband/core/security.c | 2 +- drivers/infiniband/core/umem_odp.c | 6 ++- drivers/infiniband/hw/cxgb4/device.c | 7 ++- drivers/infiniband/hw/cxgb4/mem.c | 28 ++++++----- drivers/infiniband/hw/cxgb4/qp.c | 10 +--- drivers/infiniband/hw/hfi1/sdma.c | 5 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 4 ++ drivers/infiniband/hw/mlx5/devx.c | 58 +++++++---------------- drivers/infiniband/hw/mlx5/mlx5_ib.h | 3 +- drivers/infiniband/hw/mlx5/mr.c | 68 +++++++++++---------------- drivers/infiniband/hw/mlx5/odp.c | 58 ++++++++++++++++++----- drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 2 - drivers/infiniband/sw/siw/siw_qp.c | 15 ++++-- drivers/net/ethernet/mellanox/mlx5/core/mr.c | 8 +--- 18 files changed, 154 insertions(+), 147 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Wed, 9 Oct 2019 14:28:15 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/8a8c600de5dc1d9a7f4b83269fddc80ebd3dd045 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 3307 bytes --] Hi Linus, Second rc pull request The usual collection of driver bug fixes, and a few regressions. This cycle has been reasonably quiet on the -rc front, with some higher -next activity thus far. The following changes since commit 0417791536ae1e28d7f0418f1d20048ec4d3c6cf: RDMA/mlx5: Add missing synchronize_srcu() for MW cases (2019-10-04 15:54:22 -0300) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to b681a0529968d2261aa15d7a1e78801b2c06bb07: RDMA/hns: Prevent memory leaks of eq->buf_list (2019-10-28 15:06:38 -0300) ---------------------------------------------------------------- RDMA subsystem updates for 5.4-rc A number of bug fixes and a regression fix: - Various issues from static analysis in hfi1, uverbs, hns, and cxgb4 - Fix for deadlock in a case when the new auto RDMA module loading is used - Missing _irq notation in a prior -rc patch found by lockdep - Fix a locking and lifetime issue in siw - Minor functional bug fixes in cxgb4, mlx5, qedr - Fix a regression where vlan interfaces no longer worked with RDMA CM in some cases ---------------------------------------------------------------- Dan Carpenter (1): RDMA/uverbs: Prevent potential underflow Jason Gunthorpe (1): RDMA/mlx5: Use irq xarray locking for mkey_table Kaike Wan (1): IB/hfi1: Avoid excessive retry for TID RDMA READ request Kamal Heib (1): RDMA/qedr: Fix reported firmware version Krishnamraju Eraparaju (2): RDMA/iwcm: move iw_rem_ref() calls out of spinlock RDMA/siw: free siw_base_qp in kref release routine Lijun Ou (1): RDMA/hns: Prevent memory leaks of eq->buf_list Mark Zhang (1): RDMA/nldev: Skip counter if port doesn't match Mike Marciniszyn (1): IB/hfi1: Use a common pad buffer for 9B and 16B packets Parav Pandit (2): IB/core: Use rdma_read_gid_l2_fields to compare GID L2 fields IB/core: Avoid deadlock during netlink message handling Potnuri Bharat Teja (2): iw_cxgb4: fix ECN check on the passive accept RDMA/iw_cxgb4: Avoid freeing skb twice in arp failure case Rafi Wiener (1): RDMA/mlx5: Clear old rate limit when closing QP drivers/infiniband/core/core_priv.h | 1 + drivers/infiniband/core/device.c | 2 + drivers/infiniband/core/iwcm.c | 52 +++++++------- drivers/infiniband/core/netlink.c | 107 ++++++++++++++--------------- drivers/infiniband/core/nldev.c | 2 +- drivers/infiniband/core/uverbs.h | 2 +- drivers/infiniband/core/verbs.c | 9 +-- drivers/infiniband/hw/cxgb4/cm.c | 30 ++++---- drivers/infiniband/hw/hfi1/sdma.c | 5 +- drivers/infiniband/hw/hfi1/tid_rdma.c | 5 -- drivers/infiniband/hw/hfi1/verbs.c | 10 ++- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 6 +- drivers/infiniband/hw/mlx5/mr.c | 4 +- drivers/infiniband/hw/mlx5/qp.c | 8 ++- drivers/infiniband/hw/qedr/main.c | 2 +- drivers/infiniband/sw/siw/siw_qp.c | 2 + drivers/infiniband/sw/siw/siw_verbs.c | 2 - include/rdma/ib_verbs.h | 2 +- 18 files changed, 127 insertions(+), 124 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 31 Oct 2019 18:22:15 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/4252a1a9b01f3757481f08b4775d27f90d422b23 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 1755 bytes --] Hi Linus, Third rc pull request A small set of bug fixes for the hfi and hns drivers. The following changes since commit a99d8080aaf358d5d23581244e5da23b35e340b9: Linux 5.4-rc6 (2019-11-03 14:07:26 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 411c1e6774e2e1f96b1ccce4f119376b94ade3e4: RDMA/hns: Correct the value of srq_desc_size (2019-11-06 13:37:02 -0400) ---------------------------------------------------------------- RDMA subsystem updates for 5.4-rc Bug fixes for old bugs in the hns and hfi1 drivers: - Calculate various values in hns properly to avoid over/underflows in some cases - Fix an oops, PCI negotiation on Gen4 systems, and bugs related to retries ---------------------------------------------------------------- James Erwin (1): IB/hfi1: Ensure full Gen3 speed in a Gen4 system Kaike Wan (3): IB/hfi1: Ensure r_tid_ack is valid before building TID RDMA ACK packet IB/hfi1: Calculate flow weight based on QP MTU for TID RDMA IB/hfi1: TID RDMA WRITE should not return IB_WC_RNR_RETRY_EXC_ERR Sirong Wang (1): RDMA/hns: Correct the value of HNS_ROCE_HEM_CHUNK_LEN Wenpeng Liang (1): RDMA/hns: Correct the value of srq_desc_size drivers/infiniband/hw/hfi1/init.c | 1 - drivers/infiniband/hw/hfi1/pcie.c | 4 ++- drivers/infiniband/hw/hfi1/rc.c | 16 ++++----- drivers/infiniband/hw/hfi1/tid_rdma.c | 57 ++++++++++++++++++-------------- drivers/infiniband/hw/hfi1/tid_rdma.h | 3 +- drivers/infiniband/hw/hns/hns_roce_hem.h | 2 +- drivers/infiniband/hw/hns/hns_roce_srq.c | 2 +- 7 files changed, 46 insertions(+), 39 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 14 Nov 2019 15:16:13 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/4e84608c7836c632aec53c0fe8993ad4b60b0acc Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 23868 bytes --] Hi Linus, These are the proposed RDMA patches for 5.5 Again another fairly quiet cycle with few notable core code changes and the usual variety of driver bug fixes and small improvements. There is one conflict with v5.4, the hunk should be resolved in favor of rdma.git The tag for-linus-merged with my merge resolution to your tree is also available to pull. The following changes since commit 975b992fdd4b38028d7c1dcf38286d6e7991c1b2: net/mlx5: Add new chain for netfilter flow table offload (2019-11-13 13:49:33 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to f295e4cece5cb4c60715fed539abcd62468f9ef1: RDMA/hns: Delete unnecessary callback functions for cq (2019-11-25 10:31:48 -0400) ---------------------------------------------------------------- RDMA subsystem updates for 5.5 Mainly a collection of smaller of driver updates this cycle. - Various driver updates and bug fixes for siw, bnxt_re, hns, qedr, iw_cxgb4, vmw_pvrdma, mlx5 - Improvements in SRPT from working with iWarp - SRIOV VF support for bnxt_re - Skeleton kernel-doc files for drivers/infiniband - User visible counters for events related to ODP - Common code for tracking of mmap lifetimes so that drivers can link HW object liftime to a VMA - ODP bug fixes and rework - RDMA READ support for efa - Removal of the very old cxgb3 driver ---------------------------------------------------------------- Arnd Bergmann (1): RDMA/hns: Fix build error again Bart Van Assche (20): RDMA/siw: Simplify several debug messages RDMA/siw: Fix port number endianness in a debug message RDMA/siw: Make node GUIDs valid EUI-64 identifiers RDMA/srp: Remove two casts RDMA/srp: Honor the max_send_sge device attribute RDMA/srp: Make route resolving error messages more informative RDMA/srpt: Fix handling of SR-IOV and iWARP ports RDMA/srpt: Fix handling of iWARP logins RDMA/srpt: Improve a debug message RDMA/srpt: Rework the approach for closing an RDMA channel RDMA/srpt: Rework the code that waits until an RDMA port is no longer in use RDMA/srpt: Make the code for handling port identities more systematic RDMA/srpt: Postpone HCA removal until after configfs directory removal RDMA/srpt: Fix TPG creation RDMA/core: Fix ib_dma_max_seg_size() RDMA/rxe: Increase DMA max_segment_size parameter RDMA/siw: Increase DMA max_segment_size parameter RDMA/core: Set DMA parameters correctly Revert "RDMA/srpt: Postpone HCA removal until after configfs directory removal" RDMA/srpt: Report the SCSI residual to the initiator Bernard Metzler (3): RDMA/siw: Fix SQ/RQ drain logic RDMA/siw: Fix post_recv QP state locking RDMA/siw: Cleanup unused mmap structures. Bryan Tan (1): RDMA/vmw_pvrdma: Use resource ids from physical device if available Christoph Hellwig (2): dma-mapping: remove the DMA_ATTR_WRITE_BARRIER flag IB/umem: remove the dmasync argument to ib_umem_get Christophe JAILLET (1): RDMA/iw_cgxb4: Fix an error handling path in 'c4iw_connect()' Chuhong Yuan (1): RDMA/uverbs: Add a check for uverbs_attr_get to uverbs_copy_to_struct_or_zero Colin Ian King (3): RDMA/hns: Fix memory leak on 'context' on error return path RDMA/ocrdma: Fix spelling mistake in variable name IB/hfi1: remove redundant assignment to variable ret Dag Moxnes (1): RDMA/cma: Use ACK timeout for RoCE packetLifeTime Daniel Kranzdorf (2): RDMA/efa: Support remote read access in MR registration RDMA/efa: Expose RDMA read related attributes Danit Goldberg (6): IB/mlx4: Update HW GID table while adding vlan GID RDMA/cm: Use refcount_t type for refcount variable net/core: Add support for getting VF GUIDs IB/core: Add interfaces to get VF node and port GUIDs IB/ipoib: Add ndo operation for getting VFs GUID attributes IB/mlx5: Implement callbacks for getting VFs GUID attributes Devesh Sharma (3): RDMA/bnxt_re: Enable SRIOV VF support on Broadcom's 57500 adapter series RDMA/bnxt_re: Fix stat push into dma buffer on gen p5 devices RDMA/bnxt_re: Fix missing le16_to_cpu Donald Dutile (1): ib/srp: Add missing new line after displaying fast_io_fail_tmo param Erez Alfasi (6): IB/mlx5: Remove unnecessary return statement IB/mlx5: Remove unnecessary else statement IB/mlx5: Introduce ODP diagnostic counters RDMA/nldev: Allow different fill function per resource RDMA/mlx5: Return ODP type per MR RDMA/nldev: Provide MR statistics Gal Pressman (2): RDMA/efa: Clear the admin command buffer prior to its submission RDMA/efa: Store network attributes in device attributes Honggang Li (2): RDMA/srp: Add parse function for maximum initiator to target IU size RDMA/srp: Calculate max_it_iu_size if remote max_it_iu length available Jason Gunthorpe (21): Merge branch 'mlx5-rd-sgl' into rdma.git for-next RDMA/hns: Prevent undefined behavior in hns_roce_set_user_sq_size() rdma: Remove nes ABI header Merge tag 'v5.4-rc5' into rdma.git for-next RDMA/mlx5: Use SRCU properly in ODP prefetch RDMA/mlx5: Split sig_err MR data into its own xarray RDMA/mlx5: Use a dedicated mkey xarray for ODP RDMA/mlx5: Delete struct mlx5_priv->mkey_table RDMA/mlx5: Rework implicit_mr_get_data RDMA/mlx5: Lift implicit_mr_alloc() into the two routines that call it RDMA/mlx5: Set the HW IOVA of the child MRs to their place in the tree RDMA/mlx5: Split implicit handling from pagefault_mr RDMA/mlx5: Use an xarray for the children of an implicit ODP RDMA/mlx5: Reduce locking in implicit_mr_get_data() RDMA/mlx5: Avoid double lookups on the pagefault path RDMA/mlx5: Rework implicit ODP destroy RDMA/mlx5: Do not store implicit children in the odp_mkeys xarray RDMA/mlx5: Do not race with mlx5_ib_invalidate_range during create and destroy RDMA/odp: Remove broken debugging call to invalidate_range Merge branch 'odp_rework' into rdma.git for-next Merge branch 'ib-guids' into rdma.git for-next Kamal Heib (8): RDMA/core: Fix return code when modify_device isn't supported RDMA/bnxt_re: Remove unsupported modify_device callback RDMA/rxe: Verify modify_device mask RDMA/core: Fix return code when modify_port isn't supported RDMA/hns: Remove unsupported modify_port callback RDMA/ocrdma: Remove unsupported modify_port callback RDMA/qedr: Remove unsupported modify_port callback RDMA/qedr: Make qedr_iw_load_qp() static Krzysztof Kozlowski (1): RDMA/bnxt_re: Fix Kconfig indentation Lang Cheng (4): RDMA/hns: Modify return value of restrack functions RDMA/hns: Remove unnecessary structure hns_roce_sqp RDMA/hns: Simplify doorbell initialization code RDMA/hns: Modify hns_roce_hw_v2_get_cfg to simplify the code Leon Romanovsky (19): RDMA/mlx5: Group boolean parameters to take less space RDMA/restrack: Remove PID namespace support RDMA/core: Check that process is still alive before sending it to the users RDMA/rxe: Remove useless rxe_init_device_param assignments RDMA/cm: Delete unused cm_is_active_peer function RDMA/cm: Use specific keyword to check define RDMA/cm: Update copyright together with SPDX tag RDMA/hns: Delete BITS_PER_BYTE redefinition RDMA/mlx5: Return proper error value RDMA/mad: Delete never implemented functions RDMA/qib: Delete extra line RDMA/qib: Delete empty check_cc_key function RDMA/mad: Allocate zeroed MAD buffer RDMA/ocrdma: Make ocrdma_pma_counters() return void RDMA/mad: Do not check MAD sizes in roce and ib drivers RDMA/ocrdma: Simplify process_mad function RDMA/mlx5: Rewrite MAD processing logic to be readable RDMA/hfi1: Delete unreachable code RDMA: Change MAD processing function to remove extra casting and parameter Lijun Ou (1): RDMA/hns: Fix to support 64K page for srq Luke Starrett (1): RDMA/bnxt_re: Fix chip number validation Broadcom's Gen P5 series Mark Zhang (2): RDMA/counter: Prevent QP counter manual binding in auto mode IB/mlx5: Support extended number of strides for Striding RQ Max Gurtovoy (4): IB/iser: add unlikely checks in the fast path IB/iser: bound protection_sg size by data_sg size IB/iser: remove redundant macro definitions RDMA/iser: Use iser_err instead of pr_err for logging Michael Guralnik (2): IB/mlx5: Align usage of QP1 create flags with rest of mlx5 defines IB/mlx5: Test write combining support Michal Kalderon (13): RDMA/qedr: Fix srqs xarray initialization RDMA/qedr: Fix qpids xarray api used RDMA/qedr: Fix synchronization methods and memory leaks in qedr RDMA/qedr: Fix memory leak in user qp and mr RDMA/core: Move core content from ib_uverbs to ib_core RDMA/core: Create mmap database and cookie helper functions RDMA: Connect between the mmap entry and the umap_priv structure RDMA/efa: Use the common mmap_xa helpers RDMA/siw: Use the common mmap_xa helpers RDMA/qedr: Use the common mmap API RDMA/qedr: Add doorbell overflow recovery support RDMA/qedr: Add iWARP doorbell recovery support RDMA/qedr: Fix null-pointer dereference when calling rdma_user_mmap_get_offset Pan Bian (2): RDMA/qedr: Fix potential use after free RDMA/i40iw: Fix potential use after free Parav Pandit (4): IB/cm: Use container_of() instead of typecast IB/mlx5: Introduce and use mkey context setting helper routine IB/cma: Honor traffic class from lower netdevice for RoCE IB/core: Do not notify GID change event of an unregistered device Potnuri Bharat Teja (2): RDMA/iw_cxgb3: Remove the iw_cxgb3 module from kernel RDMA/iw_cxgb4: Report correct port speed/width Ran Rozenstein (1): IB/mlx5: Remove dead code Viresh Kumar (1): RDMA/qib: Validate ->show()/store() callbacks before calling them Weihang Li (3): RDMA/hns: remove a redundant le16_to_cpu RDMA/hns: Fix wrong parameters when initial mtt of srq->idx_que RDMA/hns: Modify variable/field name from vlan to vlan_id Wenpeng Liang (1): RDMA/hns: Modify appropriate printings Yamin Friedman (2): RDMA/rw: Support threshold for registration vs scattering to local pages RDMA/mlx5: Add capability for max sge to get optimized performance Yangyang Li (2): RDMA/hns: Release qp resources when failed to destroy qp RDMA/hns: Bugfix for qpc/cqc timer configuration Yevgeny Kliteynik (1): IB/mlx5: Support flow counters offset for bulk counters Yishai Hadas (1): RDMA/uapi: Fix and re-organize the usage of rdma_driver_id Yixian Liu (8): RDMA/hns: Delete unnecessary variable max_post RDMA/hns: Delete unnecessary uar from hns_roce_cq RDMA/hns: Modify fields of struct hns_roce_srq RDMA/hns: Fix non-standard error codes RDMA/hns: Redefine interfaces used in creating cq RDMA/hns: Redefine the member of hns_roce_cq struct RDMA/hns: Rename the functions used inside creating cq RDMA/hns: Delete unnecessary callback functions for cq Yixing Liu (2): RDMA/hns: Fix a spelling mistake in a macro RDMA/hns: Replace not intuitive function/macro names rd.dunlab@gmail.com (11): infiniband: fix ulp/iser/iscsi_iser.[hc] kernel-doc notation infiniband: fix core/ipwm_util.h kernel-doc warnings infiniband: fix ulp/iser/iscsi_iser.h kernel-doc warnings infiniband: fix ulp/opa_vnic/opa_vnic_internal.h kernel-doc notation infiniband: fix ulp/srpt/ib_srpt.h kernel-doc notation infiniband: fix core/verbs.c kernel-doc notation infiniband: fix ulp/iser/iser_verbs.c kernel-doc notation infiniband: fix ulp/iser/iser_initiator.c kernel-doc warnings infiniband: fix core/ kernel-doc notation infiniband: fix sw/rdmavt/ kernel-doc notation infiniband: add a Documentation driver-api chapter for Infiniband Documentation/ABI/stable/sysfs-class-infiniband | 19 - Documentation/ABI/stable/sysfs-driver-ib_srp | 2 + Documentation/DMA-attributes.txt | 18 - Documentation/driver-api/index.rst | 1 + Documentation/driver-api/infiniband.rst | 127 ++ MAINTAINERS | 8 - drivers/infiniband/Kconfig | 1 - drivers/infiniband/core/Makefile | 2 +- drivers/infiniband/core/cache.c | 8 +- drivers/infiniband/core/cm.c | 66 +- drivers/infiniband/core/cm_msgs.h | 32 +- drivers/infiniband/core/cma.c | 107 +- drivers/infiniband/core/core_priv.h | 11 + drivers/infiniband/core/counters.c | 40 +- drivers/infiniband/core/device.c | 50 +- drivers/infiniband/core/ib_core_uverbs.c | 335 +++ drivers/infiniband/core/iwpm_util.h | 5 +- drivers/infiniband/core/mad.c | 31 +- drivers/infiniband/core/nldev.c | 141 +- drivers/infiniband/core/rdma_core.c | 1 + drivers/infiniband/core/restrack.c | 20 +- drivers/infiniband/core/restrack.h | 1 - drivers/infiniband/core/rw.c | 25 +- drivers/infiniband/core/sa_query.c | 2 +- drivers/infiniband/core/sysfs.c | 12 +- drivers/infiniband/core/umem.c | 12 +- drivers/infiniband/core/umem_odp.c | 38 +- drivers/infiniband/core/uverbs_cmd.c | 2 + drivers/infiniband/core/uverbs_ioctl.c | 3 + drivers/infiniband/core/uverbs_main.c | 84 +- drivers/infiniband/core/verbs.c | 12 + drivers/infiniband/hw/Makefile | 1 - drivers/infiniband/hw/bnxt_re/Kconfig | 12 +- drivers/infiniband/hw/bnxt_re/bnxt_re.h | 1 + drivers/infiniband/hw/bnxt_re/ib_verbs.c | 28 +- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 3 - drivers/infiniband/hw/bnxt_re/main.c | 143 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 5 +- drivers/infiniband/hw/bnxt_re/qplib_res.h | 8 +- drivers/infiniband/hw/cxgb3/Kconfig | 19 - drivers/infiniband/hw/cxgb3/Makefile | 7 - drivers/infiniband/hw/cxgb3/cxio_hal.c | 1312 ------------ drivers/infiniband/hw/cxgb3/cxio_hal.h | 204 -- drivers/infiniband/hw/cxgb3/cxio_resource.c | 344 --- drivers/infiniband/hw/cxgb3/cxio_resource.h | 69 - drivers/infiniband/hw/cxgb3/cxio_wr.h | 802 ------- drivers/infiniband/hw/cxgb3/iwch.c | 282 --- drivers/infiniband/hw/cxgb3/iwch.h | 155 -- drivers/infiniband/hw/cxgb3/iwch_cm.c | 2258 -------------------- drivers/infiniband/hw/cxgb3/iwch_cm.h | 233 -- drivers/infiniband/hw/cxgb3/iwch_cq.c | 230 -- drivers/infiniband/hw/cxgb3/iwch_ev.c | 232 -- drivers/infiniband/hw/cxgb3/iwch_mem.c | 101 - drivers/infiniband/hw/cxgb3/iwch_provider.c | 1321 ------------ drivers/infiniband/hw/cxgb3/iwch_provider.h | 347 --- drivers/infiniband/hw/cxgb3/iwch_qp.c | 1082 ---------- drivers/infiniband/hw/cxgb3/tcb.h | 632 ------ drivers/infiniband/hw/cxgb4/cm.c | 4 +- drivers/infiniband/hw/cxgb4/mem.c | 2 +- drivers/infiniband/hw/cxgb4/provider.c | 7 +- drivers/infiniband/hw/efa/efa.h | 13 +- drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 29 +- drivers/infiniband/hw/efa/efa_com.c | 5 +- drivers/infiniband/hw/efa/efa_com_cmd.c | 40 +- drivers/infiniband/hw/efa/efa_com_cmd.h | 19 +- drivers/infiniband/hw/efa/efa_main.c | 17 +- drivers/infiniband/hw/efa/efa_verbs.c | 370 ++-- drivers/infiniband/hw/hfi1/mad.c | 17 +- drivers/infiniband/hw/hfi1/platform.c | 2 +- drivers/infiniband/hw/hfi1/verbs.h | 5 +- drivers/infiniband/hw/hns/Kconfig | 17 +- drivers/infiniband/hw/hns/Makefile | 8 +- drivers/infiniband/hw/hns/hns_roce_ah.c | 14 +- drivers/infiniband/hw/hns/hns_roce_alloc.c | 4 +- drivers/infiniband/hw/hns/hns_roce_cmd.h | 14 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 300 ++- drivers/infiniband/hw/hns/hns_roce_db.c | 2 +- drivers/infiniband/hw/hns/hns_roce_device.h | 55 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 38 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 76 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 4 +- drivers/infiniband/hw/hns/hns_roce_main.c | 21 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 69 +- drivers/infiniband/hw/hns/hns_roce_pd.c | 2 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 54 +- drivers/infiniband/hw/hns/hns_roce_restrack.c | 10 +- drivers/infiniband/hw/hns/hns_roce_srq.c | 86 +- drivers/infiniband/hw/i40iw/i40iw_cm.c | 2 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 2 +- drivers/infiniband/hw/mlx4/cq.c | 2 +- drivers/infiniband/hw/mlx4/doorbell.c | 2 +- drivers/infiniband/hw/mlx4/mad.c | 30 +- drivers/infiniband/hw/mlx4/main.c | 18 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 8 +- drivers/infiniband/hw/mlx4/mr.c | 2 +- drivers/infiniband/hw/mlx4/qp.c | 5 +- drivers/infiniband/hw/mlx4/srq.c | 2 +- drivers/infiniband/hw/mlx5/Makefile | 2 +- drivers/infiniband/hw/mlx5/cq.c | 37 +- drivers/infiniband/hw/mlx5/devx.c | 25 +- drivers/infiniband/hw/mlx5/doorbell.c | 2 +- drivers/infiniband/hw/mlx5/flow.c | 29 +- drivers/infiniband/hw/mlx5/gsi.c | 2 +- drivers/infiniband/hw/mlx5/ib_virt.c | 24 + drivers/infiniband/hw/mlx5/mad.c | 124 +- drivers/infiniband/hw/mlx5/main.c | 75 +- drivers/infiniband/hw/mlx5/mem.c | 199 ++ drivers/infiniband/hw/mlx5/mlx5_ib.h | 64 +- drivers/infiniband/hw/mlx5/mr.c | 177 +- drivers/infiniband/hw/mlx5/odp.c | 989 +++++---- drivers/infiniband/hw/mlx5/qp.c | 60 +- drivers/infiniband/hw/mlx5/restrack.c | 90 + drivers/infiniband/hw/mlx5/srq.c | 2 +- drivers/infiniband/hw/mthca/mthca_dev.h | 12 +- drivers/infiniband/hw/mthca/mthca_mad.c | 74 +- drivers/infiniband/hw/mthca/mthca_provider.c | 4 +- drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 33 +- drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 11 +- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 1 - drivers/infiniband/hw/ocrdma/ocrdma_sli.h | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_stats.c | 9 +- drivers/infiniband/hw/ocrdma/ocrdma_stats.h | 3 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 8 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 2 - drivers/infiniband/hw/qedr/main.c | 5 +- drivers/infiniband/hw/qedr/qedr.h | 72 +- drivers/infiniband/hw/qedr/qedr_iw_cm.c | 150 +- drivers/infiniband/hw/qedr/verbs.c | 643 ++++-- drivers/infiniband/hw/qedr/verbs.h | 12 +- drivers/infiniband/hw/qib/qib_iba6120.c | 1 - drivers/infiniband/hw/qib/qib_mad.c | 38 +- drivers/infiniband/hw/qib/qib_sysfs.c | 6 + drivers/infiniband/hw/qib/qib_verbs.h | 5 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_dev_api.h | 15 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 119 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 2 +- drivers/infiniband/sw/rdmavt/ah.c | 1 - drivers/infiniband/sw/rdmavt/cq.c | 2 - drivers/infiniband/sw/rdmavt/mr.c | 2 +- drivers/infiniband/sw/rdmavt/qp.c | 30 +- drivers/infiniband/sw/rdmavt/vt.c | 3 +- drivers/infiniband/sw/rxe/rxe.c | 13 - drivers/infiniband/sw/rxe/rxe_mr.c | 2 +- drivers/infiniband/sw/rxe/rxe_param.h | 13 - drivers/infiniband/sw/rxe/rxe_verbs.c | 7 + drivers/infiniband/sw/rxe/rxe_verbs.h | 1 + drivers/infiniband/sw/siw/siw.h | 31 +- drivers/infiniband/sw/siw/siw_cm.c | 45 +- drivers/infiniband/sw/siw/siw_main.c | 35 +- drivers/infiniband/sw/siw/siw_verbs.c | 338 +-- drivers/infiniband/sw/siw/siw_verbs.h | 1 + drivers/infiniband/ulp/ipoib/ipoib_main.c | 10 + drivers/infiniband/ulp/iser/iscsi_iser.c | 5 +- drivers/infiniband/ulp/iser/iscsi_iser.h | 34 +- drivers/infiniband/ulp/iser/iser_initiator.c | 5 + drivers/infiniband/ulp/iser/iser_memory.c | 6 +- drivers/infiniband/ulp/iser/iser_verbs.c | 72 +- .../infiniband/ulp/opa_vnic/opa_vnic_internal.h | 8 +- drivers/infiniband/ulp/srp/ib_srp.c | 47 +- drivers/infiniband/ulp/srp/ib_srp.h | 4 + drivers/infiniband/ulp/srpt/ib_srpt.c | 247 ++- drivers/infiniband/ulp/srpt/ib_srpt.h | 58 +- drivers/net/ethernet/mellanox/mlx5/core/main.c | 4 - drivers/net/ethernet/mellanox/mlx5/core/mr.c | 28 +- include/linux/dma-mapping.h | 5 +- include/linux/mlx5/driver.h | 4 - include/linux/netdevice.h | 4 + include/rdma/ib_cm.h | 32 +- include/rdma/ib_mad.h | 40 - include/rdma/ib_umem.h | 4 +- include/rdma/ib_umem_odp.h | 18 - include/rdma/ib_verbs.h | 79 +- include/rdma/restrack.h | 5 + include/uapi/rdma/cxgb3-abi.h | 82 - include/uapi/rdma/efa-abi.h | 6 + include/uapi/rdma/ib_user_ioctl_verbs.h | 22 + include/uapi/rdma/mlx5_user_ioctl_cmds.h | 1 + include/uapi/rdma/nes-abi.h | 115 - include/uapi/rdma/qedr-abi.h | 25 + include/uapi/rdma/rdma_user_ioctl_cmds.h | 22 - include/uapi/rdma/vmw_pvrdma-abi.h | 5 + net/core/rtnetlink.c | 14 + 184 files changed, 4214 insertions(+), 12877 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
On Tue, Nov 26, 2019 at 4:24 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
>
> There is one conflict with v5.4, the hunk should be resolved in favor of
> rdma.git
Ok, so no need for the (now two!) xa_erase() calls to be the
"xa_erase_irq()" one?
Linus
The pull request you sent on Wed, 27 Nov 2019 00:24:40 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/d76886972823ce456c0c61cd2284e85668e2131e Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
On Wed, Nov 27, 2019 at 10:19:52AM -0800, Linus Torvalds wrote:
> On Tue, Nov 26, 2019 at 4:24 PM Jason Gunthorpe <jgg@mellanox.com> wrote:
> >
> > There is one conflict with v5.4, the hunk should be resolved in favor of
> > rdma.git
>
> Ok, so no need for the (now two!) xa_erase() calls to be the
> "xa_erase_irq()" one?
Two? Yes dropping the irq is right.
-rc still had the irq call xa_store, but that part was removed in
this code in -next.
This conflict is because the fixes sent to -rc accidently missed that
-rc still had the irq and had a wrong xa_store.
I wanted to include the combined diff here, but git doesn't want to
show it to me :\
$ git show -c for-linus-merged drivers/infiniband/hw/mlx5/mr.c
$ git show --cc for-linus-merged drivers/infiniband/hw/mlx5/mr.c
It looks OK in your tree, thanks
Jason
[-- Attachment #1: Type: text/plain, Size: 1722 bytes --] Hi Linus, First rc pull request A very small set of fixes, most people seem to still be recovering from December! Thanks, Jason The following changes since commit fd6988496e79a6a4bdb514a4655d2920209eb85d: Linux 5.5-rc4 (2019-12-29 15:29:16 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 9554de394b7eee01606e64c3806cd43893f3037e: i40iw: Remove setting of VMA private data and use rdma_user_mmap_io (2020-01-07 15:07:37 -0400) ---------------------------------------------------------------- First RDMA subsystem updates for 5.5-rc Five small driver fixes: - Fix error flow with MR allocation in bnxt_re - An errata work around for bnxt_re - Misuse of the workqueue API in hfi1 - Protocol error in hfi1 - Regression in 5.5 related to the mmap rework with i40iw ---------------------------------------------------------------- Kaike Wan (2): IB/hfi1: Don't cancel unused work item IB/hfi1: Adjust flow PSN with the correct resync_psn Selvin Xavier (2): RDMA/bnxt_re: Avoid freeing MR resources if dereg fails RDMA/bnxt_re: Fix Send Work Entry state check while polling completions Shiraz Saleem (1): i40iw: Remove setting of VMA private data and use rdma_user_mmap_io drivers/infiniband/hw/bnxt_re/ib_verbs.c | 4 +++- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 12 ++++++------ drivers/infiniband/hw/hfi1/iowait.c | 4 +++- drivers/infiniband/hw/hfi1/tid_rdma.c | 9 +++++++++ drivers/infiniband/hw/i40iw/i40iw_verbs.c | 14 ++++++-------- 5 files changed, 27 insertions(+), 16 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 10 Jan 2020 02:16:26 +0000: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/5e7c1b75bd2a75005313574dd6e5354907005f93 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 15638 bytes --] Hi Linus, These are the proposed RDMA patches for 5.6. A very quiet cycle with few notable changes. Mostly the usual list of one or two patches to drivers changing something that isn't quite rc worthy. The subsystem seems to be seeing a larger number of rework and cleanup style patches right now, I feel that several vendors are prepping their drivers for new silicon. Thanks, Jason The following changes since commit b2dfc6765e45a3154800333234e4952b5412d792: net/rds: Use prefetch for On-Demand-Paging MR (2020-01-18 11:48:19 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 8889f6fa35884d09f24734e10fea0c9ddcbc6429: RDMA/core: Make the entire API tree static (2020-01-30 16:28:52 -0400) ---------------------------------------------------------------- RDMA subsystem updates for 5.6 - Driver updates and cleanup for qedr, bnxt_re, hns, siw, mlx5, mlx4, rxe, i40iw - Larger series doing cleanup and rework for hns and hfi1. - Some general reworking of the CM code to make it a little more understandable - Unify the different code paths connected to the uverbs FD scheme - New UAPI ioctls conversions for get context and get async fd - Trace points for CQ and CM portions of the RDMA stack - mlx5 driver support for virtio-net formatted rings as RDMA raw ethernet QPs - verbs support for setting the PCI-E relaxed ordering bit on DMA traffic connected to a MR - A couple of bug fixes that came too late to make rc7 ---------------------------------------------------------------- Aditya Pakki (1): RDMA/srpt: Remove unnecessary assertion in srpt_queue_response Arnd Bergmann (1): IB/core: Fix build failure without hugepages Artemy Kovalyov (2): IB/mlx5: Unify ODP MR code paths to allow extra flexibility RDMA/umem: Fix ib_umem_find_best_pgsz() Avihai Horon (1): IB/mlx5: Expose RoCE accelerator counters Bernard Metzler (1): RDMA/siw: Simplify QP representation Chuck Lever (3): RDMA/cma: Add trace points in RDMA Connection Manager RDMA/core: Trace points for diagnosing completion queue issues RDMA/core: Add trace points to follow MR allocation Danit Goldberg (2): RDMA/cm: Use RCU synchronization mechanism to protect cm_id_private xa_load() IB/mlx5: Return the administrative GUID if exists Dillon Brock (1): IB/opa_vnic: Spelling correction of 'erorr' to 'error' Eugene Crosser (1): RDMA/mlx4: Redo TX checksum offload in line with docs Gal Pressman (4): RDMA/efa: Device definitions documentation updates RDMA/efa: Remove {} brackets from single statement if RDMA/efa: Remove unused ucontext parameter from efa_qp_user_mmap_entries_remove RDMA/efa: Mask access flags with the correct optional range Grzegorz Andrejczuk (3): IB/hfi1: Move common receive IRQ code to function IB/hfi1: Decouple IRQ name from type IB/hfi1: Return void in packet receiving functions Guoqing Jiang (1): RDMA/core: Remove err in iw_query_port Håkon Bugge (2): RDMA/netlink: Do not always generate an ACK for some netlink operations IB/mlx4: Fix leak in id_map_find_del Jack Morgenstein (1): IB/mlx4: Fix memory leak in add_gid error flow Jason Gunthorpe (29): RDMA/core: Fix locking in ib_uverbs_event_read Merge branch 'mlx5_vdpa' into rdma.git for-next RDMA/uverbs: Remove needs_kfree_rcu from uverbs_obj_type_class RDMA/mlx5: Use RCU and direct refcounts to keep memory alive RDMA/core: Simplify destruction of FD uobjects RDMA/mlx5: Simplify devx async commands RDMA/core: Do not allow alloc_commit to fail RDMA/core: Make ib_ucq_object use ib_uevent_object RDMA/core: Do not erase the type of ib_cq.uobject RDMA/core: Do not erase the type of ib_qp.uobject RDMA/core: Do not erase the type of ib_srq.uobject RDMA/core: Do not erase the type of ib_wq.uobject RDMA/core: Simplify type usage for ib_uverbs_async_handler() RDMA/core: Remove the ufile arg from rdma_alloc_begin_uobject RDMA/core: Make ib_uverbs_async_event_file into a uobject RDMA/core: Use READ_ONCE for ib_ufile.async_file Merge branch 'mlx5-next' into rdma.git for-next RDMA/core: Add UVERBS_METHOD_ASYNC_EVENT_ALLOC RDMA/core: Remove ucontext_lock from the uverbs_destry_ufile_hw() path RDMA/uverbs: Add ioctl command to get a device context Merge tag 'rds-odp-for-5.5' into rdma.git for-next RDMA/core: Ensure that rdma_user_mmap_entry_remove() is a fence RDMA/cm: Add accessors for CM_REQ transport_type RDMA/cm: Use IBA functions for simple get/set acessors RDMA/cm: Use IBA functions for swapping get/set acessors RDMA/cm: Use IBA functions for simple structure members RDMA/cm: Use IBA functions for complex structure members RDMA/cm: Remove CM message structs RDMA/core: Make the entire API tree static Jiaran Zhang (1): RDMA/hns: Add support for extended atomic in userspace Jiewei Ke (1): RDMA/rxe: Fix error type of mmap_offset Leon Romanovsky (4): RDMA/cm: Delete unused CM LAP functions RDMA/cm: Delete unused CM ARP functions net/mlx5: Add RoCE accelerator counters RDMA/cm: Add SET/GET implementations to hide IBA wire format Lijun Ou (7): RDMA/hns: Remove unused function hns_roce_init_eq_table() RDMA/hns: Update the value of qp type RDMA/hns: Delete unnessary parameters in hns_roce_v2_qp_modify() RDMA/hns: Fix coding style issues RDMA/hns: Bugfix for posting a wqe with sge RDMA/hns: Add interfaces to get pf capabilities from firmware RDMA/hns: Get pf capabilities from firmware Michael Guralnik (7): net/mlx5: Expose relaxed ordering bits RDMA/uverbs: Verify MR access flags RDMA/core: Add optional access flags range RDMA/efa: Allow passing of optional access flags for MR registration RDMA/uverbs: Add new relaxed ordering memory region access flag RDMA/core: Add the core support field to METHOD_GET_CONTEXT RDMA/mlx5: Set relaxed ordering when requested Michael J. Ruhl (1): IB/hfi1: List all receive contexts from debugfs Michal Kalderon (1): RDMA/qedr: Add kernel capability flags for dpm enabled mode Mike Marciniszyn (8): IB/hfi1: Add accessor API routines to access context members IB/rdmavt: Correct comments in rdmavt_qp.h header IB/hfi1: Move chip specific functions to chip.c IB/hfi1: Add fast and slow handlers for receive context IB/hfi1: IB/hfi1: Add an API to handle special case drop IB/hfi1: Create API for auto activate IB/hfi1: Add software counter for ctxt0 seq drop IB/hfi1: Add RcvShortLengthErrCnt to hfi1stats Nathan Chancellor (1): IB/hfi1: Fix logical condition in msix_request_irq Parav Pandit (5): IB/mlx5: Do reverse sequence during device removal IB/core: Let IB core distribute cache update events IB/core: Cut down single member ib_cache structure IB/core: Rename event_handler_lock to qp_open_list_lock RDMA/cma: Fix unbalanced cm_id reference count during address resolve Prabhath Sajeepa (1): IB/mlx5: Fix outstanding_pi index for GSI qps Rao Shoaib (2): Introduce maximum WQE size to check limits RDMA/rxe: Compute the maximum sges and inline size based on the WQE size Selvin Xavier (1): RDMA/bnxt_re: Report more number of completion vectors Sergey Gorenko (1): IB/srp: Never use immediate data if it is disabled by a user Weihang Li (1): RDMA/hns: Remove some redundant variables related to capabilities Wenpeng Liang (2): RDMA/hns: Avoid printing address of mtt page RDMA/hns: Replace custom macros HNS_ROCE_ALIGN_UP Xi Wang (1): RDMA/hns: Add support for reporting wc as software mode Xiyu Yang (1): RDMA/i40iw: fix a potential NULL pointer dereference Yishai Hadas (5): IB/core: Fix ODP get user pages flow IB/core: Fix ODP with IB_ACCESS_HUGETLB handling IB/mlx5: Extend caps stage to handle VAR capabilities IB/mlx5: Introduce VAR object and its alloc/destroy methods IB/mlx5: Add mmap support for VAR Yixian Liu (1): RDMA/hns: Simplify the calculation and usage of wqe idx for post verbs Yixing Liu (1): RDMA/hns: Remove redundant print information zhengbin (5): RDMA/siw: use true,false for bool variable IB/hfi1: use true,false for bool variable IB/iser: use true,false for bool variable RDMA/mlx4: use true,false for bool variable RDMA/mlx5: use true,false for bool variable drivers/infiniband/core/Makefile | 9 +- drivers/infiniband/core/addr.c | 2 +- drivers/infiniband/core/cache.c | 151 +-- drivers/infiniband/core/cm.c | 1000 ++++++++++---------- drivers/infiniband/core/cm_msgs.h | 755 +-------------- drivers/infiniband/core/cma.c | 90 +- drivers/infiniband/core/cma_trace.c | 16 + drivers/infiniband/core/cma_trace.h | 391 ++++++++ drivers/infiniband/core/core_priv.h | 3 +- drivers/infiniband/core/cq.c | 27 +- drivers/infiniband/core/device.c | 42 +- drivers/infiniband/core/ib_core_uverbs.c | 2 + drivers/infiniband/core/nldev.c | 3 +- drivers/infiniband/core/rdma_core.c | 235 ++--- drivers/infiniband/core/rdma_core.h | 45 +- drivers/infiniband/core/sa_query.c | 4 +- drivers/infiniband/core/trace.c | 14 + drivers/infiniband/core/umem.c | 9 +- drivers/infiniband/core/umem_odp.c | 22 +- drivers/infiniband/core/uverbs.h | 48 +- drivers/infiniband/core/uverbs_cmd.c | 320 ++++--- drivers/infiniband/core/uverbs_ioctl.c | 45 +- drivers/infiniband/core/uverbs_main.c | 301 ++---- drivers/infiniband/core/uverbs_std_types.c | 44 +- .../infiniband/core/uverbs_std_types_async_fd.c | 52 + drivers/infiniband/core/uverbs_std_types_cq.c | 19 +- drivers/infiniband/core/uverbs_std_types_device.c | 38 + drivers/infiniband/core/uverbs_uapi.c | 7 +- drivers/infiniband/core/verbs.c | 55 +- drivers/infiniband/hw/bnxt_re/main.c | 2 +- drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 37 +- drivers/infiniband/hw/efa/efa_verbs.c | 15 +- drivers/infiniband/hw/hfi1/chip.c | 198 +++- drivers/infiniband/hw/hfi1/chip.h | 8 + drivers/infiniband/hw/hfi1/chip_registers.h | 1 + drivers/infiniband/hw/hfi1/common.h | 3 + drivers/infiniband/hw/hfi1/debugfs.c | 2 +- drivers/infiniband/hw/hfi1/driver.c | 237 ++--- drivers/infiniband/hw/hfi1/file_ops.c | 12 +- drivers/infiniband/hw/hfi1/hfi.h | 195 +++- drivers/infiniband/hw/hfi1/init.c | 87 +- drivers/infiniband/hw/hfi1/msix.c | 106 ++- drivers/infiniband/hw/hfi1/msix.h | 1 + drivers/infiniband/hw/hfi1/rc.c | 2 +- drivers/infiniband/hw/hfi1/trace_ctxts.h | 2 +- drivers/infiniband/hw/hfi1/trace_rx.h | 15 +- drivers/infiniband/hw/hfi1/vnic_main.c | 2 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 2 + drivers/infiniband/hw/hns/hns_roce_device.h | 44 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 51 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 874 +++++++++++------ drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 159 +++- drivers/infiniband/hw/hns/hns_roce_main.c | 106 ++- drivers/infiniband/hw/hns/hns_roce_mr.c | 4 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 92 +- drivers/infiniband/hw/i40iw/i40iw_main.c | 2 + drivers/infiniband/hw/mlx4/cm.c | 29 +- drivers/infiniband/hw/mlx4/cq.c | 18 +- drivers/infiniband/hw/mlx4/main.c | 20 +- drivers/infiniband/hw/mlx4/qp.c | 4 +- drivers/infiniband/hw/mlx5/devx.c | 159 ++-- drivers/infiniband/hw/mlx5/gsi.c | 3 +- drivers/infiniband/hw/mlx5/ib_virt.c | 28 +- drivers/infiniband/hw/mlx5/main.c | 224 ++++- drivers/infiniband/hw/mlx5/mem.c | 25 - drivers/infiniband/hw/mlx5/mlx5_ib.h | 38 +- drivers/infiniband/hw/mlx5/mr.c | 81 +- drivers/infiniband/hw/mlx5/odp.c | 44 +- drivers/infiniband/hw/mlx5/qp.c | 4 +- drivers/infiniband/hw/qedr/verbs.c | 13 +- drivers/infiniband/sw/rdmavt/rc.c | 9 +- drivers/infiniband/sw/rxe/rxe_param.h | 7 +- drivers/infiniband/sw/rxe/rxe_qp.c | 18 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 2 +- drivers/infiniband/sw/siw/siw.h | 26 +- drivers/infiniband/sw/siw/siw_cm.c | 2 +- drivers/infiniband/sw/siw/siw_cq.c | 2 +- drivers/infiniband/sw/siw/siw_main.c | 2 +- drivers/infiniband/sw/siw/siw_qp.c | 13 +- drivers/infiniband/sw/siw/siw_qp_rx.c | 6 +- drivers/infiniband/sw/siw/siw_qp_tx.c | 2 +- drivers/infiniband/sw/siw/siw_verbs.c | 61 +- drivers/infiniband/ulp/iser/iser_memory.c | 2 +- drivers/infiniband/ulp/iser/iser_verbs.c | 2 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h | 2 +- drivers/infiniband/ulp/srp/ib_srp.c | 3 +- drivers/infiniband/ulp/srpt/ib_srpt.c | 2 - include/linux/mlx4/cq.h | 5 + include/linux/mlx5/driver.h | 5 + include/linux/mlx5/mlx5_ifc.h | 24 +- include/rdma/ib_cm.h | 34 - include/rdma/ib_verbs.h | 42 +- include/rdma/iba.h | 146 +++ include/rdma/ibta_vol1_c12.h | 213 +++++ include/rdma/rdmavt_qp.h | 22 +- include/rdma/uverbs_named_ioctl.h | 6 +- include/rdma/uverbs_std_types.h | 13 +- include/rdma/uverbs_types.h | 34 +- include/trace/events/rdma_core.h | 394 ++++++++ include/uapi/rdma/ib_user_ioctl_cmds.h | 15 + include/uapi/rdma/ib_user_ioctl_verbs.h | 12 + include/uapi/rdma/mlx5_user_ioctl_cmds.h | 17 + include/uapi/rdma/qedr-abi.h | 18 +- 103 files changed, 4659 insertions(+), 3200 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 31 Jan 2020 11:16:22 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/8fdd4019bcb2d824c5ab45c6fc340293cfed843f Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 3656 bytes --] Hi Linus, First rc pull request Not too much going on here, though there are about 4 fixes related to stuff merged during the last merge window. We also see the return of a syzkaller instance with access to RDMA devices, and a few bugs detected by that squished. Regards, Jason The following changes since commit bb6d3fb354c5ee8d6bde2d576eb7220ea09862b9: Linux 5.6-rc1 (2020-02-09 16:08:48 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 685eff513183d6d64a5f413531e683d23b8b198b: IB/mlx5: Use div64_u64 for num_var_hw_entries calculation (2020-02-14 15:21:52 -0400) ---------------------------------------------------------------- First RDMA 5.6 pull request Various crashers and a few regression fixes for things in the 5.6 merge window: - Fix three crashers and a memory memory leak for HFI1 - Several bugs found by syzkaller - A bug fix for the recent QP counters feature on older mlx5 HW - Locking inversion in cxgb4 - Unnecessary WARN_ON in siw - A umad crasher regression during unload, from a bug fix for something else - Bugs introduced in the merge window * Missed list_del in uverbs file rework, core and mlx5 devx * Unexpected integer math truncation in the mlx5 VAR patches * Compilation bug fix for the VAR patches on 32 bit ---------------------------------------------------------------- Avihai Horon (1): RDMA/core: Fix invalid memory access in spec_filter_size Jason Gunthorpe (1): IB/mlx5: Use div64_u64 for num_var_hw_entries calculation Kaike Wan (2): IB/hfi1: Acquire lock to release TID entries when user file is closed IB/rdmavt: Reset all QPs when the device is shut down Kamal Heib (1): RDMA/hfi1: Fix memory leak in _dev_comp_vect_mappings_create Krishnamraju Eraparaju (2): RDMA/iw_cxgb4: initiate CLOSE when entering TERM RDMA/siw: Remove unwanted WARN_ON in siw_cm_llp_data_ready() Leon Romanovsky (2): RDMA/mlx5: Prevent overflow in mmap offset calculations RDMA/core: Fix protection fault in get_pkey_idx_qp_list Mark Zhang (1): IB/mlx5: Return failure when rts2rts_qp_counters_set_id is not supported Michael Guralnik (1): RDMA/core: Add missing list deletion on freeing event queue Mike Marciniszyn (1): IB/hfi1: Close window for pq and request coliding Yishai Hadas (1): RDMA/mlx5: Fix async events cleanup flows Yonatan Cohen (1): IB/umad: Fix kernel crash while unloading ib_umad Zhu Yanjun (1): RDMA/rxe: Fix soft lockup problem due to using tasklets in softirq drivers/infiniband/core/security.c | 24 ++++----- drivers/infiniband/core/user_mad.c | 5 +- drivers/infiniband/core/uverbs_cmd.c | 15 +++--- drivers/infiniband/core/uverbs_std_types.c | 1 + drivers/infiniband/hw/cxgb4/cm.c | 4 ++ drivers/infiniband/hw/cxgb4/qp.c | 4 +- drivers/infiniband/hw/hfi1/affinity.c | 2 + drivers/infiniband/hw/hfi1/file_ops.c | 52 +++++++++++------- drivers/infiniband/hw/hfi1/hfi.h | 5 +- drivers/infiniband/hw/hfi1/user_exp_rcv.c | 5 +- drivers/infiniband/hw/hfi1/user_sdma.c | 17 ++++-- drivers/infiniband/hw/mlx5/devx.c | 51 ++++++++++-------- drivers/infiniband/hw/mlx5/main.c | 6 +-- drivers/infiniband/hw/mlx5/qp.c | 9 ++-- drivers/infiniband/sw/rdmavt/qp.c | 84 ++++++++++++++++++------------ drivers/infiniband/sw/rxe/rxe_comp.c | 8 +-- drivers/infiniband/sw/siw/siw_cm.c | 5 +- 17 files changed, 172 insertions(+), 125 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Sat, 15 Feb 2020 17:32:04 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/54654e142d9ed3f7382767d6da769a2887888a75 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 3043 bytes --] Hi Linus, Second rc pull request Nothing particularly exciting, some small ODP regressions from the mmu notifier rework, another bunch of syzkaller fixes, and a bug fix for a botched syzkaller fix in the first rc pull request. Thanks, Jason The following changes since commit 11a48a5a18c63fd7621bb050228cebf13566e4d8: Linux 5.6-rc2 (2020-02-16 13:16:59 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 810dbc69087b08fd53e1cdd6c709f385bc2921ad: RDMA/iwcm: Fix iwcm work deallocation (2020-03-04 14:28:25 -0400) ---------------------------------------------------------------- Second RDMA 5.6 pull request - Fix busted syzkaller fix in 'get_new_pps' - this turned out to crash on certain HW configurations - Bug fixes for various missed things in error unwinds - Add a missing rcu_read_lock annotation in hfi/qib - Fix two ODP related regressions from the recent mmu notifier changes - Several more syzkaller bugs in siw, RDMA netlink, verbs and iwcm - Revert an old patch in CMA as it is now shown to not be allocating port numbers properly ---------------------------------------------------------------- Artemy Kovalyov (1): IB/mlx5: Fix implicit ODP race Bernard Metzler (2): RDMA/siw: Fix failure handling during device creation RDMA/iwcm: Fix iwcm work deallocation Dennis Dalessandro (1): IB/hfi1, qib: Ensure RCU is locked when accessing list Jason Gunthorpe (2): RMDA/cm: Fix missing ib_cm_destroy_id() in ib_cm_insert_listen() RDMA/odp: Ensure the mm is still alive before creating an implicit child Maor Gottlieb (2): RDMA/core: Fix pkey and port assignment in get_new_pps RDMA/core: Fix protection fault in ib_mr_pool_destroy Mark Zhang (1): RDMA/nldev: Fix crash when set a QP to a new counter but QPN is missing Max Gurtovoy (1): RDMA/rw: Fix error flow during RDMA context initialization Nathan Chancellor (1): RDMA/core: Fix use of logical OR in get_new_pps Parav Pandit (1): Revert "RDMA/cma: Simplify rdma_resolve_addr() error flow" drivers/infiniband/core/cm.c | 1 + drivers/infiniband/core/cma.c | 15 +++++++++++---- drivers/infiniband/core/core_priv.h | 14 ++++++++++++++ drivers/infiniband/core/iwcm.c | 4 +++- drivers/infiniband/core/nldev.c | 2 ++ drivers/infiniband/core/rw.c | 31 ++++++++++++++++++++----------- drivers/infiniband/core/security.c | 14 +++++++++----- drivers/infiniband/core/umem_odp.c | 24 +++++++++++++++++++----- drivers/infiniband/core/uverbs_cmd.c | 9 --------- drivers/infiniband/core/verbs.c | 10 ---------- drivers/infiniband/hw/hfi1/verbs.c | 4 +++- drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 + drivers/infiniband/hw/mlx5/odp.c | 17 +++++++---------- drivers/infiniband/hw/qib/qib_verbs.c | 2 ++ drivers/infiniband/sw/siw/siw_main.c | 6 +++--- 15 files changed, 95 insertions(+), 59 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Sat, 7 Mar 2020 20:07:18 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/61a09258f2e5b48ad0605131cae9a33ce4d01a9d Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 2641 bytes --] Hi Linus, A small set of late-rc patches, mostly fixes for various crashers, some syzkaller fixes and a mlx5 HW limitation. Thanks, Jason The following changes since commit 2c523b344dfa65a3738e7039832044aa133c75fb: Linux 5.6-rc5 (2020-03-08 17:44:44 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to ba80013fba656b9830ef45cd40a6a1e44707f47a: RDMA/mlx5: Block delay drop to unprivileged users (2020-03-25 09:56:30 -0300) ---------------------------------------------------------------- Third RDMA 5.6 pull request - Several MAINTAINERS updates - Memory leak regression in ODP - Several fixes for syzkaller related crashes. Google recently taught syzkaller to create the software RDMA devices - Crash fixes for HFI1 - Several fixes for mlx5 crashes - Prevent unprivileged access to an unsafe mlx5 HW resource ---------------------------------------------------------------- Jason Gunthorpe (4): RDMA/odp: Fix leaking the tgid for implicit ODP RDMA/nl: Do not permit empty devices names during RDMA_NLDEV_CMD_NEWLINK/SET RDMA/core: Fix missing error check on dev_set_name() RDMA/mad: Do not crash if the rdma device does not have a umad interface Kaike Wan (1): IB/rdmavt: Free kernel completion queue when done Leon Romanovsky (2): MAINTAINERS: Clean RXE section and add Zhu as RXE maintainer RDMA/mlx5: Fix access to wrong pointer while performing flush due to error Maor Gottlieb (1): RDMA/mlx5: Block delay drop to unprivileged users Mark Zhang (1): RDMA/mlx5: Fix the number of hwcounters of a dynamic counter Mike Marciniszyn (2): IB/hfi1: Ensure pq is not left on waitlist RDMA/core: Ensure security pkey modify is not lost Weihang Li (1): MAINTAINERS: Update maintainers for HISILICON ROCE DRIVER MAINTAINERS | 7 +++---- drivers/infiniband/core/device.c | 4 +++- drivers/infiniband/core/nldev.c | 6 +++++- drivers/infiniband/core/security.c | 11 +++-------- drivers/infiniband/core/umem_odp.c | 2 +- drivers/infiniband/core/user_mad.c | 33 ++++++++++++++++++++++----------- drivers/infiniband/hw/hfi1/user_sdma.c | 25 ++++++++++++++++++++++--- drivers/infiniband/hw/mlx5/cq.c | 27 +++++++++++++++++++++++++-- drivers/infiniband/hw/mlx5/main.c | 5 +++-- drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 + drivers/infiniband/hw/mlx5/qp.c | 5 +++++ drivers/infiniband/sw/rdmavt/cq.c | 2 +- 12 files changed, 94 insertions(+), 34 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 26 Mar 2020 14:31:52 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/9420e8ade4353a6710908ffafa23ecaf1caa0123 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 18677 bytes --] Hi Linus, These are the proposed RDMA patches for 5.7. This cycle saw some more activity from Syzkaller, I think we are now clean on all but one of those bugs, including the long standing and obnoxious rdma_cm locking design defect. Continue to see many drivers getting cleanups, with a few new user visible features. Thanks, Jason The following changes since commit 826096d84f509d95ee8f72728fe19c44fbb9df6b: mlx5: Remove uninitialized use of key in mlx5_core_create_mkey (2020-03-16 23:30:32 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to b4d8ddf8356d8ac73fb931d16bcc661a83b2c0fe: RDMA/bnxt_re: make bnxt_re_ib_init static (2020-03-30 15:03:19 -0300) ---------------------------------------------------------------- RDMA 5.7 pull request The majority of the patches are cleanups, refactorings and clarity improvements - Various driver updates for siw, bnxt_re, rxe, efa, mlx5, hfi1 - Lots of cleanup patches for hns - Convert more places to use refcount - Aggressively lock the RDMA CM code that syzkaller says isn't working - Work to clarify ib_cm - Use the new ib_device lifecycle model in bnxt_re - Fix mlx5's MR cache which seems to be failing more often with the new ODP code - mlx5 'dynamic uar' and 'tx steering' user interfaces ---------------------------------------------------------------- Alex Vesker (1): IB/mlx5: Replace tunnel mpls capability bits for tunnel_offloads Alexander Lobakin (1): IB/mlx5: Optimize u64 division on 32-bit arches Andrew Morton (1): RDMA/siw: Suppress uninitialized var warning Avihai Horon (1): RDMA/cm: Update num_paths in cma_resolve_iboe_route error flow Bart Van Assche (1): RDMA/rxe: Fix configuration of atomic queue pair attributes Bernard Metzler (1): RDMA/siw: Fix passive connection establishment Christophe JAILLET (1): RDMA/bnxt_re: Remove a redundant 'memset' Colin Ian King (2): RDMA/hns: fix spelling mistake: "attatch" -> "attach" RDMA/hns: fix spelling mistake "attatch" -> "attach" Dan Carpenter (1): IB/mlx5: Fix a NULL vs IS_ERR() check Devesh Sharma (8): RDMA/bnxt_re: Refactor queue pair creation code RDMA/bnxt_re: Replace chip context structure with pointer RDMA/bnxt_re: Refactor hardware queue memory allocation RDMA/bnxt_re: Refactor net ring allocation function RDMA/bnxt_re: Refactor command queue management code RDMA/bnxt_re: Refactor notification queue management code RDMA/bnxt_re: Refactor doorbell management functions RDMA/bnxt_re: use ibdev based message printing functions Erez Shitrit (1): RDMA/mlx5: Remove duplicate definitions of SW_ICM macros Gal Pressman (3): RDMA/efa: Unified getters/setters for device structs bitmask access RDMA/efa: Properly document the interrupt mask register RDMA/efa: Do not delay freeing of DMA pages George Spelvin (1): IB/qib: Delete struct qib_ivdev.qp_rnd Gustavo A. R. Silva (2): RDMA: Replace zero-length array with flexible-array member RDMA/hns: Fix uninitialized variable bug Jason Gunthorpe (35): RDMA/core: Get rid of ib_create_qp_user RDMA/ucma: Use refcount_t for the ctx->ref RDMA/bnxt_re: Using vmalloc requires including vmalloc.h RDMA/ucma: Put a lock around every call to the rdma_cm layer Merge tag 'v5.6-rc4' into rdma.git for-next Merge branch 'mlx5_packet_pacing' into rdma.git for-next Merge tag 'v5.6-rc5' into rdma.git for-next RDMA/cma: Teach lockdep about the order of rtnl and lock RDMA/mlx5: Rename the tracking variables for the MR cache RDMA/mlx5: Simplify how the MR cache bucket is located RDMA/mlx5: Always remove MRs from the cache before destroying them RDMA/mlx5: Fix MR cache size and limit debugfs RDMA/mlx5: Lock access to ent->available_mrs/limit when doing queue_work RDMA/mlx5: Fix locking in MR cache work queue RDMA/mlx5: Revise how the hysteresis scheme works for cache filling RDMA/mlx5: Allow MRs to be created in the cache synchronously Merge branch 'mlx5_mr_cache' into rdma.git for-next RDMA/cm: Fix ordering of xa_alloc_cyclic() in ib_create_cm_id() RDMA/cm: Fix checking for allowed duplicate listens RDMA/cm: Remove a race freeing timewait_info RDMA/cm: Make the destroy_id flow more robust RDMA/cm: Simplify establishing a listen cm_id RDMA/cm: Read id.state under lock when doing pr_debug() RDMA/cm: Make it clear that there is no concurrency in cm_sidr_req_handler() RDMA/cm: Make it clearer how concurrency works in cm_req_handler() RDMA/cm: Add missing locking around id.state in cm_dup_req_handler RDMA/cm: Add some lockdep assertions for cm_id_priv->lock RDMA/cm: Allow ib_send_cm_dreq() to be done under lock RDMA/cm: Allow ib_send_cm_drep() to be done under lock RDMA/cm: Allow ib_send_cm_rej() to be done under lock RDMA/cm: Allow ib_send_cm_sidr_rep() to be done under lock RDMA/cm: Make sure the cm_id is in the IB_CM_IDLE state in destroy RDMA/bnxt_re: Use ib_device_try_get() RDMA/bnxt_re: Fix lifetimes in bnxt_re_task Merge branch 'mlx5_tx_steering' into rdma.git for-next Jihua Tao (1): RDMA/hns: Reduce PFC frames in congestion scenarios Kaike Wan (3): IB/hfi1: Remove kobj from hfi1_devdata IB/hfi1: Fix memory leaks in sysfs registration and unregistration IB/hfi1: Call kobject_put() when kobject_init_and_add() fails Kamal Heib (3): RDMA/siw: Fix setting active_mtu attribute RDMA/siw: Fix setting active_{speed, width} attributes RDMA/providers: Fix return value when QP type isn't supported Lang Cheng (10): RDMA/hns: Cleanups of magic numbers RDMA/hns: Initialize all fields of doorbells to zero RDMA/hns: Treat revision HIP08_A as a special case RDMA/hns: Check if depth of qp is 0 before configure RDMA/hns: Simplify attribute judgment code RDMA/hns: Adjust the qp status value sequence of the hardware RDMA/hns: Remove definition of cq doorbell structure RDMA/hns: Remove redundant qpc setup operations RDMA/hns: Reduce the maximum number of extend SGE per WQE RDMA/hns: Modify the mask of QP number for CQE of hip08 Leon Romanovsky (8): RDMA/ucma: Mask QPN to be 24 bits according to IBTA RDMA/ipoib: Don't set constant driver version RDMA/opa_vnic: Delete driver version RDMA/mlx4: Delete duplicated offsetofend implementation RDMA/mlx5: Use offsetofend() instead of duplicated variant RDMA/cm: Delete not implemented CM peer to peer communication RDMA/efa: Use in-kernel offsetofend() to check field availability IB/mlx5: Limit the scope of struct mlx5_bfreg_info to mlx5_ib Lijun Ou (2): RDMA/hns: Unify format of prints RDMA/hns: Optimize hns_roce_alloc_vf_resource() Mauro Carvalho Chehab (1): IB/hfi1: Get rid of a warning Max Gurtovoy (1): RDMA/rw: map P2P memory correctly for signature operations Michael Guralnik (4): RDMA/core: Add weak ordering dma attr to dma mapping RDMA/mlx5: Prevent UMR usage with RO only when we have RO caps net/mlx5: Add support for RDMA TX steering RDMA/mlx5: Add support for RDMA TX flow table Mike Marciniszyn (1): IB/rdmavt: Delete unused routine Parav Pandit (8): RDMA/cma: Use a helper function to enqueue resolve work items RDMA/cma: Use RDMA device port iterator RDMA/cma: Rename cma_device ref/deref helpers to to get/put RDMA/cma: Use refcount API to reflect refcount RDMA/cma: Rename cma_device ref/deref helpers to to get/put RDMA/cma: Use refcount API to reflect refcount IB/mlx5: Add np_min_time_between_cnps and rp_max_rate debug params IB/mlx5: Fix missing congestion control debugfs on rep rdma device Saeed Mahameed (1): RDMA/mlx5: Replace spinlock protected write with atomic var Selvin Xavier (6): RDMA/core: Add helper function to retrieve driver gid context from gid attr RDMA/bnxt_re: Use rdma_read_gid_hw_context to retrieve HW gid index RDMA/bnxt_re: Refactor device add/remove functionalities RDMA/bnxt_re: Use driver_unregister and unregistration API RDMA/bnxt_re: Remove unnecessary sched count RDMA/bnxt_re: Wait for all the CQ events before freeing CQ data structures Sergey Gorenko (1): IB/iser: Always check sig MR before putting it to the free pool Shiraz Saleem (1): i40iw: Do an RCU lookup in i40iw_add_ipv4_addr Sindhu, Devale (1): i40iw: Report correct firmware version Takashi Iwai (1): IB/hfi1: Use scnprintf() for avoiding potential buffer overflow Weihang Li (4): RDMA/hns: Fix wrong judgments of udata->outlen RDMA/hns: Fix a wrong judgment of return value RDMA/hns: Remove redundant assignment of wc->smac when polling cq RDMA/hns: Remove redundant judgment of qp_type Wenpeng Liang (1): RDMA/hns: Remove meaningless prints Xi Wang (15): RDMA/hns: Optimize eqe buffer allocation flow RDMA/hns: Optimize qp destroy flow RDMA/hns: Optimize qp context create and destroy flow RDMA/hns: Optimize qp number assign flow RDMA/hns: Optimize qp buffer allocation flow RDMA/hns: Optimize qp param setup flow RDMA/hns: Optimize kernel qp wrid allocation flow RDMA/hns: Optimize qp doorbell allocation flow RDMA/hns: Rename wqe buffer related functions RDMA/hns: Optimize wqe buffer filling process for post send RDMA/hns: Optimize the wr opcode conversion from ib to hns RDMA/hns: Optimize base address table config flow for qp buffer RDMA/hns: Optimize wqe buffer set flow for post send RDMA/hns: Optimize mhop get flow for multi-hop addressing RDMA/hns: Optimize mhop put flow for multi-hop addressing Yishai Hadas (6): IB/mlx5: Introduce UAPIs to manage packet pacing IB/mlx5: Generally use the WC auto detection test result IB/mlx5: Expose UAR object and its alloc/destroy commands IB/mlx5: Extend CQ creation to get uar page index from user space IB/mlx5: Extend QP creation to get uar page index from user space IB/mlx5: Move to fully dynamic UAR mode once user space supports it Yixian Liu (4): RDMA/hns: Add the workqueue framework for flush cqe handler RDMA/hns: Delayed flush cqe process with workqueue RDMA/hns: Use flush framework for the case in aeq RDMA/hns: Stop doorbell update while qp state error YueHaibing (4): RDMA/bnxt_re: Remove set but not used variable 'pg_size' RDMA/bnxt_re: Remove set but not used variable 'dev_attr' RDMA/bnxt_re: Remove set but not used variables 'pg' and 'idx' RDMA/bnxt_re: make bnxt_re_ib_init static Zhu Yanjun (2): RDMA/core: Remove the duplicate header file RDMA/rxe: Set sys_image_guid to be aligned with HW IB devices drivers/infiniband/core/cache.c | 19 +- drivers/infiniband/core/cm.c | 746 ++++---- drivers/infiniband/core/cma.c | 114 +- drivers/infiniband/core/cma_configfs.c | 6 +- drivers/infiniband/core/cma_priv.h | 6 +- drivers/infiniband/core/mad_priv.h | 4 +- drivers/infiniband/core/multicast.c | 2 +- drivers/infiniband/core/rw.c | 12 +- drivers/infiniband/core/sa_query.c | 2 +- drivers/infiniband/core/ucma.c | 61 +- drivers/infiniband/core/umem.c | 11 +- drivers/infiniband/core/verbs.c | 24 +- drivers/infiniband/hw/bnxt_re/bnxt_re.h | 26 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 926 ++++++---- drivers/infiniband/hw/bnxt_re/main.c | 492 +++--- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 489 +++--- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 95 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 463 +++-- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 85 +- drivers/infiniband/hw/bnxt_re/qplib_res.c | 470 +++-- drivers/infiniband/hw/bnxt_re/qplib_res.h | 145 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 48 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 4 +- drivers/infiniband/hw/cxgb4/qp.c | 2 +- drivers/infiniband/hw/cxgb4/t4fw_ri_api.h | 8 +- drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 7 +- drivers/infiniband/hw/efa/efa_admin_defs.h | 4 +- drivers/infiniband/hw/efa/efa_com.c | 158 +- drivers/infiniband/hw/efa/efa_com_cmd.c | 29 +- drivers/infiniband/hw/efa/efa_common_defs.h | 13 +- drivers/infiniband/hw/efa/efa_regs_defs.h | 25 +- drivers/infiniband/hw/efa/efa_verbs.c | 51 +- drivers/infiniband/hw/hfi1/fault.c | 4 +- drivers/infiniband/hw/hfi1/file_ops.c | 4 +- drivers/infiniband/hw/hfi1/hfi.h | 2 - drivers/infiniband/hw/hfi1/init.c | 26 +- drivers/infiniband/hw/hfi1/mad.c | 4 +- drivers/infiniband/hw/hfi1/mad.h | 2 +- drivers/infiniband/hw/hfi1/pio.h | 4 +- drivers/infiniband/hw/hfi1/sdma.c | 2 +- drivers/infiniband/hw/hfi1/sdma.h | 4 +- drivers/infiniband/hw/hfi1/sysfs.c | 26 +- drivers/infiniband/hw/hfi1/user_exp_rcv.h | 2 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 8 +- drivers/infiniband/hw/hns/hns_roce_device.h | 54 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 474 ++--- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 46 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 1851 +++++++------------- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 16 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 2 +- drivers/infiniband/hw/hns/hns_roce_pd.c | 6 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 977 ++++++----- drivers/infiniband/hw/hns/hns_roce_srq.c | 3 +- drivers/infiniband/hw/i40iw/i40iw.h | 22 +- drivers/infiniband/hw/i40iw/i40iw_cm.h | 4 +- drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 96 + drivers/infiniband/hw/i40iw/i40iw_d.h | 26 +- drivers/infiniband/hw/i40iw/i40iw_main.c | 24 +- drivers/infiniband/hw/i40iw/i40iw_p.h | 1 + drivers/infiniband/hw/i40iw/i40iw_status.h | 3 +- drivers/infiniband/hw/i40iw/i40iw_type.h | 12 + drivers/infiniband/hw/i40iw/i40iw_verbs.c | 12 +- drivers/infiniband/hw/mlx4/main.c | 9 +- drivers/infiniband/hw/mlx4/qp.c | 2 +- drivers/infiniband/hw/mlx5/Makefile | 1 + drivers/infiniband/hw/mlx5/cong.c | 20 + drivers/infiniband/hw/mlx5/cq.c | 21 +- drivers/infiniband/hw/mlx5/flow.c | 3 + drivers/infiniband/hw/mlx5/main.c | 265 ++- drivers/infiniband/hw/mlx5/mem.c | 2 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 89 +- drivers/infiniband/hw/mlx5/mr.c | 608 ++++--- drivers/infiniband/hw/mlx5/odp.c | 2 +- drivers/infiniband/hw/mlx5/qos.c | 136 ++ drivers/infiniband/hw/mlx5/qp.c | 35 +- drivers/infiniband/hw/mthca/mthca_memfree.c | 2 +- drivers/infiniband/hw/mthca/mthca_memfree.h | 2 +- drivers/infiniband/hw/mthca/mthca_provider.c | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +- drivers/infiniband/hw/qedr/verbs.c | 2 +- drivers/infiniband/hw/qib/qib_verbs.c | 2 - drivers/infiniband/hw/qib/qib_verbs.h | 1 - drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 2 +- drivers/infiniband/hw/usnic/usnic_uiom.h | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 2 +- drivers/infiniband/sw/rdmavt/qp.c | 2 +- drivers/infiniband/sw/rdmavt/vt.c | 6 - drivers/infiniband/sw/rxe/rxe.c | 2 + drivers/infiniband/sw/rxe/rxe_qp.c | 7 +- drivers/infiniband/sw/rxe/rxe_queue.h | 2 +- drivers/infiniband/sw/siw/siw_cm.c | 137 +- drivers/infiniband/sw/siw/siw_qp_rx.c | 2 +- drivers/infiniband/sw/siw/siw_verbs.c | 11 +- drivers/infiniband/ulp/ipoib/ipoib.h | 2 - drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 3 - drivers/infiniband/ulp/ipoib/ipoib_main.c | 4 - drivers/infiniband/ulp/iser/iser_memory.c | 21 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h | 6 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_ethtool.c | 2 - .../infiniband/ulp/opa_vnic/opa_vnic_internal.h | 1 - drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 5 - drivers/infiniband/ulp/srp/ib_srp.h | 2 +- drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 1 + drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 53 + drivers/net/ethernet/mellanox/mlx5/core/fs_core.h | 7 +- include/linux/mlx5/device.h | 6 + include/linux/mlx5/driver.h | 17 - include/linux/mlx5/fs.h | 1 + include/linux/mlx5/mlx5_ifc.h | 8 +- include/rdma/ib_cache.h | 1 + include/rdma/ib_cm.h | 1 - include/rdma/ib_fmr_pool.h | 2 +- include/rdma/ib_verbs.h | 49 +- include/rdma/opa_vnic.h | 2 +- include/rdma/rdmavt_mr.h | 2 +- include/rdma/rdmavt_qp.h | 2 +- include/rdma/uverbs_ioctl.h | 2 +- include/uapi/rdma/mlx5-abi.h | 6 + include/uapi/rdma/mlx5_user_ioctl_cmds.h | 35 + include/uapi/rdma/mlx5_user_ioctl_verbs.h | 10 + 120 files changed, 5401 insertions(+), 4495 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Wed, 1 Apr 2020 20:01:33 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/919dce24701f7b34681a6a1d3ef95c9f6c4fb1cc Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 2531 bytes --] Hi Linus, First rc pull request A few regressions and some syzkaller crashers for RDMA. Thanks, Jason The following changes since commit 8f3d9f354286745c751374f5f1fcafee6b3f3136: Linux 5.7-rc1 (2020-04-12 12:35:55 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to f0abc761bbb9418876cc4d1ebc473e4ea6352e42: RDMA/core: Fix race between destroy and release FD object (2020-04-24 15:40:41 -0300) ---------------------------------------------------------------- First RDMA 5.7 rc pull request A couple of regressions were found in rc1, as well as another set of races and bugs : - A regression where RDMA_CM_EVENT_REJECTED was lost in some cases - Bad error handling in the CM, uverbs, rvt, siw and i40iw - Kernel stack memory leak to user space in mlx4 - Missing data in a uapi query for mlx5 - Three races found by syzkaller in the ib core code ---------------------------------------------------------------- Aharon Landau (1): RDMA/mlx5: Set GRH fields in query QP on RoCE Alaa Hleihel (1): RDMA/mlx4: Initialize ib_spec on the stack Colin Ian King (1): i40iw: fix null pointer dereference on a null wqe pointer Dan Carpenter (1): RDMA/cm: Fix an error check in cm_alloc_id_priv() Jason Gunthorpe (2): RDMA/siw: Fix potential siw_mem refcnt leak in siw_fastreg_mr() RDMA/uverbs: Fix a race with disassociate and exit_mmap() Leon Romanovsky (4): RDMA/cm: Fix missing RDMA_CM_EVENT_REJECTED event after receiving REJ message RDMA/core: Prevent mixed use of FDs between shared ufiles RDMA/core: Fix overwriting of uobj in case of error RDMA/core: Fix race between destroy and release FD object Sudip Mukherjee (1): IB/rdmavt: Always return ERR_PTR from rvt_create_mmap_info() drivers/infiniband/core/cm.c | 26 ++++++++++++++------------ drivers/infiniband/core/rdma_core.c | 9 ++++----- drivers/infiniband/core/uverbs_main.c | 4 ++++ drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 2 +- drivers/infiniband/hw/mlx4/main.c | 3 ++- drivers/infiniband/hw/mlx5/qp.c | 4 +++- drivers/infiniband/sw/rdmavt/cq.c | 4 ++-- drivers/infiniband/sw/rdmavt/mmap.c | 4 ++-- drivers/infiniband/sw/rdmavt/qp.c | 4 ++-- drivers/infiniband/sw/rdmavt/srq.c | 4 ++-- drivers/infiniband/sw/siw/siw_qp_tx.c | 15 +++++++++++---- 11 files changed, 47 insertions(+), 32 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Tue, 28 Apr 2020 16:59:14 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/edb98d162418e90d6d2c1cec42e09be0375cfd88 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 2735 bytes --] Hi Linus, Second rc pull request One regression, some syzkaller crashers and other long standing bugs for RDMA. Thanks, Jason The following changes since commit 0e698dfa282211e414076f9dc7e83c1c288314fd: Linux 5.7-rc4 (2020-05-03 14:56:04 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to ccfdbaa5cf4601b9b71601893029dcc9245c002b: RDMA/uverbs: Move IB_EVENT_DEVICE_FATAL to destroy_uobj (2020-05-12 17:02:25 -0300) ---------------------------------------------------------------- Second RDMA 5.7 rc pull request A few minor bug fixes for user visible defects, and one regression: - Various bugs from static checkers and syzkaller - Add missing error checking in mlx4 - Prevent RTNL lock recursion in i40iw - Fix segfault in cxgb4 in peer abort cases - Fix a regression added in 5.7 where the IB_EVENT_DEVICE_FATAL could be lost, and wasn't delivered to all the FDs ---------------------------------------------------------------- Dan Carpenter (1): i40iw: Fix error handling in i40iw_manage_arp_cache() Denis V. Lunev (1): IB/i40iw: Remove bogus call to netdev_master_upper_dev_get() Jack Morgenstein (2): IB/mlx4: Test return value of calls to ib_get_cached_pkey IB/core: Fix potential NULL pointer dereference in pkey cache Jason Gunthorpe (2): RDMA/uverbs: Do not discard the IB_EVENT_DEVICE_FATAL event RDMA/uverbs: Move IB_EVENT_DEVICE_FATAL to destroy_uobj Maor Gottlieb (1): RDMA/core: Fix double put of resource Mike Marciniszyn (1): IB/hfi1: Fix another case where pq is left on waitlist Potnuri Bharat Teja (1): RDMA/iw_cxgb4: Fix incorrect function parameters Sudip Mukherjee (1): RDMA/rxe: Always return ERR_PTR from rxe_create_mmap_info() drivers/infiniband/core/cache.c | 7 +++-- drivers/infiniband/core/nldev.c | 3 +-- drivers/infiniband/core/rdma_core.c | 3 ++- drivers/infiniband/core/uverbs.h | 4 +++ drivers/infiniband/core/uverbs_main.c | 12 +++------ .../infiniband/core/uverbs_std_types_async_fd.c | 30 +++++++++++++++++++++- drivers/infiniband/hw/cxgb4/cm.c | 7 +++-- drivers/infiniband/hw/hfi1/user_sdma.c | 4 --- drivers/infiniband/hw/i40iw/i40iw_cm.c | 8 ------ drivers/infiniband/hw/i40iw/i40iw_hw.c | 2 +- drivers/infiniband/hw/mlx4/qp.c | 14 +++++++--- drivers/infiniband/sw/rxe/rxe_mmap.c | 2 +- drivers/infiniband/sw/rxe/rxe_queue.c | 11 +++++--- 13 files changed, 68 insertions(+), 39 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 15 May 2020 16:13:54 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/d5dfe4f1b44ed532653c2335267ad9599c8a698e Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 1925 bytes --] Hi Linus, Third rc pull request Nothing profound here, just a last set of long standing bug fixes for 5.7 The following changes since commit b9bbe6ed63b2b9f2c9ee5cbd0f2c946a2723f4ce: Linux 5.7-rc6 (2020-05-17 16:48:37 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 1acba6a817852d4aa7916d5c4f2c82f702ee9224: IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode (2020-05-27 21:14:09 -0300) ---------------------------------------------------------------- Third RDMA 5.7 rc pull request A few bug fixes: - Incorrect error unwind in qib and pvrdma - User triggerable NULL pointer crash in mlx5 with ODP prefetch - syzkaller RCU race in uverbs - Rare double free crash in ipoib ---------------------------------------------------------------- Jason Gunthorpe (1): RDMA/core: Fix double destruction of uobject Kaike Wan (1): IB/qib: Call kobject_put() when kobject_init_and_add() fails Maor Gottlieb (1): RDMA/mlx5: Fix NULL pointer dereference in destroy_prefetch_work Qiushi Wu (1): RDMA/pvrdma: Fix missing pci disable in pvrdma_pci_probe() Valentine Fatiev (1): IB/ipoib: Fix double free of skb in case of multicast traffic in CM mode drivers/infiniband/core/rdma_core.c | 20 +++++++++++++------- drivers/infiniband/hw/mlx5/mr.c | 1 + drivers/infiniband/hw/qib/qib_sysfs.c | 9 +++++---- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 2 +- drivers/infiniband/ulp/ipoib/ipoib.h | 4 ++++ drivers/infiniband/ulp/ipoib/ipoib_cm.c | 15 +++++++++------ drivers/infiniband/ulp/ipoib/ipoib_ib.c | 9 +++++++-- drivers/infiniband/ulp/ipoib/ipoib_main.c | 10 ++++++---- include/rdma/uverbs_std_types.h | 2 +- 9 files changed, 47 insertions(+), 25 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 29 May 2020 11:15:56 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/6ff64d2537f5b445177c30a2fc7779a6f2107ed5 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 32342 bytes --] Hi Linus, These are the proposed RDMA patches for 5.8. A more active cycle than most of the recent past. In particular the new RNBD block driver was Ack'd by Jens and is flowing through RDMA due to it also introducing a new ULP. Also a heads up, Mellanox has been acquired by NVIDIA and you'll probably see a new email address from me and others this next cycle. Thanks, Jason The following changes since commit 6b646a7e4af69814dd1a3340fca0f02d4977420d: net/mlx5: Add ability to read and write ECE options (2020-05-27 14:08:28 +0300) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to fba97dc7fc76b2c9a909fa0b3786d30a9899f5cf: RDMA/cm: Spurious WARNING triggered in cm_destroy_id() (2020-06-03 15:48:18 -0300) ---------------------------------------------------------------- RDMA 5.8 merge window pull request A few large, long discussed works this time. The RNBD block driver has been posted for nearly two years now, and the removal of FMR has been a recurring discussion theme for a long time. The usual smattering of features and bug fixes. - Various small driver bugs fixes in rxe, mlx5, hfi1, and efa - Continuing driver cleanups in bnxt_re, hns - Big cleanup of mlx5 QP creation flows - More consistent use of src port and flow label when LAG is used and a mlx5 implementation - Additional set of cleanups for IB CM - 'RNBD' network block driver and target. This is a network block RDMA device specific to ionos's cloud environment. It brings strong multipath and resiliency capabilities. - Accelerated IPoIB for HFI1 - QP/WQ/SRQ ioctl migration for uverbs, and support for multiple async fds - Support for exchanging the new IBTA defiend ECE data during RDMA CM exchanges - Removal of the very old and insecure FMR interface from all ULPs and drivers. FRWR should be preferred for at least a decade now. ---------------------------------------------------------------- Aharon Landau (2): RDMA/mlx5: Verify that QP is created with RQ or SQ RDMA/mlx5: Add init2init as a modify command Bart Van Assche (4): RDMA/srp: Make the channel count configurable per target RDMA/srpt: Make debug output more detailed RDMA/srpt: Reduce max_recv_sge to 1 RDMA/srpt: Increase max_send_sge Chuck Lever (1): RDMA/core: Move and rename trace_cm_id_create() Colin Ian King (3): RDMA/mlx5: Remove duplicated assignment to variable rcqe_sz RDMA/hns: remove duplicate assignment to pointer raq IB/hfi1: Fix spelling mistake "enought" -> "enough" Dan Carpenter (5): RDMA/rtrs: Fix some signedness bugs in error handling RDMA/rtrs: Fix a couple off by one bugs in rtrs_srv_rdma_done() block/rnbd: Fix an IS_ERR() vs NULL check in find_or_create_sess() IB/hfi1: Fix hfi1_netdev_rx_init() error handling RDMA/hns: Uninitialized variable in modify_qp_init_to_rtr() Danil Kipnis (3): rnbd/rtrs: Pass max segment size from blk user to the rdma library RDMA/rnbd: Fix compilation error when CONFIG_MODULES is disabled RDMA/rtrs: Get rid of the do_next_path while_next_path macros Danit Goldberg (1): RDMA/cm: Remove unused store to ret in cm_rej_handler Daria Velikovsky (1): RDMA/mlx5: Add support for drop action in DV steering Devesh Sharma (4): RDMA/bnxt_re: Reduce device page size detection code RDMA/bnxt_re: Update missing hsi data structures RDMA/bnxt_re: Simplify obtaining queue entry from hw ring RDMA/bnxt_re: Remove dead code from rcfw Gal Pressman (6): RDMA/efa: Report create CQ error counter RDMA/efa: Count mmap failures RDMA/efa: Count admin commands errors RDMA/efa: Fix setting of wrong bit in get/set_feature commands RDMA/efa: Report host information to the device RDMA/mlx5: Remove FMR leftovers Gary Leshner (6): IB/hfi1: Add functions to transmit datagram ipoib packets IB/hfi1: Add the transmit side of a datagram ipoib RDMA netdev IB/hfi1: Remove module parameter for KDETH qpns IB/{rdmavt, hfi1}: Implement creation of accelerated UD QPs IB/{hfi1, ipoib, rdma}: Broadcast ping sent packets which exceeded mtu size IB/ipoib: Add capability to switch between datagram and connected mode Grzegorz Andrejczuk (6): IB/hfi1: RSM rules for AIP IB/hfi1: Rename num_vnic_contexts as num_netdev_contexts IB/hfi1: Add interrupt handler functions for accelerated ipoib IB/hfi1: Add rx functions for dummy netdev IB/hfi1: Activate the dummy netdev IB/hfi1: Add packet histogram trace event Gustavo A. R. Silva (4): IB/rdmavt: Replace zero-length array with flexible-array RDMA/rtrs: client: Fix function return on success RDMA/siw: Replace one-element array and use struct_size() helper RDMA/core: Use sizeof_field() helper Israel Rukshin (1): RDMA/iser: Remove support for FMR memory registration Jack Wang (25): sysfs: export sysfs_remove_file_self() RDMA/rtrs: public interface header to establish RDMA connections RDMA/rtrs: private headers with rtrs protocol structs and helpers RDMA/rtrs: core: lib functions shared between client and server modules RDMA/rtrs: client: private header with client structs and functions RDMA/rtrs: client: main functionality RDMA/rtrs: client: statistics functions RDMA/rtrs: client: sysfs interface functions RDMA/rtrs: server: private header with server structs and functions RDMA/rtrs: server: main functionality RDMA/rtrs: server: statistics functions RDMA/rtrs: server: sysfs interface functions RDMA/rtrs: include client and server modules into kernel compilation RDMA/rtrs: a bit of documentation block/rnbd: private headers with rnbd protocol structs and helpers block/rnbd: client: private header with client structs and functions block/rnbd: client: main functionality block/rnbd: client: sysfs interface functions block/rnbd: server: private header with server structs and functions block/rnbd: server: main functionality block/rnbd: server: functionality for IO submitting to block dev block/rnbd: server: sysfs interface functions block/rnbd: include client and server modules into kernel compilation block/rnbd: a bit of documentation MAINTAINERS: Add maintainers for RNBD/RTRS modules Jason Gunthorpe (24): RDMA/uverbs: Make the event_queue fds return POLLERR when disassociated RDMA: Remove a few extra calls to ib_get_client_data() Merge branch 'mlx5_ib_qp_refactor_1' into rdma.git for-next Merge branch 'mellanox/mlx5-next' into rdma.git for-next RDMA: Allow ib_client's to fail when add() is called RDMA/addr: Mark addr_resolve as might_sleep() RDMA/cm: Remove return code from add_cm_id_to_port_list RDMA/cm: Pull duplicated code into cm_queue_work_unlock() RDMA/cm: Pass the cm_id_private into cm_cleanup_timewait RDMA/cm: Add a note explaining how the timewait is eventually freed RDMA/cm: Make find_remote_id() return a cm_id_private RDMA/cm: Remove the cm_free_id() wrapper function RDMA/cm: Remove needless cm_id variable RDMA/cm: Increment the refcount inside cm_find_listen() Merge branch 'mellanox/mlx5-next' into rdma.git for/next RDMA/core: Consolidate ib_create_srq flows Merge tag 'v5.7-rc6' into rdma.git for-next RDMA/core: Allow the ioctl layer to abort a fully created uobject Merge branch 'mellanox/mlx5-next' into rdma.git for/next RDMA/core: Use offsetofend() instead of open coding RDMA/bnxt_re: Remove FMR leftovers RDMA/i40iw: Remove FMR leftovers RDMA: Remove 'max_fmr' RDMA: Remove 'max_map_per_fmr' Ka-Cheong Poon (1): RDMA/cm: Spurious WARNING triggered in cm_destroy_id() Kaike Wan (3): IB/hfi1: Add accelerated IP capability bit IB/ipoib: Increase ipoib Datagram mode MTU's upper limit IB/hfi1: Add functions to receive accelerated ipoib packets Kamal Heib (2): RDMA/srpt: Fix disabling device management RDMA/ipoib: Remove can_sleep parameter from iboib_mcast_alloc Lang Cheng (11): RDMA/hns: Simplify the qp state convert code RDMA/hns: Simplify the cqe code of poll cq RDMA/hns: Simplify the state judgment code of qp RDMA/hns: Simplify the status judgment code of hns_roce_v1_m_qp() RDMA/hns: Combine enable flags of qp RDMA/hns: Fix cmdq parameter of querying pf timer resource RDMA/hns: Store mr len information into mr obj RDMA/hns: Let software PI/CI grow naturally RDMA/hns: Add CQ flag instead of independent enable flag RDMA/hns: Optimize post and poll process RDMA/hns: Simplify process related to poll cq Leon Romanovsky (57): RDMA/cma: Limit the scope of rdma_is_consumer_reject function RDMA/bnxt: Delete 'nq_ptr' variable which is not used RDMA/mlx5: Organize QP types checks in one place RDMA/mlx5: Delete impossible GSI port check RDMA/mlx5: Perform check if QP creation flow is valid RDMA/mlx5: Prepare QP allocation for future removal RDMA/mlx5: Avoid setting redundant NULL for XRC QPs RDMA/mlx5: Set QP subtype immediately when it is known RDMA/mlx5: Separate create QP flows to be based on type RDMA/mlx5: Split scatter CQE configuration for DCT QP RDMA/mlx5: Update all DRIVER QP places to use QP subtype RDMA/mlx5: Move DRIVER QP flags check into separate function RDMA/mlx5: Remove second copy from user for non RSS RAW QPs RDMA/mlx5: Initial separation of RAW_PACKET QP from common flow RDMA/mlx5: Delete create QP flags obfuscation RDMA/mlx5: Process create QP flags in one place RDMA/mlx5: Use flags_en mechanism to mark QP created with WQE signature RDMA/mlx5: Change scatter CQE flag to be set like other vendor flags RDMA/mlx5: Return all configured create flags through query QP RDMA/mlx5: Process all vendor flags in one place RDMA/mlx5: Delete unsupported QP types RDMA/mlx5: Store QP type in the vendor QP structure RDMA/mlx5: Promote RSS RAW QP attribute check in higher level RDMA/mlx5: Combine copy of create QP command in RSS RAW QP RDMA/mlx5: Remove second user copy in create_user_qp RDMA/mlx5: Rely on existence of udata to separate kernel/user flows RDMA/mlx5: Delete impossible inlen check RDMA/mlx5: Globally parse DEVX UID RDMA/mlx5: Separate XRC_TGT QP creation from common flow RDMA/mlx5: Separate to user/kernel create QP flows RDMA/mlx5: Reduce amount of duplication in QP destroy RDMA/mlx5: Group all create QP parameters to simplify in-kernel interfaces RDMA/mlx5: Promote RSS RAW QP flags check to higher level RDMA/mlx5: Handle udate outlen checks in one place RDMA/mlx5: Copy response to the user in one place RDMA/mlx5: Remove redundant destroy QP call RDMA/mlx5: Consolidate into special function all create QP calls RDMA/mlx5: Update mlx5_ib to use new cmd interface RDMA/mlx5: Move all WR logic from qp.c to separate file RDMA/ucma: Return stable IB device index as identifier RDMA/mlx5: Fix query_srq_cmd() function RDMA/cm: Add Enhanced Connection Establishment (ECE) bits RDMA/ucma: Extend ucma_connect to receive ECE parameters RDMA/ucma: Deliver ECE parameters through UCMA events RDMA/cm: Send and receive ECE parameter over the wire RDMA/cma: Connect ECE to rdma_accept RDMA/cma: Provide ECE reject reason RDMA/mlx5: Get ECE options from FW during create QP RDMA/mlx5: Set ECE options during QP create RDMA/mlx5: Use direct modify QP implementation RDMA/mlx5: Remove manually crafted QP context the query call RDMA/mlx5: Convert modify QP to use MLX5_SET macros RDMA/mlx5: Set ECE options during modify QP RDMA/mlx5: Return ECE data after modify QP RDMA/mlx5: Return an error if copy_to_user fails RDMA/mlx5: Don't rely on FW to set zeros in ECE response RDMA/mlx5: Return ECE DC support Lijun Ou (4): RDMA/hns: Optimize hns_roce_config_link_table() RDMA/hns: Optimize hns_roce_v2_set_mac() RDMA/hns: Bugfix for querying qkey RDMA/hns: Reserve one sge in order to avoid local length error Maor Gottlieb (10): RDMA: Group create AH arguments in struct RDMA/core: Add LAG functionality RDMA/core: Get xmit slave for LAG RDMA/mlx5: Refactor affinity related code RDMA/mlx5: Set lag tx affinity according to slave RDMA/mad: Remove snoop interface RDMA/core: Consider flow label when building skb RDMA/mlx5: Refactor DV create flow RDMA/mlx5: Add support in steering default miss IB/cma: Fix ports memory leak in cma_configfs Mark Bloch (2): RDMA/mlx5: Assign profile before calling stages RDMA/mlx5: Allow only raw Ethernet QPs when RoCE isn't enabled Mark Zhang (6): RDMA/core: Add hash functions to calculate RoCEv2 flowlabel and UDP source port RDMA/mlx5: Define RoCEv2 udp source port when set path RDMA/cma: Initialize the flow label of CM's route path record RDMA/mlx5: Set UDP source port based on the grh.flow_label IB/mlx5: Fix DEVX support for MLX5_CMD_OP_INIT2INIT_QP command RDMA/mlx5: Support TX port affinity for VF drivers in LAG mode Mauro Carvalho Chehab (1): IB: Fix some documentation warnings Max Gurtovoy (9): RDMA/rw: use DIV_ROUND_UP to calculate nr_ops RDMA/mlx5: Refactor mlx5_post_send() to improve readability RDMA/srp: Remove support for FMR memory registration RDMA/rds: Remove FMR support for memory registration RDMA/core: Remove FMR pool API RDMA/mlx4: Remove FMR support for memory registration RDMA/mthca: Remove FMR support for memory registration RDMA/rdmavt: Remove FMR memory registration RDMA/core: Remove FMR device ops Md Haris Iqbal (1): RDMA/rtrs: server: Use already dereferenced rtrs_sess structure Piotr Stankiewicz (1): IB/hfi1: Enable the transmit side of the datagram ipoib netdev Potnuri Bharat Teja (1): RDMA/iw_cxgb4: cleanup device debugfs entries on ULD remove Qiushi Wu (1): RDMA/core: Fix several reference count leaks. Shay Drory (1): RDMA/mlx5: Update mlx5_ib driver name Wei Yongjun (1): RDMA/rtrs: server: Fix some error return code Weihang Li (9): RDMA/hns: Fix comments with non-English symbols RDMA/hns: Adjust lp_pktn_ini dynamically RDMA/hns: Extend capability flags for HIP08_C RDMA/hns: Fix wrong assignment of SRQ's max_wr RDMA/hns: Fix error with to_hr_hem_entries_count() RDMA/hns: Remove redundant memcpy() RDMA/hns: Change all page_shift to unsigned RDMA/hns: Change variables representing quantity to unsigned RDMA/hns: Remove redundant type cast for general pointers Wenpeng Liang (3): RDMA/hns: Remove redundant assignment of caps RDMA/hns: Fix assignment to ba_pg_sz of eqe RDMA/hns: Remove redundant parameters from free_srq/qp_wrid() Xi Wang (14): RDMA/hns: Add support for addressing when hopnum is 0 RDMA/hns: Optimize hns buffer allocation flow RDMA/hns: Optimize 0 hop addressing for EQE buffer RDMA/hns: Support 0 hop addressing for WQE buffer RDMA/hns: Support 0 hop addressing for SRQ buffer RDMA/hns: Support 0 hop addressing for CQE buffer RDMA/hns: Optimize PBL buffer allocation process RDMA/hns: Remove unused MTT functions RDMA/hns: Optimize WQE buffer size calculating process RDMA/hns: Optimize SRQ buffer size calculating process RDMA/hns: Rename macro for defining hns hardware page size RDMA/hns: Rename QP buffer related function RDMA/hns: Refactor the QP context filling process related to WQE buffer configure RDMA/hns: Optimize the usage of MTR Xiongfeng Wang (1): RDMA/srpt: Add a newline when printing parameter 'srpt_service_guid' by sysfs Yamin Friedman (2): RDMA/core: Add protection for shared CQs used by ULPs RDMA/core: Introduce shared CQ pool API Yangyang Li (1): RDMA/hns: Remove unused code about assert Yishai Hadas (9): RDMA/mlx5: Fix udata response upon SRQ creation RDMA/uverbs: Cleanup wq/srq context usage from uverbs layer RDMA/uverbs: Fix create WQ to use the given user handle IB/uverbs: Refactor related objects to use their own asynchronous event FD IB/uverbs: Extend CQ to get its own asynchronous event FD IB/uverbs: Move QP, SRQ, WQ type and flags to UAPI IB/uverbs: Introduce create/destroy SRQ commands over ioctl IB/uverbs: Introduce create/destroy WQ commands over ioctl IB/uverbs: Introduce create/destroy QP commands over ioctl Yixian Liu (2): RDMA/hns: Move SRQ code to the reasonable place RDMA/hns: Make the end of sge process more clear YueHaibing (1): IB/hfi1: Use free_netdev() in hfi1_netdev_free() Zhu Yanjun (1): RDMA/rxe: Set default vendor ID Zou Wei (1): IB/qib: Remove unused variable ret Documentation/ABI/testing/sysfs-block-rnbd | 46 + Documentation/ABI/testing/sysfs-class-rnbd-client | 111 + Documentation/ABI/testing/sysfs-class-rnbd-server | 50 + Documentation/ABI/testing/sysfs-class-rtrs-client | 131 + Documentation/ABI/testing/sysfs-class-rtrs-server | 53 + Documentation/driver-api/infiniband.rst | 3 - Documentation/infiniband/core_locking.rst | 2 - MAINTAINERS | 14 + drivers/block/Kconfig | 2 + drivers/block/Makefile | 1 + drivers/block/rnbd/Kconfig | 28 + drivers/block/rnbd/Makefile | 15 + drivers/block/rnbd/README | 92 + drivers/block/rnbd/rnbd-clt-sysfs.c | 639 ++++ drivers/block/rnbd/rnbd-clt.c | 1729 +++++++++ drivers/block/rnbd/rnbd-clt.h | 156 + drivers/block/rnbd/rnbd-common.c | 23 + drivers/block/rnbd/rnbd-log.h | 41 + drivers/block/rnbd/rnbd-proto.h | 303 ++ drivers/block/rnbd/rnbd-srv-dev.c | 134 + drivers/block/rnbd/rnbd-srv-dev.h | 92 + drivers/block/rnbd/rnbd-srv-sysfs.c | 215 ++ drivers/block/rnbd/rnbd-srv.c | 844 +++++ drivers/block/rnbd/rnbd-srv.h | 78 + drivers/infiniband/Kconfig | 1 + drivers/infiniband/core/Makefile | 9 +- drivers/infiniband/core/addr.c | 4 + drivers/infiniband/core/cm.c | 306 +- drivers/infiniband/core/cma.c | 114 +- drivers/infiniband/core/cma_configfs.c | 13 + drivers/infiniband/core/cma_priv.h | 1 + drivers/infiniband/core/cma_trace.h | 20 +- drivers/infiniband/core/core_priv.h | 3 + drivers/infiniband/core/cq.c | 173 + drivers/infiniband/core/device.c | 22 +- drivers/infiniband/core/fmr_pool.c | 494 --- drivers/infiniband/core/lag.c | 138 + drivers/infiniband/core/mad.c | 255 +- drivers/infiniband/core/multicast.c | 12 +- drivers/infiniband/core/rdma_core.c | 25 +- drivers/infiniband/core/rdma_core.h | 7 +- drivers/infiniband/core/rw.c | 2 +- drivers/infiniband/core/sa_query.c | 51 +- drivers/infiniband/core/sysfs.c | 10 +- drivers/infiniband/core/ucma.c | 65 +- drivers/infiniband/core/ud_header.c | 2 +- drivers/infiniband/core/user_mad.c | 22 +- drivers/infiniband/core/uverbs.h | 21 +- drivers/infiniband/core/uverbs_cmd.c | 76 +- drivers/infiniband/core/uverbs_ioctl.c | 24 +- drivers/infiniband/core/uverbs_main.c | 40 +- drivers/infiniband/core/uverbs_std_types.c | 95 - drivers/infiniband/core/uverbs_std_types_cq.c | 17 +- drivers/infiniband/core/uverbs_std_types_mr.c | 12 +- drivers/infiniband/core/uverbs_std_types_qp.c | 401 ++ drivers/infiniband/core/uverbs_std_types_srq.c | 234 ++ drivers/infiniband/core/uverbs_std_types_wq.c | 194 + drivers/infiniband/core/uverbs_uapi.c | 3 + drivers/infiniband/core/verbs.c | 159 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 76 +- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 18 +- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 357 +- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 42 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 88 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 91 - drivers/infiniband/hw/bnxt_re/qplib_res.c | 1 + drivers/infiniband/hw/bnxt_re/qplib_res.h | 53 + drivers/infiniband/hw/bnxt_re/qplib_sp.c | 3 - drivers/infiniband/hw/bnxt_re/qplib_sp.h | 2 - drivers/infiniband/hw/bnxt_re/roce_hsi.h | 106 + drivers/infiniband/hw/cxgb4/device.c | 1 + drivers/infiniband/hw/efa/efa.h | 6 +- drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 63 +- drivers/infiniband/hw/efa/efa_com.c | 5 +- drivers/infiniband/hw/efa/efa_com.h | 3 +- drivers/infiniband/hw/efa/efa_com_cmd.c | 18 +- drivers/infiniband/hw/efa/efa_com_cmd.h | 11 +- drivers/infiniband/hw/efa/efa_main.c | 52 +- drivers/infiniband/hw/efa/efa_verbs.c | 19 +- drivers/infiniband/hw/hfi1/Makefile | 4 + drivers/infiniband/hw/hfi1/affinity.c | 12 +- drivers/infiniband/hw/hfi1/affinity.h | 3 +- drivers/infiniband/hw/hfi1/chip.c | 303 +- drivers/infiniband/hw/hfi1/chip.h | 5 +- drivers/infiniband/hw/hfi1/common.h | 13 +- drivers/infiniband/hw/hfi1/driver.c | 231 +- drivers/infiniband/hw/hfi1/file_ops.c | 4 +- drivers/infiniband/hw/hfi1/hfi.h | 38 +- drivers/infiniband/hw/hfi1/init.c | 13 +- drivers/infiniband/hw/hfi1/ipoib.h | 171 + drivers/infiniband/hw/hfi1/ipoib_main.c | 309 ++ drivers/infiniband/hw/hfi1/ipoib_rx.c | 95 + drivers/infiniband/hw/hfi1/ipoib_tx.c | 828 +++++ drivers/infiniband/hw/hfi1/msix.c | 36 +- drivers/infiniband/hw/hfi1/msix.h | 7 +- drivers/infiniband/hw/hfi1/netdev.h | 118 + drivers/infiniband/hw/hfi1/netdev_rx.c | 481 +++ drivers/infiniband/hw/hfi1/qp.c | 18 +- drivers/infiniband/hw/hfi1/tid_rdma.c | 4 +- drivers/infiniband/hw/hfi1/trace.c | 42 +- drivers/infiniband/hw/hfi1/trace_ctxts.h | 11 +- drivers/infiniband/hw/hfi1/verbs.c | 14 +- drivers/infiniband/hw/hfi1/vnic.h | 5 +- drivers/infiniband/hw/hfi1/vnic_main.c | 325 +- drivers/infiniband/hw/hns/hns_roce_ah.c | 5 +- drivers/infiniband/hw/hns/hns_roce_alloc.c | 148 +- drivers/infiniband/hw/hns/hns_roce_common.h | 4 - drivers/infiniband/hw/hns/hns_roce_cq.c | 351 +- drivers/infiniband/hw/hns/hns_roce_device.h | 246 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 114 +- drivers/infiniband/hw/hns/hns_roce_hem.h | 11 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 360 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 1713 ++++----- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 15 +- drivers/infiniband/hw/hns/hns_roce_main.c | 71 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 1644 +++------ drivers/infiniband/hw/hns/hns_roce_qp.c | 509 +-- drivers/infiniband/hw/hns/hns_roce_srq.c | 378 +- drivers/infiniband/hw/i40iw/i40iw.h | 9 - drivers/infiniband/hw/i40iw/i40iw_verbs.c | 1 - drivers/infiniband/hw/i40iw/i40iw_verbs.h | 1 - drivers/infiniband/hw/mlx4/ah.c | 11 +- drivers/infiniband/hw/mlx4/main.c | 11 - drivers/infiniband/hw/mlx4/mlx4_ib.h | 18 +- drivers/infiniband/hw/mlx4/mr.c | 93 - drivers/infiniband/hw/mlx5/Makefile | 3 +- drivers/infiniband/hw/mlx5/ah.c | 35 +- drivers/infiniband/hw/mlx5/cmd.c | 114 +- drivers/infiniband/hw/mlx5/cmd.h | 4 +- drivers/infiniband/hw/mlx5/cong.c | 4 +- drivers/infiniband/hw/mlx5/devx.c | 17 +- drivers/infiniband/hw/mlx5/flow.c | 147 +- drivers/infiniband/hw/mlx5/gsi.c | 38 +- drivers/infiniband/hw/mlx5/ib_rep.h | 2 +- drivers/infiniband/hw/mlx5/main.c | 73 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 72 +- drivers/infiniband/hw/mlx5/odp.c | 10 +- drivers/infiniband/hw/mlx5/qos.c | 13 +- drivers/infiniband/hw/mlx5/qp.c | 4098 ++++++++------------- drivers/infiniband/hw/mlx5/qp.h | 6 +- drivers/infiniband/hw/mlx5/qpc.c | 44 +- drivers/infiniband/hw/mlx5/srq.c | 10 +- drivers/infiniband/hw/mlx5/srq_cmd.c | 111 +- drivers/infiniband/hw/mlx5/wr.c | 1504 ++++++++ drivers/infiniband/hw/mlx5/wr.h | 76 + drivers/infiniband/hw/mthca/mthca_dev.h | 10 - drivers/infiniband/hw/mthca/mthca_mr.c | 262 +- drivers/infiniband/hw/mthca/mthca_provider.c | 105 +- drivers/infiniband/hw/mthca/mthca_provider.h | 23 - drivers/infiniband/hw/ocrdma/ocrdma.h | 1 - drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 3 +- drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 1 - drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 - drivers/infiniband/hw/qedr/main.c | 1 - drivers/infiniband/hw/qedr/qedr.h | 1 - drivers/infiniband/hw/qedr/verbs.c | 6 +- drivers/infiniband/hw/qedr/verbs.h | 2 +- drivers/infiniband/hw/qib/qib_iba7322.c | 7 +- drivers/infiniband/hw/qib/qib_verbs.c | 1 - drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 1 - drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 5 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 2 +- drivers/infiniband/sw/rdmavt/ah.c | 11 +- drivers/infiniband/sw/rdmavt/ah.h | 4 +- drivers/infiniband/sw/rdmavt/mr.c | 155 - drivers/infiniband/sw/rdmavt/mr.h | 15 - drivers/infiniband/sw/rdmavt/qp.c | 24 +- drivers/infiniband/sw/rdmavt/vt.c | 4 - drivers/infiniband/sw/rxe/rxe.c | 1 + drivers/infiniband/sw/rxe/rxe_param.h | 3 + drivers/infiniband/sw/rxe/rxe_verbs.c | 9 +- drivers/infiniband/sw/siw/siw.h | 4 +- drivers/infiniband/sw/siw/siw_main.c | 1 - drivers/infiniband/sw/siw/siw_mem.c | 5 +- drivers/infiniband/sw/siw/siw_verbs.c | 1 - drivers/infiniband/ulp/Makefile | 1 + drivers/infiniband/ulp/ipoib/ipoib_main.c | 37 +- drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 23 +- drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 3 + drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 3 + drivers/infiniband/ulp/iser/iscsi_iser.h | 79 +- drivers/infiniband/ulp/iser/iser_initiator.c | 19 +- drivers/infiniband/ulp/iser/iser_memory.c | 188 +- drivers/infiniband/ulp/iser/iser_verbs.c | 126 +- drivers/infiniband/ulp/isert/ib_isert.c | 5 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 12 +- drivers/infiniband/ulp/rtrs/Kconfig | 27 + drivers/infiniband/ulp/rtrs/Makefile | 15 + drivers/infiniband/ulp/rtrs/README | 213 ++ drivers/infiniband/ulp/rtrs/rtrs-clt-stats.c | 200 + drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 483 +++ drivers/infiniband/ulp/rtrs/rtrs-clt.c | 2992 +++++++++++++++ drivers/infiniband/ulp/rtrs/rtrs-clt.h | 252 ++ drivers/infiniband/ulp/rtrs/rtrs-log.h | 28 + drivers/infiniband/ulp/rtrs/rtrs-pri.h | 399 ++ drivers/infiniband/ulp/rtrs/rtrs-srv-stats.c | 38 + drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 321 ++ drivers/infiniband/ulp/rtrs/rtrs-srv.c | 2178 +++++++++++ drivers/infiniband/ulp/rtrs/rtrs-srv.h | 148 + drivers/infiniband/ulp/rtrs/rtrs.c | 612 +++ drivers/infiniband/ulp/rtrs/rtrs.h | 196 + drivers/infiniband/ulp/srp/ib_srp.c | 265 +- drivers/infiniband/ulp/srp/ib_srp.h | 27 +- drivers/infiniband/ulp/srpt/ib_srpt.c | 67 +- drivers/infiniband/ulp/srpt/ib_srpt.h | 5 - drivers/net/ethernet/mellanox/mlx4/main.c | 2 - drivers/net/ethernet/mellanox/mlx4/mr.c | 183 - drivers/net/ethernet/qlogic/qed/qed_rdma.c | 1 - drivers/net/ethernet/qlogic/qed/qed_rdma.h | 1 - drivers/nvme/target/rdma.c | 4 +- fs/sysfs/file.c | 1 + include/linux/mlx4/device.h | 22 +- include/linux/mlx5/mlx5_ifc.h | 9 +- include/linux/mlx5/qp.h | 68 +- include/linux/qed/qed_rdma_if.h | 1 - include/rdma/ib_cm.h | 9 +- include/rdma/ib_fmr_pool.h | 93 - include/rdma/ib_mad.h | 49 +- include/rdma/ib_verbs.h | 298 +- include/rdma/ibta_vol1_c12.h | 6 + include/rdma/lag.h | 23 + include/rdma/opa_port_info.h | 10 +- include/rdma/opa_vnic.h | 4 +- include/rdma/rdma_cm.h | 17 +- include/rdma/rdmavt_qp.h | 31 +- include/rdma/uverbs_ioctl.h | 18 +- include/rdma/uverbs_std_types.h | 2 +- include/rdma/uverbs_types.h | 3 +- include/uapi/rdma/hfi/hfi1_user.h | 3 +- include/uapi/rdma/ib_user_ioctl_cmds.h | 81 + include/uapi/rdma/ib_user_ioctl_verbs.h | 43 + include/uapi/rdma/mlx5-abi.h | 9 +- include/uapi/rdma/mlx5_user_ioctl_cmds.h | 6 + include/uapi/rdma/rdma_user_cm.h | 15 +- net/rds/Makefile | 2 +- net/rds/ib.c | 43 +- net/rds/ib.h | 2 - net/rds/ib_cm.c | 8 +- net/rds/ib_fmr.c | 269 -- net/rds/ib_frmr.c | 4 +- net/rds/ib_mr.h | 14 +- net/rds/ib_rdma.c | 28 +- net/smc/smc_ib.c | 13 +- 244 files changed, 24030 insertions(+), 11025 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 4 Jun 2020 16:51:31 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/242b23319809e05170b3cc0d44d3b4bd202bb073 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 4202 bytes --] Hi Linus, First rc pull request Collected fixes from the last four weeks, fixing several regressions in areas that had big changes this cycle. Thanks, Jason The following changes since commit b3a9e3b9622ae10064826dccb4f7a52bd88c7407: Linux 5.8-rc1 (2020-06-14 12:45:04 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 38fd98afeeb79d3b148db49f81f2ec6a37a4ee00: IB/hfi1: Add atomic triggered sleep/wakeup (2020-06-24 16:13:38 -0300) ---------------------------------------------------------------- RDMA first 5.8 rc pull request Several regression fixes from work that landed in the merge window, particularly in the mlx5 driver: - Various static checker and warning fixes - General bug fixes in rvt, qedr, hns, mlx5 and hfi1 - Several regression fixes related to the ECE and QP changes in last cycle - Fixes for a few long standing crashers in CMA, uverbs ioctl, and xrc ---------------------------------------------------------------- Aditya Pakki (1): RDMA/rvt: Fix potential memory leak caused by rvt_alloc_rq Colin Ian King (1): RDMA/mlx5: Remove duplicated assignment to resp.response_length Dennis Dalessandro (2): IB/hfi1: Restore kfree in dummy_netdev cleanup IB/hfi1: Fix module use count flaw due to leftover module put calls Fan Guo (1): RDMA/mad: Fix possible memory leak in ib_mad_post_receive_mads() Gal Pressman (1): RDMA/efa: Set maximum pkeys device attribute Kieran Bingham (1): RDMA/hfi1: Fix trivial mis-spelling of 'descriptor' Leon Romanovsky (6): RDMA/core: Annotate CMA unlock helper routine RDMA/mlx5: Add missed RST2INIT and INIT2INIT steps during ECE handshake RDMA/core: Check that type_attrs is not NULL prior access RDMA/mlx5: Don't access ib_qp fields in internal destroy QP path RDMA/mlx5: Remove ECE limitation from the RAW_PACKET QPs RDMA/mlx5: Protect from kernel crash if XRC_TGT doesn't have udata Maor Gottlieb (1): RDMA/mlx5: Fix remote gid value in query QP Mark Zhang (2): RDMA/cma: Protect bind_list and listen_list while finding matching cm id RDMA/counter: Query a counter before release Max Gurtovoy (1): RDMA/mlx5: Fix integrity enabled QP creation Michal Kalderon (1): RDMA/qedr: Fix KASAN: use-after-free in ucma_event_handler+0x532 Mike Marciniszyn (2): IB/hfi1: Correct -EBUSY handling in tx code IB/hfi1: Add atomic triggered sleep/wakeup Shay Drory (1): IB/mad: Fix use after free when destroying MAD agent Tom Seewald (2): RDMA/mlx5: Fix -Wformat warning in check_ucmd_data() RDMA/siw: Fix pointer-to-int-cast warning in siw_rx_pbl() Yangyang Li (2): RDMA/hns: Fix a calltrace when registering MR from userspace RDMA/hns: Fix an cmd queue issue when resetting drivers/infiniband/core/cm.c | 1 + drivers/infiniband/core/cma.c | 18 +++++ drivers/infiniband/core/counters.c | 4 +- drivers/infiniband/core/mad.c | 3 +- drivers/infiniband/core/rdma_core.c | 36 ++++++---- drivers/infiniband/hw/efa/efa_verbs.c | 1 + drivers/infiniband/hw/hfi1/debugfs.c | 19 +---- drivers/infiniband/hw/hfi1/iowait.h | 2 +- drivers/infiniband/hw/hfi1/ipoib.h | 6 ++ drivers/infiniband/hw/hfi1/ipoib_tx.c | 104 ++++++++++++++++++---------- drivers/infiniband/hw/hfi1/netdev_rx.c | 2 +- drivers/infiniband/hw/hfi1/verbs_txreq.h | 2 +- drivers/infiniband/hw/hns/hns_roce_device.h | 7 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 4 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 17 ++--- drivers/infiniband/hw/hns/hns_roce_mr.c | 5 +- drivers/infiniband/hw/mlx5/qp.c | 50 ++++++------- drivers/infiniband/hw/mlx5/qpc.c | 8 +++ drivers/infiniband/hw/qedr/qedr_iw_cm.c | 13 +++- drivers/infiniband/sw/rdmavt/qp.c | 6 +- drivers/infiniband/sw/siw/siw_qp_rx.c | 3 +- include/linux/mlx5/mlx5_ifc.h | 10 +-- 22 files changed, 197 insertions(+), 124 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 25 Jun 2020 14:56:10 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/87d93e9a91c76bcb45112d863ef72aab41e01879 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 2118 bytes --] Hi Linus, Second rc pull request Fairly normal here, things are actually somewhat quiet when look at the next release. Thanks, Jason The following changes since commit 9ebcfadb0610322ac537dd7aa5d9cbc2b2894c68: Linux 5.8-rc3 (2020-06-28 15:00:24 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 0a03715068794e4b524f66ebbf412ab1f2933f3f: RDMA/mlx5: Set PD pointers for the error flow unwind (2020-07-08 20:15:59 -0300) ---------------------------------------------------------------- RDMA second 5.8 rc pull request Small update, a few more merge window bugs and normal driver bug fixes: - Two merge window regressions in mlx5: a error path bug found by syzkaller and some lost code during a rework preventing ipoib from working in some configurations - Silence clang compilation warning in OPA related code - Fix a long standing race condition in ib_nl for ACM - Resolve when the HFI1 is shutdown ---------------------------------------------------------------- Aya Levin (1): IB/mlx5: Fix 50G per lane indication Divya Indi (1): IB/sa: Resolv use-after-free in ib_nl_make_request() Kaike Wan (2): IB/hfi1: Do not destroy hfi1_wq when the device is shut down IB/hfi1: Do not destroy link_wq when the device is shut down Kamal Heib (1): RDMA/siw: Fix reporting vendor_part_id Leon Romanovsky (2): RDMA/mlx5: Fix legacy IPoIB QP initialization RDMA/mlx5: Set PD pointers for the error flow unwind Nathan Chancellor (1): IB/hfi1: Add explicit cast OPA_MTU_8192 to 'enum ib_mtu' drivers/infiniband/core/sa_query.c | 38 ++++++++++++++++------------------- drivers/infiniband/hw/hfi1/init.c | 37 +++++++++++++++++++++++++--------- drivers/infiniband/hw/hfi1/qp.c | 7 +++++-- drivers/infiniband/hw/hfi1/tid_rdma.c | 5 ++++- drivers/infiniband/hw/mlx5/main.c | 2 +- drivers/infiniband/hw/mlx5/qp.c | 7 ++++++- drivers/infiniband/sw/siw/siw_main.c | 3 ++- 7 files changed, 63 insertions(+), 36 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 10 Jul 2020 14:58:06 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/aa0c9086b40c17a7ad94425b3b70dd1fdd7497bf Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 1810 bytes --] Hi Linus, Things remain quiet here, a few more of the usual fixes. The following changes since commit 11ba468877bb23f28956a35e896356252d63c983: Linux 5.8-rc5 (2020-07-12 16:34:50 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to a862192e9227ad46e0447fd0a03869ba1b30d16f: RDMA/mlx5: Prevent prefetch from racing with implicit destruction (2020-07-21 13:51:35 -0300) ---------------------------------------------------------------- RDMA third 5.8 rc pull request One merge window regression, some corruption bugs in HNS and a few more syzkaller fixes. - Two long standing syzkaller races - Fix incorrect HW configuration in HNS - Restore accidentally dropped locking in IB CM - Fix ODP prefetch bug added in the big rework several versions ago ---------------------------------------------------------------- Jason Gunthorpe (1): RDMA/mlx5: Prevent prefetch from racing with implicit destruction Leon Romanovsky (1): RDMA/core: Fix race in rdma_alloc_commit_uobject() Maor Gottlieb (2): RDMA/mlx5: Use xa_lock_irq when access to SRQ table RDMA/cm: Protect access to remote_sidr_table Weihang Li (1): RDMA/hns: Fix wrong assignment of lp_pktn_ini in QPC Xi Wang (1): RDMA/hns: Fix wrong PBL offset when VA is not aligned to PAGE_SIZE drivers/infiniband/core/cm.c | 2 ++ drivers/infiniband/core/rdma_core.c | 6 +++--- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 34 +++++++++++++++++++----------- drivers/infiniband/hw/hns/hns_roce_mr.c | 2 +- drivers/infiniband/hw/mlx5/odp.c | 22 ++++++++++++++++--- drivers/infiniband/hw/mlx5/srq_cmd.c | 4 ++-- 6 files changed, 49 insertions(+), 21 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 24 Jul 2020 14:47:39 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/fcef1046eb1b78c98105e9b68e48df6022c23a06 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 1988 bytes --] Hi Linus, Still a few regressions from the merge window and the usual collection of fixes. The following changes since commit 92ed301919932f777713b9172e525674157e983d: Linux 5.8-rc7 (2020-07-26 14:14:06 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to fb448ce87a4a9482b084e67faf804aec79ed9b43: RDMA/core: Free DIM memory in error unwind (2020-07-30 11:03:33 -0300) ---------------------------------------------------------------- RDMA fourth 5.8 rc pull request Two more merge window regressions, a corruption bug in hfi1 and a few other small fixes. - Missing user input validation regression in ucma - Disallowing a previously allowed user combination regression in mlx5 - ODP prefetch memory leaking triggerable by userspace - Memory corruption in hf1 due to faulty ring buffer logic - Missed mutex initialization crash in mlx5 - Two small defects with RDMA DIM ---------------------------------------------------------------- Jason Gunthorpe (2): RDMA/cm: Add min length checks to user structure copies RDMA/mlx5: Fix prefetch memory leak if get_prefetchable_mr fails Leon Romanovsky (4): RDMA/mlx5: Allow providing extra scatter CQE QP flag RDMA/mlx5: Initialize QP mutex for the debug kernels RDMA/core: Stop DIM before destroying CQ RDMA/core: Free DIM memory in error unwind Mike Marciniszyn (1): IB/rdmavt: Fix RQ counting issues causing use of an invalid RWQE drivers/infiniband/core/cq.c | 14 +++++++++++--- drivers/infiniband/core/ucma.c | 4 ++++ drivers/infiniband/hw/mlx5/odp.c | 5 ++--- drivers/infiniband/hw/mlx5/qp.c | 29 ++++++++++++++++------------- drivers/infiniband/sw/rdmavt/qp.c | 33 ++++----------------------------- drivers/infiniband/sw/rdmavt/rc.c | 4 +--- include/rdma/rdmavt_qp.h | 19 +++++++++++++++++++ 7 files changed, 57 insertions(+), 51 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 31 Jul 2020 12:17:02 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/ae2911de2eb5dc9ccb88c6502c776a8fbb7acc67 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
[-- Attachment #1: Type: text/plain, Size: 19921 bytes --] Hi Linus, These are the proposed RDMA patches for 5.9. A quiet cycle after the larger 5.8 effort. Substantially cleanup and driver work with a few smaller features this time. There is one conflict with Kees's removal of uninitialized_var - resolve by taking the RDMA version of the conflicting hunks to delete the local variables. The tag for-linus-merged with my merge resolution to your tree is also available for reference. Thanks, Jason The following changes since commit 2d1b69ed65ee033aa541518cc9f6a815296ac493: net/mlx5: kTLS, Improve TLS params layout structures (2020-06-27 13:50:46 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 23fcc7dee2c6aba1060558683988263851e74bab: RDMA/mlx5: Fix flow destination setting for RDMA TX flow table (2020-08-05 21:09:39 -0300) ---------------------------------------------------------------- RDMA 5.9 merge window pull request Smaller set of RDMA updates. A smaller number of 'big topics' with the majority of changes being driver updates. - Driver updates for hfi1, rxe, mlx5, hns, qedr, usnic, bnxt_re - Removal of dead or redundant code across the drivers - RAW resource tracker dumps to include a device specific data blob for device objects to aide device debugging - Further advance the IOCTL interface, remove the ability to turn it off. Add QUERY_CONTEXT, QUERY_MR, and QUERY_PD commands - Remove stubs related to devices with no pkey table - A shared CQ scheme to allow multiple ULPs to share the CQ rings of a device to give higher performance - Several more static checker, syzkaller and rare crashers fixed ---------------------------------------------------------------- Bolarinwa Olayemi Saheed (1): IB/hfi1: Convert PCIBIOS_* errors to generic -E* errors Christophe JAILLET (1): RDMA/usnic: switch from 'pci_' to 'dma_' API Chuck Lever (1): RDMA/core: Clean up tracepoint headers Colton Lewis (1): RDMA: Correct trivial kernel-doc inconsistencies Danil Kipnis (1): RDMA/rtrs-clt: add an additional random 8 seconds before reconnecting Daria Velikovsky (1): RDMA/mlx5: Init dest_type when create flow Devesh Sharma (6): RDMA/bnxt_re: introduce wqe mode to select execution path RDMA/bnxt_re: introduce a function to allocate swq RDMA/bnxt_re: Pull psn buffer dynamically based on prod RDMA/bnxt_re: Add helper data structures RDMA/bnxt_re: Change wr posting logic to accommodate variable wqes RDMA/bnxt_re: Update maintainers for Broadcom rdma driver Eli Cohen (3): net/mlx5: Support setting access rights of dma addresses net/mlx5: Add VDPA interface type to supported enumerations net/mlx5: Add interface changes required for VDPA Eric Dumazet (1): RDMA/umem: Add a schedule point in ib_umem_get() Gal Pressman (8): RDMA/core: Check for error instead of success in alloc MR function RDMA/core: Remove ib_alloc_mr_user function RDMA: Remove the udata parameter from alloc_mr callback RDMA/mlx5: Remove unused to_mibmr function RDMA/efa: Expose maximum TX doorbell batch RDMA/efa: Expose minimum SQ size RDMA/efa: User/kernel compatibility handshake mechanism RDMA/efa: Add EFA 0xefa1 PCI ID Gustavo A. R. Silva (2): IB/hfi1: Remove unnecessary fall-through markings IB/hfi1: Use fallthrough pseudo-keyword Jack Wang (1): RDMA/rtrs: remove WQ_MEM_RECLAIM for rtrs_wq Jason Gunthorpe (9): Merge branch 'raw_dumps' into rdma.git for-next RDMA/ipoib: Fix ABBA deadlock with ipoib_reap_ah() RDMA/core: Fix bogus WARN_ON during ib_unregister_device_queued() Merge branch 'mlx5_ipoib_qpn' into rdma.git for-next Merge branch 'mlx5_uar' into rdma.git /for-next RDMA/cma: Simplify DEVICE_REMOVAL for internal_id RDMA/cma: Using the standard locking pattern when delivering the removal event RDMA/cma: Remove unneeded locking for req paths RDMA/cma: Execute rdma_cm destruction from a handler properly Jing Xiangfeng (1): IB/srpt: Remove WARN_ON from srpt_cm_req_recv Kamal Heib (16): RDMA/ipoib: Return void from ipoib_mcast_stop_thread() RDMA/hfi1: Remove hfi1_create_qp declaration RDMA/rxe: Remove unused rxe_mem_map_pages RDMA/ipoib: Return void from ipoib_ib_dev_stop() RDMA/rxe: Drop pointless checks in rxe_init_ports RDMA/rxe: Return void from rxe_init_port_param() RDMA/rxe: Return void from rxe_mem_init_dma() RDMA/rxe: Remove rxe_link_layer() RDMA/core: Expose pkeys sysfs files only if pkey_tbl_len is set RDMA/core: Allocate the pkey cache only if the pkey_tbl_len is set RDMA/core: Remove query_pkey from the mandatory ops RDMA/siw: Remove the query_pkey callback RDMA/cxgb4: Remove the query_pkey callback RDMA/i40iw: Remove the query_pkey callback RDMA/qedr: Remove the query_pkey callback RDMA/rxe: Remove pkey table Lang Cheng (4): RDMA/hns: Remove redundant hardware opcode definitions RDMA/hns: Remove support for HIP08_A RDMA/hns: Delete unnecessary memset when allocating VF resource RDMA/hns: Fix error during modify qp RTS2RTS Leon Romanovsky (16): RDMA/core: Delete not-used create RWQ table function RDMA/mlx5: Get XRCD number directly for the internal use RDMA/core: Create and destroy counters in the ib_core RDMA: Move XRCD to be under ib_core responsibility RDMA/mlx5: Limit the scope of mlx5_ib_enable_driver function RDMA/mlx5: Separate restrack callbacks initialization from main.c RDMA/mlx5: Separate counters from main.c RDMA/mlx5: Separate flow steering logic from main.c RDMA/mlx5: Cleanup DEVX initialization flow RDMA/mlx5: Delete one-time used functions RDMA/core: Align abort/commit object scheme for write() and ioctl() paths RDMA/core: Update write interface to use automatic object lifetime RDMA/uverbs: Remove redundant assignments RDMA/uverbs: Silence shiftTooManyBitsSigned warning RDMA/mlx5: Delete unreachable code RDMA/include: Replace license text with SPDX tags Li Heng (1): RDMA/core: Fix return error value in _ib_modify_qp() to negative Maor Gottlieb (14): RDMA/core: Don't call fill_res_entry for PD RDMA: Add dedicated MR resource tracker function RDMA: Add a dedicated CQ resource tracker function RDMA: Add dedicated QP resource tracker function RDMA: Add dedicated CM_ID resource tracker function RDMA: Add support to dump resource tracker in RAW format RDMA/mlx5: Add support to get QP resource in RAW format RDMA/mlx5: Add support to get CQ resource in RAW format RDMA/mlx5: Add support to get MR resource in RAW format RDMA/mlx5: Introduce ODP prefetch counter RDMA/core: Clean ib_alloc_xrcd() and reuse it to allocate XRC domain RDMA/core: Optimize XRC target lookup RDMA/mlx5: Allow SQ modification RDMA/mlx5: Add missing srcu_read_lock in ODP implicit flow Mark Zhang (4): RDMA/counter: Add PID category support in auto mode RDMA/counter: Only bind user QPs in auto mode RDMA/counter: Allow manually bind QPs with different pids to same counter RDMA/netlink: Remove CAP_NET_RAW check when dump a raw QP Max Gurtovoy (1): IB/isert: allocate RW ctxs according to max IO size Meir Lichtinger (3): RDMA/mlx5: ConnectX-7 new capabilities to set relaxed ordering by UMR RDMA/mlx5: Use MLX5_SET macro instead of local structure RDMA/mlx5: Set mkey relaxed ordering by UMR with ConnectX-7 Michael Guralnik (4): net/mlx5: Enable QP number request when creating IPoIB underlay QP RDMA/ipoib: Handle user-supplied address when creating child net/mlx5: Enable count action for rules with allow action RDMA/mlx5: Fix flow destination setting for RDMA TX flow table Michal Kalderon (2): RDMA/qedr: Add EDPM mode type for user-fw compatibility RDMA/qedr: Add EDPM max size to alloc ucontext response Mikhail Malygin (1): RDMA/rxe: Prevent access to wr->next ptr afrer wr is posted to send queue Pavel Machek (1): RDMA/mlx5: Fix typo in enum name Randy Dunlap (1): RDMA: rdma_user_ioctl.h: fix a duplicated word + clarify Shay Drory (3): IB/mad: Issue complete whenever decrements agent refcount IB/mad: Change atomics to refcount API IB/mad: Delete RMPP_STATE_CANCELING state Weihang Li (2): RDMA/hns: Refactor hns_roce_v2_set_hem() RDMA/hns: Remove redundant parameters in set_rc_wqe() Xi Wang (2): RDMA/hns: Optimize MTR level-0 addressing to access huge page RDMA/hns: Fix the unneeded process when getting a general type of CQE error Yamin Friedman (3): IB/iser: use new shared CQ mechanism IB/isert: use new shared CQ mechanism IB/srpt: use new shared CQ mechanism Yishai Hadas (7): IB/uverbs: Enable CQ ioctl commands by default IB/uverbs: Set IOVA on IB MR in uverbs layer IB/uverbs: Expose UAPI to query ucontext RDMA/mlx5: Refactor mlx5_ib_alloc_ucontext() response RDMA/mlx5: Implement the query ucontext functionality RDMA/mlx5: Introduce UAPI to query PD attributes IB/uverbs: Expose UAPI to query MR Yuval Basson (1): RDMA/qedr: SRQ's bug fixes Zhu Yanjun (1): RDMA/rxe: Skip dgid check in loopback mode MAINTAINERS | 1 + drivers/infiniband/Kconfig | 8 - drivers/infiniband/core/cache.c | 45 +- drivers/infiniband/core/cma.c | 257 +- drivers/infiniband/core/counters.c | 24 +- drivers/infiniband/core/device.c | 28 +- drivers/infiniband/core/mad.c | 30 +- drivers/infiniband/core/mad_priv.h | 2 +- drivers/infiniband/core/mad_rmpp.c | 27 +- drivers/infiniband/core/nldev.c | 223 +- drivers/infiniband/core/sysfs.c | 61 +- drivers/infiniband/core/trace.c | 2 - drivers/infiniband/core/umem.c | 1 + drivers/infiniband/core/umem_odp.c | 2 + drivers/infiniband/core/uverbs_cmd.c | 321 +- drivers/infiniband/core/uverbs_ioctl.c | 1 + drivers/infiniband/core/uverbs_main.c | 4 + .../infiniband/core/uverbs_std_types_counters.c | 17 +- drivers/infiniband/core/uverbs_std_types_cq.c | 3 - drivers/infiniband/core/uverbs_std_types_device.c | 48 +- drivers/infiniband/core/uverbs_std_types_mr.c | 54 +- drivers/infiniband/core/verbs.c | 185 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 170 +- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 10 +- drivers/infiniband/hw/bnxt_re/main.c | 23 +- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 751 ++-- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 127 +- drivers/infiniband/hw/bnxt_re/qplib_res.h | 58 +- drivers/infiniband/hw/bnxt_re/roce_hsi.h | 1 + drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 9 +- drivers/infiniband/hw/cxgb4/mem.c | 3 +- drivers/infiniband/hw/cxgb4/provider.c | 22 +- drivers/infiniband/hw/cxgb4/restrack.c | 24 +- drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 15 +- drivers/infiniband/hw/efa/efa_com_cmd.c | 2 + drivers/infiniband/hw/efa/efa_com_cmd.h | 2 + drivers/infiniband/hw/efa/efa_main.c | 6 +- drivers/infiniband/hw/efa/efa_verbs.c | 42 + drivers/infiniband/hw/hfi1/chip.c | 27 +- drivers/infiniband/hw/hfi1/firmware.c | 16 - drivers/infiniband/hw/hfi1/mad.c | 9 +- drivers/infiniband/hw/hfi1/pcie.c | 22 +- drivers/infiniband/hw/hfi1/pio.c | 2 +- drivers/infiniband/hw/hfi1/pio_copy.c | 12 +- drivers/infiniband/hw/hfi1/platform.c | 10 +- drivers/infiniband/hw/hfi1/qp.c | 2 +- drivers/infiniband/hw/hfi1/qp.h | 14 - drivers/infiniband/hw/hfi1/qsfp.c | 4 +- drivers/infiniband/hw/hfi1/rc.c | 25 +- drivers/infiniband/hw/hfi1/sdma.c | 9 +- drivers/infiniband/hw/hfi1/tid_rdma.c | 4 +- drivers/infiniband/hw/hfi1/uc.c | 8 +- drivers/infiniband/hw/hns/hns_roce_device.h | 31 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 7 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 253 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 19 +- drivers/infiniband/hw/hns/hns_roce_main.c | 2 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 210 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 10 - drivers/infiniband/hw/hns/hns_roce_restrack.c | 14 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 22 +- drivers/infiniband/hw/mlx4/main.c | 37 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +- drivers/infiniband/hw/mlx4/mr.c | 3 +- drivers/infiniband/hw/mlx5/Makefile | 6 +- drivers/infiniband/hw/mlx5/cmd.c | 12 - drivers/infiniband/hw/mlx5/cmd.h | 1 - drivers/infiniband/hw/mlx5/counters.c | 709 ++++ drivers/infiniband/hw/mlx5/counters.h | 17 + drivers/infiniband/hw/mlx5/devx.c | 102 +- drivers/infiniband/hw/mlx5/devx.h | 45 + drivers/infiniband/hw/mlx5/flow.c | 765 ---- drivers/infiniband/hw/mlx5/fs.c | 2516 +++++++++++ drivers/infiniband/hw/mlx5/fs.h | 29 + drivers/infiniband/hw/mlx5/main.c | 4380 +++++--------------- drivers/infiniband/hw/mlx5/mlx5_ib.h | 109 +- drivers/infiniband/hw/mlx5/mr.c | 2 +- drivers/infiniband/hw/mlx5/odp.c | 28 +- drivers/infiniband/hw/mlx5/qp.c | 71 +- drivers/infiniband/hw/mlx5/qp.h | 1 + drivers/infiniband/hw/mlx5/restrack.c | 121 +- drivers/infiniband/hw/mlx5/restrack.h | 13 + drivers/infiniband/hw/mlx5/srq.c | 4 +- drivers/infiniband/hw/mlx5/std_types.c | 45 + drivers/infiniband/hw/mlx5/wr.c | 68 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 2 +- drivers/infiniband/hw/qedr/main.c | 3 +- drivers/infiniband/hw/qedr/qedr.h | 5 +- drivers/infiniband/hw/qedr/verbs.c | 45 +- drivers/infiniband/hw/qedr/verbs.h | 2 +- drivers/infiniband/hw/usnic/usnic_fwd.c | 4 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 2 +- drivers/infiniband/sw/rdmavt/ah.c | 3 +- drivers/infiniband/sw/rdmavt/mr.c | 2 +- drivers/infiniband/sw/rdmavt/mr.h | 2 +- drivers/infiniband/sw/rxe/rxe.c | 41 +- drivers/infiniband/sw/rxe/rxe_loc.h | 8 +- drivers/infiniband/sw/rxe/rxe_mr.c | 50 +- drivers/infiniband/sw/rxe/rxe_net.c | 5 - drivers/infiniband/sw/rxe/rxe_param.h | 4 +- drivers/infiniband/sw/rxe/rxe_recv.c | 35 +- drivers/infiniband/sw/rxe/rxe_req.c | 5 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 48 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 1 - drivers/infiniband/sw/siw/siw_main.c | 1 - drivers/infiniband/sw/siw/siw_verbs.c | 11 +- drivers/infiniband/sw/siw/siw_verbs.h | 3 +- drivers/infiniband/ulp/ipoib/ipoib.h | 4 +- drivers/infiniband/ulp/ipoib/ipoib_ib.c | 67 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 13 +- drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 4 +- drivers/infiniband/ulp/iser/iscsi_iser.h | 25 +- drivers/infiniband/ulp/iser/iser_verbs.c | 112 +- drivers/infiniband/ulp/isert/ib_isert.c | 175 +- drivers/infiniband/ulp/isert/ib_isert.h | 21 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h | 23 + drivers/infiniband/ulp/rtrs/rtrs-clt.c | 16 +- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 2 +- drivers/infiniband/ulp/srpt/ib_srpt.c | 20 +- drivers/infiniband/ulp/srpt/ib_srpt.h | 1 + drivers/net/ethernet/mellanox/mlx5/core/alloc.c | 11 +- drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 1 + .../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 7 + drivers/net/ethernet/mellanox/mlx5/core/main.c | 3 + include/linux/mlx5/device.h | 9 +- include/linux/mlx5/driver.h | 2 + include/linux/mlx5/mlx5_ifc.h | 129 +- include/rdma/ib.h | 31 +- include/rdma/ib_addr.h | 31 +- include/rdma/ib_cache.h | 29 +- include/rdma/ib_cm.h | 1 + include/rdma/ib_hdrs.h | 44 +- include/rdma/ib_mad.h | 31 +- include/rdma/ib_marshall.h | 31 +- include/rdma/ib_pack.h | 29 +- include/rdma/ib_pma.h | 31 +- include/rdma/ib_sa.h | 29 +- include/rdma/ib_smi.h | 31 +- include/rdma/ib_umem.h | 29 +- include/rdma/ib_umem_odp.h | 29 +- include/rdma/ib_verbs.h | 100 +- include/rdma/iw_cm.h | 30 +- include/rdma/iw_portmap.h | 30 +- include/rdma/opa_addr.h | 44 +- include/rdma/opa_port_info.h | 31 +- include/rdma/opa_smi.h | 31 +- include/rdma/opa_vnic.h | 49 +- include/rdma/rdma_cm.h | 31 +- include/rdma/rdma_cm_ib.h | 31 +- include/rdma/rdma_netlink.h | 2 +- include/rdma/rdma_vt.h | 50 +- include/rdma/rdmavt_cq.h | 53 +- include/rdma/rdmavt_mr.h | 50 +- include/rdma/rdmavt_qp.h | 50 +- include/rdma/uverbs_ioctl.h | 30 +- include/rdma/uverbs_named_ioctl.h | 29 +- include/rdma/uverbs_std_types.h | 43 +- include/rdma/uverbs_types.h | 29 +- include/uapi/rdma/efa-abi.h | 15 +- include/uapi/rdma/ib_user_ioctl_cmds.h | 15 + include/uapi/rdma/mlx5_user_ioctl_cmds.h | 16 +- include/uapi/rdma/qedr-abi.h | 10 +- include/uapi/rdma/rdma_netlink.h | 9 + include/uapi/rdma/rdma_user_ioctl.h | 2 +- 166 files changed, 6945 insertions(+), 7569 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 6 Aug 2020 15:27:32 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/d7806bbd22cabc3e3b0a985cfcffa29cf156bb30 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 2565 bytes --] Hi Linus, First rc pull request Nothing exciting, just a few bug fixes and a MAINTAINERS file update. There is a small merge conflict in the .mailmap, it has been sorted in your tree and Leon's entry was moved. It should be resolved by adding the new line at the new sorted position: Leon Romanovsky <leon@kernel.org> <leon@leon.nu> Leon Romanovsky <leon@kernel.org> <leonro@mellanox.com> +Leon Romanovsky <leon@kernel.org> <leonro@nvidia.com> Thanks, Jason The following changes since commit 9123e3a74ec7b934a4a099e98af6a61c2f80bbf5: Linux 5.9-rc1 (2020-08-16 13:04:57 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to f6da70d99c96256f8be0cbb4dd72d45d622c7823: MAINTAINERS: Update Mellanox and Cumulus Network addresses to new domain (2020-08-21 10:48:48 -0300) ---------------------------------------------------------------- RDMA first 5.9rc pull request One regression from 5.8 and a few bugs from earlier kernels. - Various spelling corrections in kernel prints - Bug fixes in hfi1 and bntx_re - Revert a 5.8 patch in hns - Batch update for Mellanox and Cumulus maintainers emails ---------------------------------------------------------------- Colin Ian King (3): RDMA/hns: Fix spelling mistake "epmty" -> "empty" RDMA/usnic: Fix spelling mistake "transistion" -> "transition" RDMA/core: Fix spelling mistake "Could't" -> "Couldn't" Kaike Wan (1): RDMA/hfi1: Correct an interlock issue for TID RDMA WRITE request Leon Romanovsky (1): MAINTAINERS: Update Mellanox and Cumulus Network addresses to new domain Selvin Xavier (1): RDMA/bnxt_re: Do not add user qps to flushlist Weihang Li (1): Revert "RDMA/hns: Reserve one sge in order to avoid local length error" .mailmap | 2 + MAINTAINERS | 58 ++++++++++++++--------------- drivers/infiniband/core/device.c | 2 +- drivers/infiniband/hw/bnxt_re/main.c | 3 +- drivers/infiniband/hw/hfi1/tid_rdma.c | 1 + drivers/infiniband/hw/hns/hns_roce_device.h | 2 - drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 2 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 9 ++--- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 4 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 5 +-- drivers/infiniband/hw/hns/hns_roce_srq.c | 2 +- drivers/infiniband/hw/usnic/usnic_ib_main.c | 2 +- 12 files changed, 45 insertions(+), 47 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 21 Aug 2020 11:06:12 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/cd02217a5d813e2bbec984a9eeb8280ff290a150 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 3430 bytes --] Hi Linus, Another small RC update, nothing too interesting, 5.9 is looking good so far. Thanks, Jason The following changes since commit d012a7190fc1fd72ed48911e77ca97ba4521bccd: Linux 5.9-rc2 (2020-08-23 14:08:43 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 0b089c1ef7047652b13b4cdfdb1e0e7dbdb8c9ab: IB/isert: Fix unaligned immediate-data handling (2020-09-09 13:46:03 -0300) ---------------------------------------------------------------- RDMA second 5.9-rc pull request A number of driver bug fixes and a few recent regressions: - Several bug fixes for bnxt_re. Crashing, incorrect data reported, and corruption on new HW - Memory leak and crash in rxe - Fix sysfs corruption in rxe if the netdev name is too long - Fix a crash on error unwind in the new cq_pool code - Fix kobject panics in rtrs by working device lifetime properly - Fix a data corruption bug in iser target related to misaligned buffers ---------------------------------------------------------------- Dinghao Liu (1): RDMA/rxe: Fix memleak in rxe_mem_init_user Kamal Heib (2): RDMA/rxe: Fix panic when calling kmem_cache_create() RDMA/core: Fix reported speed and width Mark Bloch (1): RDMA/mlx4: Read pkey table length instead of hardcoded value Md Haris Iqbal (2): RDMA/rtrs-srv: Replace device_register with device_initialize and device_add RDMA/rtrs-srv: Set .release function for rtrs srv device during device init Naresh Kumar PBS (3): RDMA/bnxt_re: Static NQ depth allocation RDMA/bnxt_re: Restrict the max_gids to 256 RDMA/bnxt_re: Fix driver crash on unaligned PSN entry address Sagi Grimberg (1): IB/isert: Fix unaligned immediate-data handling Selvin Xavier (3): RDMA/bnxt_re: Do not report transparent vlan from QP1 RDMA/bnxt_re: Fix the qp table indexing RDMA/bnxt_re: Remove the qp from list only if the qp destroy succeeds Xi Wang (1): RDMA/core: Fix unsafe linked list traversal after failing to allocate CQ Yi Zhang (1): RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars YueHaibing (1): RDMA/bnxt_re: Remove set but not used variable 'qplib_ctx' drivers/infiniband/core/cq.c | 4 +- drivers/infiniband/core/verbs.c | 2 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 43 ++++++++----- drivers/infiniband/hw/bnxt_re/main.c | 5 +- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 26 +++++--- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 10 +-- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 5 ++ drivers/infiniband/hw/bnxt_re/qplib_sp.c | 2 +- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 1 + drivers/infiniband/hw/mlx4/main.c | 3 +- drivers/infiniband/sw/rxe/rxe.c | 4 ++ drivers/infiniband/sw/rxe/rxe.h | 2 + drivers/infiniband/sw/rxe/rxe_mr.c | 1 + drivers/infiniband/sw/rxe/rxe_sysfs.c | 5 ++ drivers/infiniband/sw/rxe/rxe_verbs.c | 2 +- drivers/infiniband/ulp/isert/ib_isert.c | 93 ++++++++++++++-------------- drivers/infiniband/ulp/isert/ib_isert.h | 41 +++++++++--- drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 16 ++--- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 9 +++ 19 files changed, 168 insertions(+), 106 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 10 Sep 2020 20:38:10 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/b1df2a0783f3d80d6d37102eb90f06727113c7dc Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 912 bytes --] Hi Linus, Only one small bug fix for rxe found by blktests. The following changes since commit 856deb866d16e29bd65952e0289066f6078af773: Linux 5.9-rc5 (2020-09-13 16:06:00 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 4aa1615268a8ac2b20096211d3f9ac53874067d7: RDMA/core: Fix ordering of CQ pool destruction (2020-09-14 15:20:18 -0300) ---------------------------------------------------------------- RDMA third 5.9-rc pull request One fix for a bug that blktests hits when using rxe: - Tear down the CQ pool before waiting for all references to go away ---------------------------------------------------------------- Jason Gunthorpe (1): RDMA/core: Fix ordering of CQ pool destruction drivers/infiniband/core/device.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 25 Sep 2020 09:57:29 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/33d04c66f5799befa7c0c618be387541d0c311a3 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 29875 bytes --] Hi Linus, These are the proposed RDMA patches for 5.10. A usual cycle for RDMA with a typical mix of driver and core subsystem updates. There was a lot of activity in the last week on fixing up some small patches that were merged during the rc8 period, so the top couple commits are new things that haven't been in linux-next, but they are all rc-ish unbreaking stuff. There is a compilation break after merging this, the signature of __sg_alloc_table_from_pages() was changed in this PR. The series that did this has been reviewed and been in linux-next for a while. You'll need to apply this fixup to the merge commit (it is in the tag for-linus-merged for reference): diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c index 11fe9ff76fd572..8ee53839825338 100644 --- a/drivers/gpu/drm/drm_prime.c +++ b/drivers/gpu/drm/drm_prime.c @@ -807,6 +807,7 @@ struct sg_table *drm_prime_pages_to_sg(struct drm_device *dev, struct page **pages, unsigned int nr_pages) { struct sg_table *sg = NULL; + struct scatterlist *sge; size_t max_segment = 0; int ret; @@ -820,11 +821,13 @@ struct sg_table *drm_prime_pages_to_sg(struct drm_device *dev, max_segment = dma_max_mapping_size(dev->dev); if (max_segment == 0 || max_segment > SCATTERLIST_MAX_SEGMENT) max_segment = SCATTERLIST_MAX_SEGMENT; - ret = __sg_alloc_table_from_pages(sg, pages, nr_pages, 0, - nr_pages << PAGE_SHIFT, - max_segment, GFP_KERNEL); - if (ret) + sge = __sg_alloc_table_from_pages(sg, pages, nr_pages, 0, + nr_pages << PAGE_SHIFT, max_segment, + NULL, 0, GFP_KERNEL); + if (IS_ERR(sge)) { + ret = PTR_ERR(sge); goto out; + } return sg; out: Thanks, Jason The following changes since commit 549738f15da0e5a00275977623be199fbbf7df50: Linux 5.9-rc8 (2020-10-04 16:04:34 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to c7a198c700763ac89abbb166378f546aeb9afb33: RDMA/ucma: Fix use after free in destroy id flow (2020-10-16 14:07:08 -0300) ---------------------------------------------------------------- RDMA 5.10 pull request The typical set of driver updates across the subsystem: - Driver minor changes and bug fixes for mlx5, efa, rxe, vmw_pvrdma, hns, usnic, qib, qedr, cxgb4, hns, bnxt_re - Various rtrs fixes and updates - Bug fix for mlx4 CM emulation for virtualization scenarios where MRA wasn't working right - Use tracepoints instead of pr_debug in the CM code - Scrub the locking in ucma and cma to close more syzkaller bugs - Use tasklet_setup in the subsystem - Revert the idea that 'destroy' operations are not allowed to fail at the driver level. This proved unworkable from a HW perspective. - Revise how the umem API works so drivers make fewer mistakes using it - XRC support for qedr - Convert uverbs objects RWQ and MW to new the allocation scheme - Large queue entry sizes for hns - Use hmm_range_fault() for mlx5 On Demand Paging - uverbs APIs to inspect the GID table instead of sysfs - Move some of the RDMA code for building large page SGLs into lib/scatterlist ---------------------------------------------------------------- Aharon Landau (3): net/mlx5: Refactor query port speed functions RDMA/mlx5: Delete duplicated mlx5_ptys_width enum RDMA: Fix link active_speed size Alex Dewar (3): RDMA/qib: Remove superfluous fallthrough statements RDMA/qib: Tidy up process_cc() RDMA/ucma: Fix resource leak on error path Alex Vesker (3): RDMA/mlx5: Add sw_owner_v2 bit capability RDMA/mlx5: Allow DM allocation for sw_owner_v2 enabled devices RDMA/mlx5: Expose TIR and QP ICM address for sw_owner_v2 devices Allen Pais (5): RDMA/bnxt_re: Convert tasklets to use new tasklet_setup() API RDMA/hfi1: Convert tasklets to use new tasklet_setup() API RDMA/i40iw: Convert tasklets to use new tasklet_setup() API RDMA/qib: Convert tasklets to use new tasklet_setup() API RDMA/rxe: Convert tasklets to use new tasklet_setup() API Alok Prasad (1): RDMA/qedr: Endianness warnings cleanup Avihai Horon (4): RDMA/core: Change rdma_get_gid_attr returned error code RDMA/core: Modify enum ib_gid_type and enum rdma_network_type RDMA/core: Introduce new GID table query API RDMA/uverbs: Expose the new GID query API to user space Bob Pearson (8): RDMA/rxe: Fix style warnings RDMA/rxe: Add SPDX hdrs to rxe source files RDMA/rxe: Address an issue with hardened user copy RDMA/core: Added missing WR and WC opcodes RDMA/rxe: Remove duplicate entries in struct rxe_mr RDMA/rxe: Fix skb lifetime in rxe_rcv_mcast_pkt() RDMA/rxe: Fix bug rejecting all multicast packets RDMA/rxe: Handle skb_clone() failure in rxe_recv.c Chuck Lever (3): RDMA/core: Move the rdma_show_ib_cm_event() macro RDMA/cm: Replace pr_debug() call sites with tracepoints RDMA/cm: Add tracepoints to track MAD send operations Colin Ian King (2): RDMA/bnxt_re: Fix sizeof mismatch for allocation of pbl_tbl. IB/rdmavt: Fix sizeof mismatch Daniel Kranzdorf (1): RDMA/efa: Add messages and RDMA read work requests HW stats Dennis Dalessandro (1): IB/hfi,rdmavt,qib,opa_vnic: Update MAINTAINERS Gal Pressman (6): RDMA/efa: Add a generic capability check helper RDMA/efa: Be consistent with modify QP bitmask RDMA/efa: Introduce SRD QP state machine RDMA/efa: Introduce SRD RNR retry RDMA/efa: Remove redundant udata check from alloc ucontext response RDMA/efa: Group keep alive received counter with other SW stats Gioh Kim (1): RDMA/rtrs: Remove unused field of rtrs_iu Håkon Bugge (7): IB/mlx4: Add and improve logging IB/mlx4: Add support for MRA IB/mlx4: Separate tunnel and wire bufs parameters IB/mlx4: Fix starvation in paravirt mux/demux IB/mlx4: Add support for REJ due to timeout IB/mlx4: Adjust delayed work when a dup is observed IB/mlx4: Convert rej_tmout radix-tree to XArray Jason Gunthorpe (59): RDMA/cm: Remove unused cm_class RDMA/ucma: Fix refcount 0 incr in ucma_get_ctx() RDMA/ucma: Remove unnecessary locking of file->ctx_list in close RDMA/ucma: Consolidate the two destroy flows RDMA/ucma: Fix error cases around ucma_alloc_ctx() RDMA/ucma: Remove mc_list and rely on xarray RDMA/cma: Add missing locking to rdma_accept() RDMA/ucma: Do not use file->mut to lock destroying RDMA/ucma: Fix the locking of ctx->file RDMA/ucma: Fix locking for ctx->events_reported RDMA/ucma: Add missing locking around rdma_leave_multicast() RDMA/ucma: Change backlog into an atomic RDMA/ucma: Narrow file->mut in ucma_event_handler() RDMA/ucma: Rework how new connections are passed through event delivery RDMA/ucma: Remove closing and the close_wq RDMA/core: Trigger a WARN_ON if the driver causes uobjects to become leaked RDMA/umem: Fix signature of stub ib_umem_find_best_pgsz() Merge tag 'v5.9-rc3' into rdma.git for-next RDMA/core: Change how failing destroy is handled during uobj abort RDMA/umem: Fix ib_umem_find_best_pgsz() for mappings that cross a page boundary RDMA/umem: Prevent small pages from being returned by ib_umem_find_best_pgsz() RDMA/umem: Use simpler logic for ib_umem_find_best_pgsz() RDMA/umem: Add rdma_umem_for_each_dma_block() RDMA/umem: Replace for_each_sg_dma_page with rdma_umem_for_each_dma_block RDMA/umem: Split ib_umem_num_pages() into ib_umem_num_dma_blocks() RDMA/efa: Use ib_umem_num_dma_pages() RDMA/i40iw: Use ib_umem_num_dma_pages() RDMA/qedr: Use rdma_umem_for_each_dma_block() instead of open-coding RDMA/qedr: Use ib_umem_num_dma_blocks() instead of ib_umem_page_count() RDMA/bnxt: Do not use ib_umem_page_count() or ib_umem_num_pages() RDMA/hns: Use ib_umem_num_dma_blocks() instead of opencoding RDMA/ocrdma: Use ib_umem_num_dma_blocks() instead of ib_umem_page_count() RDMA/pvrdma: Use ib_umem_num_dma_blocks() instead of ib_umem_page_count() RDMA/mlx4: Use ib_umem_num_dma_blocks() RDMA/qedr: Remove fbo and zbva from the MR RDMA/ocrdma: Remove fbo from MR RDMA/cma: Fix locking for the RDMA_CM_CONNECT state RDMA/cma: Make the locking for automatic state transition more clear RDMA/cma: Fix locking for the RDMA_CM_LISTEN state RDMA/cma: Remove cma_comp() RDMA/cma: Combine cma_ndev_work with cma_work RDMA/cma: Remove dead code for kernel rdmacm multicast RDMA/cma: Consolidate the destruction of a cma_multicast in one place RDMA/cma: Fix use after free race in roce multicast join Merge branch 'mlx5_active_speed' into rdma.git for-next Merge branch 'mlx_sw_owner_v2' into rdma.git for-next RDMA/mlx5: Remove dead check for EAGAIN after alloc_mr_from_cache() RDMA/mlx5: Use set_mkc_access_pd_addr_fields() in reg_create() RDMA/mlx5: Make mkeys always owned by the kernel's PD when not enabled RDMA/mlx5: Disable IB_DEVICE_MEM_MGT_EXTENSIONS if IB_WR_REG_MR can't work RDMA/mlx5: Clarify what the UMR is for when creating MRs RDMA/ucma: Rework ucma_migrate_id() to avoid races with destroy RDMA/core: Remove ucontext->closing RDMA/addr: Fix race with netevent_callback()/rdma_addr_cancel() RDMA/bnxt_re: Use rdma_umem_for_each_dma_block() Merge branch 'dynamic_sg' into rdma.git for-next lib/scatterlist: Do not limit max_segment to PAGE_ALIGNED values RDMA: Explicitly pass in the dma_device to ib_register_device RDMA/rxe: Move the definitions for rxe_av.network_type to uAPI Jiaran Zhang (2): RDMA/hns: Add check for the validity of sl configuration RDMA/hns: Solve the overflow of the calc_pg_sz() Joe Perches (1): MAINTAINERS: CISCO VIC LOW LATENCY NIC DRIVER Julia Lawall (1): RDMA/efa: Drop double zeroing for sg_init_table() Kamal Heib (4): RDMA/vmw_pvrdma: Fix kernel-doc documentation RDMA/usnic: Remove the query_pkey callback RDMA/qedr: Fix reported max_pkeys RDMA/ipoib: Set rtnl_link_ops for ipoib interfaces Keita Suzuki (1): RDMA/qedr: Fix resource leak in qedr_create_qp Lang Cheng (3): RDMA/hns: Add a check for current state before modifying QP RDMA/hns: Correct typo of hns_roce_create_cq() RDMA/hns: Remove unused variables and definitions Leon Romanovsky (31): RDMA/mlx5: Simplify multiple else-if cases with switch keyword RDMA/mlx5: Replace open-coded offsetofend() macro RDMA: Remove constant domain argument from flow creation call RDMA/mlx5: Fix potential race between destroy and CQE poll RDMA: Restore ability to fail on PD deallocate RDMA: Restore ability to fail on AH destroy RDMA/mlx5: Issue FW command to destroy SRQ on reentry RDMA: Restore ability to fail on SRQ destroy RDMA/core: Delete function indirection for alloc/free kernel CQ RDMA: Allow fail of destroy CQ RDMA: Change XRCD destroy return value RDMA: Restore ability to return error for destroy WQ RDMA: Make counters destroy symmetrical RDMA: Clean MW allocation and free flows RDMA: Convert RWQ table logic to ib_core allocation scheme RDMA/cma: Delete from restrack DB after successful destroy RDMA/mlx5: Don't call to restrack recursively RDMA/restrack: Count references to the verbs objects RDMA/restrack: Simplify restrack tracking in kernel flows RDMA/restrack: Improve readability in task name management RDMA/mlx5: Embed GSI QP into general mlx5_ib QP RDMA/mlx5: Reuse existing fields in parent QP storage object RDMA/mlx5: Change GSI QP to have same creation flow like other QPs RDMA/mlx5: Delete not needed GSI QP signal QP type RDMA/mlx4: Embed GSI QP into general mlx4_ib QP RDMA/mlx4: Prepare QP allocation to remove from the driver RDMA/core: Align write and ioctl checks of QP types RDMA/drivers: Remove udata check from special QP RDMA/mthca: Combine special QP struct with mthca QP RDMA/i40iw: Remove intermediate pointer that points to the same struct overflow: Include header file with SIZE_MAX declaration Lijun Ou (2): RDMA/hns: Avoid unncessary initialization RDMA/hns: Set the unsupported wr opcode Liu Shixin (2): RDMA/ipoib: Convert to use DEFINE_SEQ_ATTRIBUTE macro RDMA/mlx5: Fix type warning of sizeof in __mlx5_ib_alloc_counters() Maor Gottlieb (4): RDMA/mlx5: Enable sniffer when device is in switchdev mode lib/scatterlist: Add support in dynamic allocation of SG table from pages RDMA/umem: Move to allocate SG table from pages RDMA/ucma: Fix use after free in destroy id flow Mark Zhang (3): RDMA/mlx5: Add new IB rates support IB/mlx5: Add tx_affinity support for DCI QP IB/mlx5: Add DCT RoCE LAG support Max Gurtovoy (1): IB/isert: remove duplicated error prints Md Haris Iqbal (1): RDMA/rtrs-srv: Incorporate ib_register_client into rtrs server init Michal Kalderon (8): RDMA/qedr: Fix qp structure memory leak RDMA/qedr: Fix doorbell setting RDMA/qedr: Fix use of uninitialized field RDMA/qedr: Fix return code if accept is called on a destroyed qp qede: Notify qedr when mtu has changed RDMA/qedr: Fix iWARP active mtu display RDMA/qedr: Fix inline size returned for iWARP RDMA/qedr: Fix function prototype parameters alignment Mohammad Heib (1): RDMA/rxe: prevent rxe creation on top of vlan interface Parav Pandit (1): RDMA/i40iw: Avoid typecast from void to pci_dev Potnuri Bharat Teja (1): RDMA/iw_cxgb4: Disable delayed ack by default Rikard Falkeborn (2): RDMA/core: Constify struct attribute_group RDMA/rtrs: Constify static struct attribute_group Sindhu, Devale (1): i40iw: Add support to make destroy QP synchronous Tvrtko Ursulin (2): tools/testing/scatterlist: Rejuvenate bit-rotten test tools/testing/scatterlist: Show errors in human readable form Weihang Li (5): RDMA/hns: Get udp sport num dynamically instead of using a fixed value RDMA/hns: Refactor process about opcode in post_send() RDMA/hns: Fix configuration of ack_req_freq in QPC RDMA/hns: Fix missing sq_sig_type when querying QP RDMA/hns: Support inline data in extented sge space for RC Wenpeng Liang (4): RDMA/hns: Add support for EQE in size of 64 Bytes RDMA/hns: Add support for CQE in size of 64 Bytes RDMA/hns: Add support for QPC in size of 512 Bytes RDMA/hns: Fix the wrong value of rnr_retry when querying qp Yangyang Li (2): RDMA/hns: Add support for SCCC in size of 64 Bytes RDMA/hns: Add interception for resizing SRQs Yishai Hadas (4): IB/core: Improve ODP to use hmm_range_fault() IB/core: Enable ODP sync without faulting RDMA/mlx5: Extend advice MR to support non faulting mode RDMA/mlx5: Sync device with CPU pages upon ODP MR registration Yuval Basson (1): RDMA/qedr: Add support for user mode XRC-SRQ's .clang-format | 1 + Documentation/ABI/stable/sysfs-class-infiniband | 17 - MAINTAINERS | 17 +- drivers/gpu/drm/drm_prime.c | 11 +- drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 12 +- drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 15 +- drivers/infiniband/Kconfig | 1 + drivers/infiniband/core/Makefile | 2 +- drivers/infiniband/core/addr.c | 11 +- drivers/infiniband/core/cache.c | 72 ++- drivers/infiniband/core/cm.c | 126 ++-- drivers/infiniband/core/cm_trace.c | 15 + drivers/infiniband/core/cm_trace.h | 414 ++++++++++++++ drivers/infiniband/core/cma.c | 635 +++++++++++---------- drivers/infiniband/core/cma_configfs.c | 9 +- drivers/infiniband/core/cma_trace.h | 40 -- drivers/infiniband/core/core_priv.h | 13 +- drivers/infiniband/core/counters.c | 15 +- drivers/infiniband/core/cq.c | 39 +- drivers/infiniband/core/device.c | 77 +-- drivers/infiniband/core/rdma_core.c | 34 +- drivers/infiniband/core/restrack.c | 161 +++--- drivers/infiniband/core/restrack.h | 10 +- drivers/infiniband/core/sysfs.c | 15 +- drivers/infiniband/core/ucma.c | 542 ++++++++---------- drivers/infiniband/core/umem.c | 139 ++--- drivers/infiniband/core/umem_odp.c | 291 ++++------ drivers/infiniband/core/uverbs_cmd.c | 93 ++- drivers/infiniband/core/uverbs_main.c | 7 +- drivers/infiniband/core/uverbs_std_types.c | 15 +- .../infiniband/core/uverbs_std_types_counters.c | 4 +- drivers/infiniband/core/uverbs_std_types_cq.c | 8 +- drivers/infiniband/core/uverbs_std_types_device.c | 199 ++++++- drivers/infiniband/core/uverbs_std_types_wq.c | 2 +- drivers/infiniband/core/verbs.c | 114 ++-- drivers/infiniband/hw/bnxt_re/bnxt_re.h | 2 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 90 +-- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 8 +- drivers/infiniband/hw/bnxt_re/main.c | 3 +- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 7 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 11 +- drivers/infiniband/hw/bnxt_re/qplib_res.c | 30 +- drivers/infiniband/hw/bnxt_re/qplib_res.h | 3 +- drivers/infiniband/hw/cxgb4/cm.c | 4 +- drivers/infiniband/hw/cxgb4/cq.c | 3 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 7 +- drivers/infiniband/hw/cxgb4/mem.c | 40 +- drivers/infiniband/hw/cxgb4/provider.c | 11 +- drivers/infiniband/hw/cxgb4/qp.c | 3 +- drivers/infiniband/hw/efa/efa.h | 14 +- drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 69 ++- drivers/infiniband/hw/efa/efa_com_cmd.c | 28 +- drivers/infiniband/hw/efa/efa_com_cmd.h | 18 + drivers/infiniband/hw/efa/efa_main.c | 4 +- drivers/infiniband/hw/efa/efa_verbs.c | 258 +++++++-- drivers/infiniband/hw/hfi1/sdma.c | 22 +- drivers/infiniband/hw/hfi1/verbs.c | 2 +- drivers/infiniband/hw/hns/hns_roce_ah.c | 23 +- drivers/infiniband/hw/hns/hns_roce_alloc.c | 3 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 27 +- drivers/infiniband/hw/hns/hns_roce_device.h | 74 +-- drivers/infiniband/hw/hns/hns_roce_hem.c | 8 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 51 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 4 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 534 ++++++++++++----- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 43 +- drivers/infiniband/hw/hns/hns_roce_main.c | 19 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 81 +-- drivers/infiniband/hw/hns/hns_roce_pd.c | 3 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 80 +-- drivers/infiniband/hw/hns/hns_roce_srq.c | 5 +- drivers/infiniband/hw/i40iw/i40iw.h | 9 +- drivers/infiniband/hw/i40iw/i40iw_cm.c | 10 +- drivers/infiniband/hw/i40iw/i40iw_hw.c | 4 +- drivers/infiniband/hw/i40iw/i40iw_main.c | 16 +- drivers/infiniband/hw/i40iw/i40iw_pble.c | 4 +- drivers/infiniband/hw/i40iw/i40iw_type.h | 3 +- drivers/infiniband/hw/i40iw/i40iw_utils.c | 63 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 64 ++- drivers/infiniband/hw/i40iw/i40iw_verbs.h | 3 +- drivers/infiniband/hw/mlx4/ah.c | 5 - drivers/infiniband/hw/mlx4/cm.c | 152 ++++- drivers/infiniband/hw/mlx4/cq.c | 4 +- drivers/infiniband/hw/mlx4/mad.c | 158 ++--- drivers/infiniband/hw/mlx4/main.c | 45 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 62 +- drivers/infiniband/hw/mlx4/mr.c | 35 +- drivers/infiniband/hw/mlx4/qp.c | 345 +++++------ drivers/infiniband/hw/mlx4/srq.c | 8 +- drivers/infiniband/hw/mlx5/ah.c | 9 +- drivers/infiniband/hw/mlx5/cmd.c | 8 +- drivers/infiniband/hw/mlx5/cmd.h | 4 +- drivers/infiniband/hw/mlx5/counters.c | 7 +- drivers/infiniband/hw/mlx5/cq.c | 16 +- drivers/infiniband/hw/mlx5/fs.c | 148 ++--- drivers/infiniband/hw/mlx5/gsi.c | 154 ++--- drivers/infiniband/hw/mlx5/main.c | 70 ++- drivers/infiniband/hw/mlx5/mem.c | 4 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 100 +++- drivers/infiniband/hw/mlx5/mr.c | 189 +++--- drivers/infiniband/hw/mlx5/odp.c | 56 +- drivers/infiniband/hw/mlx5/qp.c | 182 +++--- drivers/infiniband/hw/mlx5/qp.h | 4 +- drivers/infiniband/hw/mlx5/qpc.c | 5 +- drivers/infiniband/hw/mlx5/srq.c | 23 +- drivers/infiniband/hw/mlx5/srq.h | 2 +- drivers/infiniband/hw/mlx5/srq_cmd.c | 22 +- drivers/infiniband/hw/mlx5/wr.c | 27 +- drivers/infiniband/hw/mthca/mthca_dev.h | 2 +- drivers/infiniband/hw/mthca/mthca_provider.c | 39 +- drivers/infiniband/hw/mthca/mthca_provider.h | 27 +- drivers/infiniband/hw/mthca/mthca_qp.c | 75 ++- drivers/infiniband/hw/ocrdma/ocrdma.h | 1 - drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 3 +- drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 5 +- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 4 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 38 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 6 +- drivers/infiniband/hw/qedr/main.c | 31 +- drivers/infiniband/hw/qedr/qedr.h | 33 ++ drivers/infiniband/hw/qedr/qedr_iw_cm.c | 6 +- drivers/infiniband/hw/qedr/verbs.c | 438 ++++++++------ drivers/infiniband/hw/qedr/verbs.h | 11 +- drivers/infiniband/hw/qib/qib.h | 6 +- drivers/infiniband/hw/qib/qib_iba7322.c | 7 +- drivers/infiniband/hw/qib/qib_mad.c | 52 +- drivers/infiniband/hw/qib/qib_sdma.c | 10 +- drivers/infiniband/hw/usnic/usnic_ib_main.c | 5 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 18 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 6 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 7 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 4 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c | 9 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_mr.c | 3 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 9 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 7 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 15 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 10 +- drivers/infiniband/sw/rdmavt/ah.c | 3 +- drivers/infiniband/sw/rdmavt/ah.h | 2 +- drivers/infiniband/sw/rdmavt/cq.c | 3 +- drivers/infiniband/sw/rdmavt/cq.h | 2 +- drivers/infiniband/sw/rdmavt/pd.c | 3 +- drivers/infiniband/sw/rdmavt/pd.h | 2 +- drivers/infiniband/sw/rdmavt/srq.c | 3 +- drivers/infiniband/sw/rdmavt/srq.h | 2 +- drivers/infiniband/sw/rdmavt/vt.c | 10 +- drivers/infiniband/sw/rxe/rxe.c | 43 +- drivers/infiniband/sw/rxe/rxe.h | 29 +- drivers/infiniband/sw/rxe/rxe_av.c | 29 +- drivers/infiniband/sw/rxe/rxe_comp.c | 32 +- drivers/infiniband/sw/rxe/rxe_cq.c | 35 +- drivers/infiniband/sw/rxe/rxe_hdr.h | 29 +- drivers/infiniband/sw/rxe/rxe_hw_counters.c | 29 +- drivers/infiniband/sw/rxe/rxe_hw_counters.h | 29 +- drivers/infiniband/sw/rxe/rxe_icrc.c | 29 +- drivers/infiniband/sw/rxe/rxe_loc.h | 29 +- drivers/infiniband/sw/rxe/rxe_mcast.c | 29 +- drivers/infiniband/sw/rxe/rxe_mmap.c | 29 +- drivers/infiniband/sw/rxe/rxe_mr.c | 54 +- drivers/infiniband/sw/rxe/rxe_net.c | 39 +- drivers/infiniband/sw/rxe/rxe_net.h | 29 +- drivers/infiniband/sw/rxe/rxe_opcode.c | 29 +- drivers/infiniband/sw/rxe/rxe_opcode.h | 29 +- drivers/infiniband/sw/rxe/rxe_param.h | 29 +- drivers/infiniband/sw/rxe/rxe_pool.c | 89 +-- drivers/infiniband/sw/rxe/rxe_pool.h | 36 +- drivers/infiniband/sw/rxe/rxe_qp.c | 32 +- drivers/infiniband/sw/rxe/rxe_queue.c | 29 +- drivers/infiniband/sw/rxe/rxe_queue.h | 29 +- drivers/infiniband/sw/rxe/rxe_recv.c | 68 ++- drivers/infiniband/sw/rxe/rxe_req.c | 33 +- drivers/infiniband/sw/rxe/rxe_resp.c | 29 +- drivers/infiniband/sw/rxe/rxe_srq.c | 29 +- drivers/infiniband/sw/rxe/rxe_sysfs.c | 35 +- drivers/infiniband/sw/rxe/rxe_task.c | 37 +- drivers/infiniband/sw/rxe/rxe_task.h | 33 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 52 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 48 +- drivers/infiniband/sw/siw/siw_main.c | 8 +- drivers/infiniband/sw/siw/siw_verbs.c | 9 +- drivers/infiniband/sw/siw/siw_verbs.h | 6 +- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 6 +- drivers/infiniband/ulp/ipoib/ipoib_fs.c | 50 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 2 + drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 11 + drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 2 + drivers/infiniband/ulp/isert/ib_isert.c | 15 +- drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 6 +- drivers/infiniband/ulp/rtrs/rtrs-pri.h | 1 - drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 4 +- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 76 ++- drivers/infiniband/ulp/rtrs/rtrs-srv.h | 7 + .../ethernet/mellanox/mlx5/core/ipoib/ethtool.c | 31 +- drivers/net/ethernet/mellanox/mlx5/core/port.c | 23 +- drivers/net/ethernet/qlogic/qed/qed_rdma.c | 15 +- drivers/net/ethernet/qlogic/qede/qede_ethtool.c | 4 +- drivers/net/ethernet/qlogic/qede/qede_rdma.c | 17 + include/linux/mlx5/mlx5_ifc.h | 6 +- include/linux/mlx5/port.h | 15 +- include/linux/overflow.h | 1 + include/linux/qed/qed_rdma_if.h | 2 - include/linux/qed/qede_rdma.h | 4 +- include/linux/scatterlist.h | 38 +- include/rdma/ib_cache.h | 3 + include/rdma/ib_cm.h | 3 - include/rdma/ib_umem.h | 46 +- include/rdma/ib_umem_odp.h | 21 +- include/rdma/ib_verbs.h | 212 ++----- include/rdma/rdma_cm.h | 46 +- include/rdma/restrack.h | 21 +- include/trace/events/rdma.h | 41 +- include/trace/events/rpcrdma.h | 1 + include/uapi/rdma/efa-abi.h | 1 + include/uapi/rdma/hns-abi.h | 4 +- include/uapi/rdma/ib_user_ioctl_cmds.h | 16 + include/uapi/rdma/ib_user_ioctl_verbs.h | 15 + include/uapi/rdma/ib_user_verbs.h | 11 + include/uapi/rdma/rdma_user_rxe.h | 12 +- lib/scatterlist.c | 133 ++++- tools/testing/scatterlist/Makefile | 3 +- tools/testing/scatterlist/linux/mm.h | 35 ++ tools/testing/scatterlist/main.c | 53 +- 224 files changed, 5209 insertions(+), 4693 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
On Fri, Oct 16, 2020 at 11:52 AM Jason Gunthorpe <jgg@nvidia.com> wrote:
>
> You'll need to apply this fixup to the merge commit (it is in the tag
> for-linus-merged for reference):
Ugh. That's unbelievably and unnecessarily ugly.
There's no point in that unnecessary "ret" variable and the "goto out"
etc, when all the error cases can be handled much more directly.
So I resolved that merge issue somewhat differently. I can't test the
end result, but it looks TriviallyCorrect(tm).
Famous last words. Feel free to make fun of me and call me names if that breaks.
Linus
I did it v
The pull request you sent on Fri, 16 Oct 2020 15:51:55 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/a1e16bc7d5f7ca3599d8a7f061841c93a563665e Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
On Sat, Oct 17, 2020 at 11:21:51AM -0700, Linus Torvalds wrote: > On Fri, Oct 16, 2020 at 11:52 AM Jason Gunthorpe <jgg@nvidia.com> wrote: > > > > You'll need to apply this fixup to the merge commit (it is in the tag > > for-linus-merged for reference): > > Ugh. That's unbelievably and unnecessarily ugly. > > There's no point in that unnecessary "ret" variable and the "goto out" > etc, when all the error cases can be handled much more directly. Yep > So I resolved that merge issue somewhat differently. I can't test the > end result, but it looks TriviallyCorrect(tm). > > Famous last words. Feel free to make fun of me and call me names if that breaks. Not familiar with DRM land, but it looks trivially fine to me too. Thanks, Jason
[-- Attachment #1: Type: text/plain, Size: 2579 bytes --] Hi Linus, First rc pull request The good news is people are testing rc1 in the RDMA world - the bad news is testing of the for-next area is not as good as I had hoped, as we really should have caught at least the rdma_connect_locked() issue before now. Here are several regression fixes for issues found by people testing rc1. The following changes since commit 3650b228f83adda7e5ee532e2b90429c03f7b9ec: Linux 5.10-rc1 (2020-10-25 15:14:11 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to a2267f8a52eea9096861affd463f691be0f0e8c9: RDMA/qedr: Fix memory leak in iWARP CM (2020-10-28 09:45:25 -0300) ---------------------------------------------------------------- RDMA 5.10 first rc pull request Three notable merge window regressions that didn't get caught/fixed in time for rc1: - Fix in kernel users of rxe, they were broken by the rapid fix to undo the uABI breakage in rxe from another patch - EFA userspace needs to read the GID table but was broken with the new GID table logic - Fix user triggerable deadlock in mlx5 using devlink reload - Fix deadlock in several ULPs using rdma_connect from the CM handler callbacks - Memory leak in qedr ---------------------------------------------------------------- Alok Prasad (1): RDMA/qedr: Fix memory leak in iWARP CM Bob Pearson (1): RDMA/rxe: Fix small problem in network_type patch Gal Pressman (1): RDMA/uverbs: Fix false error in query gid IOCTL Jason Gunthorpe (1): RDMA: Add rdma_connect_locked() Parav Pandit (1): RDMA/mlx5: Fix devlink deadlock on net namespace deletion drivers/infiniband/core/cma.c | 48 +++++++++++++++++----- drivers/infiniband/core/uverbs_std_types_device.c | 3 -- drivers/infiniband/hw/mlx5/main.c | 6 ++- drivers/infiniband/hw/qedr/qedr_iw_cm.c | 1 + drivers/infiniband/sw/rxe/rxe_av.c | 35 ++++++++++++++-- drivers/infiniband/sw/rxe/rxe_net.c | 2 +- drivers/infiniband/ulp/iser/iser_verbs.c | 2 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 4 +- drivers/net/ethernet/mellanox/mlx5/core/lib/mlx5.h | 5 --- drivers/nvme/host/rdma.c | 4 +- include/linux/mlx5/driver.h | 18 ++++++++ include/rdma/rdma_cm.h | 14 +------ net/rds/ib_cm.c | 5 ++- 13 files changed, 103 insertions(+), 44 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
On Thu, Oct 29, 2020 at 11:41 AM Jason Gunthorpe <jgg@nvidia.com> wrote:
>
> Three notable merge window regressions that didn't get caught/fixed in
> time for rc1:
Three .. and then you list five things ;)
Linus
The pull request you sent on Thu, 29 Oct 2020 15:41:23 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/b9c0f4bd5b8114ee1773734e07cda921b6e8248b Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1648 bytes --] Hi Linus, This rc cycle continues to be challenging with an abnormal number of regressions. The following changes since commit 3cea11cd5e3b00d91caf0b4730194039b45c5891: Linux 5.10-rc2 (2020-11-01 14:43:51 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 21fcdeec09ff461b2f9a9ef4fcc3a136249e58a1: RDMA/srpt: Fix typo in srpt_unregister_mad_agent docstring (2020-11-05 11:38:29 -0400) ---------------------------------------------------------------- RDMA 5.10 second rc pull request A few more merge window regressions that didn't make rc1: - New validation in the DMA layer triggers wrong use of the DMA layer in rxe, siw and rdmavt - Accidental change of a hypervisor facing ABI when widening the port speed u8 to u16 in vmw_pvrdma - Memory leak on error unwind in SRP target ---------------------------------------------------------------- Adit Ranadive (1): RDMA/vmw_pvrdma: Fix the active_speed and phys_state value Jason Gunthorpe (1): RDMA/srpt: Fix typo in srpt_unregister_mad_agent docstring Maor Gottlieb (1): IB/srpt: Fix memory leak in srpt_add_one Parav Pandit (1): RDMA: Fix software RDMA drivers for dma mapping error drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 2 +- drivers/infiniband/sw/rdmavt/vt.c | 7 +++++-- drivers/infiniband/sw/rxe/rxe_verbs.c | 6 +++++- drivers/infiniband/sw/siw/siw_main.c | 7 +++++-- drivers/infiniband/ulp/srpt/ib_srpt.c | 13 ++++++++----- 5 files changed, 24 insertions(+), 11 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 5 Nov 2020 14:16:36 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/6f3f374ac05d05cfa63d04f4479ead7e3cb6d087 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1897 bytes --] Hi Linus, The last two weeks have been quiet here, just the usual smattering of long standing bug fixes. The following changes since commit f8394f232b1eab649ce2df5c5f15b0e528c92091: Linux 5.10-rc3 (2020-11-08 16:10:16 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to ee415d73dcc24caef7f6bbf292dcc365613d2188: tools/testing/scatterlist: Fix test to compile and run (2020-11-17 20:02:20 -0400) ---------------------------------------------------------------- RDMA 5.10 third rc pull request A collection of error case bug fixes - Improper nesting of spinlock types in cm - Missing error codes and kfree() - Ensure dma_virt_ops users have the right kconfig symbols to work properly - Compilation failure of tools/testing ---------------------------------------------------------------- Christoph Hellwig (1): RMDA/sw: Don't allow drivers using dma_virt_ops on highmem configs Jason Gunthorpe (1): RDMA/cm: Make the local_id_table xarray non-irq Maor Gottlieb (1): tools/testing/scatterlist: Fix test to compile and run Qinglang Miao (1): RDMA/pvrdma: Fix missing kfree() in pvrdma_register_device() Zhang Changzhong (1): IB/hfi1: Fix error return code in hfi1_init_dd() drivers/infiniband/Kconfig | 3 +++ drivers/infiniband/core/cm.c | 12 ++++++------ drivers/infiniband/hw/hfi1/chip.c | 3 ++- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 2 +- drivers/infiniband/sw/rdmavt/Kconfig | 3 ++- drivers/infiniband/sw/rxe/Kconfig | 2 +- drivers/infiniband/sw/siw/Kconfig | 1 + tools/testing/scatterlist/linux/mm.h | 1 + tools/testing/scatterlist/main.c | 4 ++-- 9 files changed, 19 insertions(+), 12 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 19 Nov 2020 15:29:25 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/3be28e93cd88fbcbe97cabcbe92b1ccc9f830450 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 2188 bytes --] Hi Linus, Two security issues and several small bug fixes. Things seem to have stabilized for this release here. The following changes since commit 418baf2c28f3473039f2f7377760bd8f6897ae18: Linux 5.10-rc5 (2020-11-22 15:36:08 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 17475e104dcb74217c282781817f8f52b46130d3: RDMA/hns: Bugfix for memory window mtpt configuration (2020-11-26 10:57:32 -0400) ---------------------------------------------------------------- RDMA 5.10 fourth rc pull request Two notable security issues and a collection of minor fixes: - Significant out of bounds access security issue in i40iw - Fix misuse of mmu notifiers in hfi1 - Several errors in the register map/usage in hns - Missing error returns in mthca ---------------------------------------------------------------- Dennis Dalessandro (1): IB/hfi1: Ensure correct mm is used at all times Shiraz Saleem (1): RDMA/i40iw: Address an mmap handler exploit in i40iw Wenpeng Liang (2): RDMA/hns: Fix wrong field of SRQ number the device supports RDMA/hns: Fix retry_cnt and rnr_cnt when querying QP Xiongfeng Wang (1): IB/mthca: fix return value of error branch in mthca_init_cq() Yixian Liu (1): RDMA/hns: Bugfix for memory window mtpt configuration drivers/infiniband/hw/hfi1/file_ops.c | 4 +- drivers/infiniband/hw/hfi1/hfi.h | 2 +- drivers/infiniband/hw/hfi1/mmu_rb.c | 68 +++++++++++++++--------------- drivers/infiniband/hw/hfi1/mmu_rb.h | 16 ++++++- drivers/infiniband/hw/hfi1/user_exp_rcv.c | 12 ++++-- drivers/infiniband/hw/hfi1/user_exp_rcv.h | 6 +++ drivers/infiniband/hw/hfi1/user_sdma.c | 13 +++--- drivers/infiniband/hw/hfi1/user_sdma.h | 7 ++- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 9 ++-- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 2 +- drivers/infiniband/hw/i40iw/i40iw_main.c | 5 --- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 37 +++------------- drivers/infiniband/hw/mthca/mthca_cq.c | 10 +++-- 13 files changed, 98 insertions(+), 93 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 27 Nov 2020 10:00:52 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/d41e9b22eb871a7a7060964db9ce1ceb1c6e5b57 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1437 bytes --] Hi Linus, A few fairly normal bug fixes late in the cycle, not seeing anything worrysome for release here. The following changes since commit b65054597872ce3aefbc6a666385eabdf9e288da: Linux 5.10-rc6 (2020-11-29 15:50:50 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 340b940ea0ed12d9adbb8f72dea17d516b2019e8: RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait (2020-12-09 15:51:35 -0400) ---------------------------------------------------------------- RDMA 5.10 fifth rc pull request Two user triggerable crashers and a some EFA related regressions: - Syzkaller found bug in CM - Restore access to the GID table and fix modify_qp for EFA - Crasher in qedr ---------------------------------------------------------------- Alok Prasad (1): RDMA/qedr: iWARP invalid(zero) doorbell address fix Gal Pressman (2): RDMA/efa: Use the correct current and new states in modify QP RDMA/core: Fix empty gid table for non IB/RoCE devices Leon Romanovsky (1): RDMA/cm: Fix an attempt to use non-valid pointer when cleaning timewait drivers/infiniband/core/cache.c | 3 --- drivers/infiniband/core/cm.c | 2 ++ drivers/infiniband/hw/efa/efa_verbs.c | 4 ++-- drivers/infiniband/hw/qedr/verbs.c | 9 +++++++++ 4 files changed, 13 insertions(+), 5 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 10 Dec 2020 11:50:05 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/9fca90cf28920c6d0723d7efd1eae0b0fb90309c Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 21364 bytes --] Hi Linus, These are the proposed RDMA patches for 5.12. The biggest item in this PR would be the new HIP09 HW support from HNS, otherwise it was pretty quiet for new work here. Thanks, Jason The following changes since commit b65054597872ce3aefbc6a666385eabdf9e288da: Linux 5.10-rc6 (2020-11-29 15:50:50 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to e246b7c035d74abfb3507fa10082d0c42cc016c3: RDMA/cma: Don't overwrite sgid_attr after device is released (2020-12-14 15:23:06 -0400) ---------------------------------------------------------------- RDMA 5.11 pull request A smaller set of patches, nothing stands out as being particularly major this cycle: - Driver bug fixes and updates: bnxt_re, cxgb4, rxe, hns, i40iw, cxgb4, mlx4 and mlx5 - Bug fixes and polishing for the new rts ULP - Cleanup of uverbs checking for allowed driver operations - Use sysfs_emit all over the place - Lots of bug fixes and clarity improvements for hns - hip09 support for hns - NDR and 50/100Gb signaling rates - Remove dma_virt_ops and go back to using the IB DMA wrappers - mlx5 optimizations for contiguous DMA regions ---------------------------------------------------------------- Arnd Bergmann (2): IB/verbs: avoid nested container_of() RDMa/mthca: Work around -Wenum-conversion warning Avihai Horon (3): RDMA/mlx5: Enable querying AH for XRC QP types RDMA/mlx4: Enable querying AH for XRC QP types RDMA/uverbs: Fix incorrect variable type Bob Pearson (3): RDMA/rxe: Remove unused RXE_MR_TYPE_FMR RDMA/rxe: Compute PSN windows correctly RDMA/rxe: Use acquire/release for memory ordering Christoph Hellwig (9): RDMA/umem: Use ib_dma_max_seg_size instead of dma_get_max_seg_size RDMA/core: Remove ib_dma_{alloc,free}_coherent RDMA: Lift ibdev_to_node from rds to common code nvme-rdma: Use ibdev_to_node instead of dereferencing ->dma_device rds: stop using dmapool RDMA/core: remove use of dma_virt_ops PCI/P2PDMA: Remove the DMA_VIRT_OPS hacks PCI/P2PDMA: Cleanup __pci_p2pdma_map_sg a bit dma-mapping: remove dma_virt_ops Christophe JAILLET (1): IB/qib: Use dma_set_mask_and_coherent to simplify code Danil Kipnis (1): RDMA/rtrs-clt: Remove destroy_con_cq_qp in case route resolving failed Gal Pressman (2): RDMA/efa: Remove .create_ah callback assignment RDMA/efa: Use dma_set_mask_and_coherent() to simplify code Gioh Kim (4): RDMA/rtrs-clt: Missing error from rtrs_rdma_conn_established RDMA/rtrs: Remove unnecessary argument dir of rtrs_iu_free RDMA/rtrs-clt: Remove duplicated switch-case handling for CM error events RDMA/rtrs-clt: Remove duplicated code Guoqing Jiang (5): RDMA/rtrs-srv: Don't guard the whole __alloc_srv with srv_mutex RDMA/rtrs-srv: Fix typo RDMA/rtrs-srv: Kill rtrs_srv_change_state_get_old RDMA/rtrs: Introduce rtrs_post_send RDMA/rtrs-clt: Remove 'addr' from rtrs_clt_add_path_to_arr Gustavo A. R. Silva (4): IB/hfi1: Fix fall-through warnings for Clang IB/mlx4: Fix fall-through warnings for Clang IB/qedr: Fix fall-through warnings for Clang IB/mlx5: Fix fall-through warnings for Clang Jack Morgenstein (2): RDMA/core: Clean up cq pool mechanism RDMA/core: Do not indicate device ready when device enablement fails Jack Wang (3): RDMA/rtrs-clt: Remove outdated comment in create_con_cq_qp RDMA/rtrs-clt: Avoid run destroy_con_cq_qp/create_con_cq_qp in parallel RDMA/ipoib: Distribute cq completion vector better Jason Gunthorpe (43): RDMA/cxgb4: Remove MW support RDMA: Remove uverbs_ex_cmd_mask values that are linked to functions RDMA: Remove elements in uverbs_cmd_mask that all drivers set RDMA: Move more uverbs_cmd_mask settings to the core RDMA: Check srq_type during create_srq RDMA: Check attr_mask during modify_qp RDMA: Check flags during create_cq RDMA: Check create_flags during create_qp RDMA/core Remove uverbs_ex_cmd_mask RDMA: Remove uverbs cmds from drivers that don't use them RDMA: Remove AH from uverbs_cmd_mask RDMA/mlx5: Remove mlx5_ib_mr->order RDMA/mlx5: Fix corruption of reg_pages in mlx5_ib_rereg_user_mr() RDMA/mlx5: Remove mlx5_ib_mr->npages RDMA/mlx5: Move mlx5_ib_cont_pages() to the creation of the mlx5_ib_mr RDMA/mlx5: Remove order from mlx5_ib_cont_pages() RDMA/mlx5: Remove ncont from mlx5_ib_cont_pages() RDMA/mlx5: Remove npages from mlx5_ib_cont_pages() RDMA/mlx5: Change mlx5_ib_populate_pas() to use rdma_for_each_block() RDMA/mlx5: Move xlt_emergency_page_mutex into mr.c RDMA/mlx5: Split the WR setup out of mlx5_ib_update_xlt() RDMA/mlx5: Split mlx5_ib_update_xlt() into ODP and non-ODP cases RDMA/mlx5: Use ib_umem_find_best_pgsz() for mkc's RDMA/rxe,siw: Restore uverbs_cmd_mask IB_USER_VERBS_CMD_POST_SEND RDMA/mlx5: Use ib_umem_find_best_pgoff() for SRQ RDMA/mlx5: Use mlx5_umem_find_best_quantized_pgoff() for WQ RDMA/mlx5: Directly compute the PAS list for raw QP RQ's RDMA/mlx5: Use mlx5_umem_find_best_quantized_pgoff() for QP RDMA/mlx5: mlx5_umem_find_best_quantized_pgoff() for CQ RDMA/mlx5: Use ib_umem_find_best_pgsz() for devx RDMA/mlx5: Lower setting the umem's PAS for SRQ Merge branch 'for-rc' into rdma.git RDMA/siw,rxe: Make emulated devices virtual in the device tree Merge tag 'v5.10-rc5' into rdma.git for-next RDMA/cma: Fix deadlock on &lock in rdma_cma_listen_on_all() error unwind RDMA/mlx5: Check for ERR_PTR from uverbs_zalloc() Merge tag 'v5.10-rc6' into rdma.git for-next RDMA/uverbs: Tidy input validation of ib_uverbs_rereg_mr() RDMA/uverbs: Check ODP in ib_check_mr_access() as well RDMA/uverbs: Allow drivers to create a new HW object during rereg_mr RDMA/mlx5: Reorganize mlx5_ib_reg_user_mr() RDMA/mlx5: Fix error unwinds for rereg_mr Merge tag 'mlx5-next-2020-12-02' of git://git.kernel.org/.../mellanox/linux Jing Xiangfeng (1): RDMA/core: Fix error return in _ib_modify_qp() Joe Perches (4): RDMA: Convert sysfs device * show functions to use sysfs_emit() RDMA: Convert sysfs kobject * show functions to use sysfs_emit() RDMA: Manual changes for sysfs_emit and neatening RDMA: Convert various random sprintf sysfs _show uses to sysfs_emit Kamal Heib (2): RDMA/bnxt_re: Set queue pair state when being queried RDMA/cxgb4: Validate the number of CQEs Lang Cheng (6): RDMA/hns: Support owner mode doorbell RDMA/hns: Add new PCI device ID matching for HIP09 RDMA/hns: Add support for CQ stash RDMA/hns: Add support for QP stash RDMA/hns: Fix 0-length sge calculation error RDMA/hns: Fix coding style issues Leon Romanovsky (10): RDMA/core: Postpone uobject cleanup on failure till FD close RDMA/core: Make FD destroy callback void RDMA/counter: Combine allocation and bind logic RDMA/restrack: Store all special QPs in restrack DB RDMA/cma: Add missing error handling of listen_id RDMA/mlx5: Silence the overflow warning while building offset mask RDMA/core: Track device memory MRs RDMA/core: Allow drivers to disable restrack DB RDMA/restrack: Support all QP types RDMA/cma: Don't overwrite sgid_attr after device is released Lukas Bulwahn (1): RDMA/core: Update kernel documentation for ib_create_named_qp() Maor Gottlieb (3): tools/testing/scatterlist: Test dynamic __sg_alloc_table_from_pages RDMA/mlx5: Assign dev to DM MR RDMA/mlx5: Fix MR cache memory leak Mauro Carvalho Chehab (1): IB: Fix kernel-doc markups Max Gurtovoy (1): IB/isert: add module param to set sg_tablesize for IO cmd Meir Lichtinger (3): RDMA/ipoib: Add 50Gb and 100Gb link speeds to ethtool IB/core: Add support for NDR link speed IB/mlx5: Add support for NDR link speed Parav Pandit (1): RDMA/mlx5: Use PCI device for dma mappings Rikard Falkeborn (1): RDMA/i40iw: Constify ops structs Sebastian Andrzej Siewior (1): RDMA/iser: Remove in_interrupt() usage Selvin Xavier (2): RDMA/bnxt_re: Fix entry size during SRQ create RDMA/bnxt_re: Fix max_qp_wrs reported Shiraz Saleem (1): RDMA/i40iw: Remove push code from i40iw Tom Rix (1): RDMA/mlx5: Remove unneeded semicolon Vladimir Oltean (1): RDMA/mlx4: Remove bogus dev_base_lock usage Weihang Li (14): RDMA/hns: Add support for configuring GMV table RDMA/hns: Add support for filling GMV table RDMA/hns: Fix double free of the pointer to TSQ/TPQ RDMA/hns: Only record vlan info for HIP08 RDMA/hns: Fix missing fields in address vector RDMA/hns: Avoid setting loopback indicator when smac is same as dmac RDMA/hns: Remove the portn field in UD SQ WQE RDMA/hns: Simplify process of filling UD SQ WQE RDMA/hns: Add UD support for HIP09 RDMA/hns: Refactor process of setting extended sge RDMA/hns: Move capability flags of QP and CQ to hns-abi.h RDMA/hns: Do shift on traffic class when using RoCEv2 RDMA/hns: Avoid filling sl in high 3 bits of vlan_id RDMA/hns: WARN_ON if get a reserved sl from users Wenpeng Liang (3): RDMA/hns: Limit the length of data copied between kernel and userspace RDMA/hns: Normalization the judgment of some features RDMA/hns: Fix incorrect symbol types Xi Wang (1): RDMA/hns: Refactor the hns_roce_buf allocation flow Xinhao Liu (1): RDMA/hns: Clear redundant variable initialization Yangyang Li (2): RDMA/hns: Create QP with selected QPN for bank load balance RDMA/hns: Bugfix for calculation of extended sge Yejune Deng (1): RDMA/i40iw: Replace atomic_add_return(1, ..) Yixian Liu (2): RDMA/hns: Remove unnecessary access right set during INIT2INIT RDMA/hns: Simplify AEQE process for different types of queue Yixing Liu (1): RDMA/hns: Fix inaccurate prints Zhang Qilong (1): RDMA/siw: Fix typo of EAGAIN not -EAGAIN in siw_cm_work_handler() Zhu Yanjun (2): RDMA/rxe: Remove VLAN code leftovers from RXE MAINTAINERS: SOFT-ROCE: Change Zhu Yanjun's email address Zou Wei (1): IB/isert: Do not excplicitly check == false for bool .mailmap | 1 + MAINTAINERS | 2 +- drivers/infiniband/core/cm.c | 9 +- drivers/infiniband/core/cma.c | 195 +++-- drivers/infiniband/core/cma_configfs.c | 4 +- drivers/infiniband/core/core_priv.h | 28 +- drivers/infiniband/core/counters.c | 138 ++- drivers/infiniband/core/cq.c | 16 +- drivers/infiniband/core/device.c | 92 +- drivers/infiniband/core/iwpm_util.h | 2 +- drivers/infiniband/core/rdma_core.c | 101 ++- drivers/infiniband/core/restrack.c | 23 +- drivers/infiniband/core/rw.c | 5 +- drivers/infiniband/core/sa_query.c | 3 +- drivers/infiniband/core/sysfs.c | 166 ++-- drivers/infiniband/core/ucma.c | 2 +- drivers/infiniband/core/umem.c | 17 +- drivers/infiniband/core/user_mad.c | 6 +- drivers/infiniband/core/uverbs_cmd.c | 149 ++-- drivers/infiniband/core/uverbs_main.c | 4 +- drivers/infiniband/core/uverbs_std_types.c | 18 +- .../infiniband/core/uverbs_std_types_async_fd.c | 5 +- .../infiniband/core/uverbs_std_types_counters.c | 5 +- drivers/infiniband/core/uverbs_std_types_cq.c | 4 +- drivers/infiniband/core/uverbs_std_types_device.c | 14 +- drivers/infiniband/core/uverbs_std_types_dm.c | 6 +- .../infiniband/core/uverbs_std_types_flow_action.c | 6 +- drivers/infiniband/core/uverbs_std_types_mr.c | 6 +- drivers/infiniband/core/uverbs_std_types_qp.c | 8 +- drivers/infiniband/core/uverbs_std_types_srq.c | 4 +- drivers/infiniband/core/uverbs_std_types_wq.c | 4 +- drivers/infiniband/core/uverbs_uapi.c | 5 +- drivers/infiniband/core/verbs.c | 27 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 15 +- drivers/infiniband/hw/bnxt_re/main.c | 34 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 2 +- drivers/infiniband/hw/cxgb4/cq.c | 3 + drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 2 - drivers/infiniband/hw/cxgb4/mem.c | 84 -- drivers/infiniband/hw/cxgb4/provider.c | 35 +- drivers/infiniband/hw/cxgb4/qp.c | 8 +- drivers/infiniband/hw/efa/efa_main.c | 34 +- drivers/infiniband/hw/efa/efa_verbs.c | 6 + drivers/infiniband/hw/hfi1/qp.c | 1 + drivers/infiniband/hw/hfi1/sysfs.c | 62 +- drivers/infiniband/hw/hfi1/tid_rdma.c | 5 + drivers/infiniband/hw/hns/hns_roce_ah.c | 55 +- drivers/infiniband/hw/hns/hns_roce_alloc.c | 132 +-- drivers/infiniband/hw/hns/hns_roce_cmd.c | 37 +- drivers/infiniband/hw/hns/hns_roce_cmd.h | 6 +- drivers/infiniband/hw/hns/hns_roce_common.h | 26 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 46 +- drivers/infiniband/hw/hns/hns_roce_db.c | 8 +- drivers/infiniband/hw/hns/hns_roce_device.h | 178 ++-- drivers/infiniband/hw/hns/hns_roce_hem.c | 59 +- drivers/infiniband/hw/hns/hns_roce_hem.h | 3 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 50 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 2 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 554 ++++++------ drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 265 +++--- drivers/infiniband/hw/hns/hns_roce_main.c | 82 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 79 +- drivers/infiniband/hw/hns/hns_roce_pd.c | 14 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 300 ++++--- drivers/infiniband/hw/hns/hns_roce_srq.c | 53 +- drivers/infiniband/hw/i40iw/i40iw.h | 1 - drivers/infiniband/hw/i40iw/i40iw_cm.c | 6 +- drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 72 +- drivers/infiniband/hw/i40iw/i40iw_d.h | 35 +- drivers/infiniband/hw/i40iw/i40iw_status.h | 1 - drivers/infiniband/hw/i40iw/i40iw_type.h | 38 +- drivers/infiniband/hw/i40iw/i40iw_uk.c | 41 +- drivers/infiniband/hw/i40iw/i40iw_user.h | 8 - drivers/infiniband/hw/i40iw/i40iw_verbs.c | 121 +-- drivers/infiniband/hw/mlx4/mad.c | 1 + drivers/infiniband/hw/mlx4/main.c | 64 +- drivers/infiniband/hw/mlx4/mcg.c | 82 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 8 +- drivers/infiniband/hw/mlx4/mr.c | 16 +- drivers/infiniband/hw/mlx4/qp.c | 14 +- drivers/infiniband/hw/mlx4/srq.c | 4 + drivers/infiniband/hw/mlx4/sysfs.c | 66 +- drivers/infiniband/hw/mlx5/cq.c | 77 +- drivers/infiniband/hw/mlx5/devx.c | 90 +- drivers/infiniband/hw/mlx5/fs.c | 6 +- drivers/infiniband/hw/mlx5/main.c | 105 +-- drivers/infiniband/hw/mlx5/mem.c | 192 ++--- drivers/infiniband/hw/mlx5/mlx5_ib.h | 102 ++- drivers/infiniband/hw/mlx5/mr.c | 960 ++++++++++++--------- drivers/infiniband/hw/mlx5/odp.c | 56 +- drivers/infiniband/hw/mlx5/qp.c | 197 ++--- drivers/infiniband/hw/mlx5/restrack.c | 2 +- drivers/infiniband/hw/mlx5/srq.c | 34 +- drivers/infiniband/hw/mlx5/srq.h | 1 + drivers/infiniband/hw/mlx5/srq_cmd.c | 80 +- drivers/infiniband/hw/mthca/mthca_cq.c | 2 +- drivers/infiniband/hw/mthca/mthca_dev.h | 1 - drivers/infiniband/hw/mthca/mthca_provider.c | 61 +- drivers/infiniband/hw/mthca/mthca_qp.c | 3 + drivers/infiniband/hw/ocrdma/ocrdma_main.c | 42 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 11 +- drivers/infiniband/hw/qedr/main.c | 39 +- drivers/infiniband/hw/qedr/verbs.c | 13 + drivers/infiniband/hw/qib/qib_pcie.c | 11 +- drivers/infiniband/hw/qib/qib_sysfs.c | 96 +-- drivers/infiniband/hw/usnic/usnic_ib_main.c | 19 - drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 100 +-- drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 7 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 3 + drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 34 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 5 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_srq.c | 2 +- drivers/infiniband/sw/rdmavt/Kconfig | 1 - drivers/infiniband/sw/rdmavt/ah.c | 3 +- drivers/infiniband/sw/rdmavt/cq.c | 2 +- drivers/infiniband/sw/rdmavt/mcast.c | 12 +- drivers/infiniband/sw/rdmavt/mr.c | 6 +- drivers/infiniband/sw/rdmavt/qp.c | 18 +- drivers/infiniband/sw/rdmavt/vt.c | 36 +- drivers/infiniband/sw/rxe/Kconfig | 1 - drivers/infiniband/sw/rxe/rxe_cq.c | 5 - drivers/infiniband/sw/rxe/rxe_mr.c | 1 - drivers/infiniband/sw/rxe/rxe_net.c | 18 - drivers/infiniband/sw/rxe/rxe_queue.h | 94 +- drivers/infiniband/sw/rxe/rxe_req.c | 3 +- drivers/infiniband/sw/rxe/rxe_resp.c | 5 - drivers/infiniband/sw/rxe/rxe_verbs.c | 67 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 2 - drivers/infiniband/sw/siw/Kconfig | 1 - drivers/infiniband/sw/siw/siw.h | 1 - drivers/infiniband/sw/siw/siw_cm.c | 2 +- drivers/infiniband/sw/siw/siw_main.c | 52 +- drivers/infiniband/sw/siw/siw_verbs.c | 12 + drivers/infiniband/ulp/ipoib/ipoib_cm.c | 4 +- drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 4 + drivers/infiniband/ulp/ipoib/ipoib_main.c | 7 +- drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 4 +- drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 2 +- drivers/infiniband/ulp/iser/iscsi_iser.c | 24 +- drivers/infiniband/ulp/isert/ib_isert.c | 29 +- drivers/infiniband/ulp/isert/ib_isert.h | 6 + drivers/infiniband/ulp/opa_vnic/opa_vnic_encap.h | 2 +- .../infiniband/ulp/opa_vnic/opa_vnic_vema_iface.c | 2 +- drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 62 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 74 +- drivers/infiniband/ulp/rtrs/rtrs-clt.h | 1 + drivers/infiniband/ulp/rtrs/rtrs-pri.h | 3 +- drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 21 +- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 119 +-- drivers/infiniband/ulp/rtrs/rtrs-srv.h | 2 +- drivers/infiniband/ulp/rtrs/rtrs.c | 61 +- drivers/infiniband/ulp/srp/ib_srp.c | 48 +- drivers/infiniband/ulp/srpt/ib_srpt.c | 14 +- drivers/infiniband/ulp/srpt/ib_srpt.h | 2 +- drivers/nvme/host/rdma.c | 2 +- drivers/nvme/target/rdma.c | 3 +- drivers/pci/p2pdma.c | 25 +- include/linux/dma-mapping.h | 2 - include/rdma/ib_umem.h | 42 + include/rdma/ib_verbs.h | 198 +++-- include/rdma/restrack.h | 24 + include/rdma/uverbs_ioctl.h | 25 +- include/rdma/uverbs_types.h | 9 +- include/uapi/rdma/hns-abi.h | 10 + include/uapi/rdma/ib_user_verbs.h | 14 - include/uapi/rdma/rdma_user_rxe.h | 21 + kernel/dma/Kconfig | 5 - kernel/dma/Makefile | 1 - kernel/dma/virt.c | 61 -- net/rds/ib.c | 10 - net/rds/ib.h | 13 - net/rds/ib_cm.c | 128 +-- net/rds/ib_recv.c | 18 +- net/rds/ib_send.c | 8 + tools/testing/scatterlist/main.c | 64 +- 175 files changed, 3845 insertions(+), 3915 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Wed, 16 Dec 2020 13:57:30 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/009bd55dfcc857d8b00a5bbb17a8db060317af6f Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 2281 bytes --] Hi Linus, Bit later for the first rc pull request than normal due to the holidays, but a fairly modest set of bug fixes, nothing abnormal from the merge window The ucma patch is a bit on the larger side, but given the regression was recently added I've opted to forward it to the rc stream. Thanks, Jason The following changes since commit e71ba9452f0b5b2e8dc8aa5445198cd9214a6a62: Linux 5.11-rc2 (2021-01-03 15:55:30 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 7c7b3e5d9aeed31d35c5dab0bf9c0fd4c8923206: RDMA/cma: Fix error flow in default_roce_mode_store (2021-01-14 12:53:13 -0400) ---------------------------------------------------------------- RDMA 5.11 first RC pull request Several bug fixes. - Fix a ucma memory leak introduced in v5.9 while fixing the Syzkaller bugs - Don't fail when the xarray wraps for user verbs objects - User triggerable oops regression from the umem page size rework - Error unwind bugs in usnic, ocrdma, mlx5 and cma ---------------------------------------------------------------- Aharon Landau (1): RDMA/umem: Avoid undefined behavior of rounddown_pow_of_two() Dinghao Liu (1): RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp Jason Gunthorpe (1): RDMA/ucma: Do not miss ctx destruction steps in some cases Leon Romanovsky (1): RDMA/restrack: Don't treat as an error allocation ID wrapping Mark Bloch (1): RDMA/mlx5: Fix wrong free of blue flame register on error Neta Ostrovsky (1): RDMA/cma: Fix error flow in default_roce_mode_store Parav Pandit (1): IB/mlx5: Fix error unwinding when set_has_smi_cap fails Tom Rix (1): RDMA/ocrdma: Fix use after free in ocrdma_dealloc_ucontext_pd() drivers/infiniband/core/cma_configfs.c | 4 +- drivers/infiniband/core/restrack.c | 1 + drivers/infiniband/core/ucma.c | 135 ++++++++++++++------------- drivers/infiniband/core/umem.c | 2 +- drivers/infiniband/hw/mlx5/main.c | 4 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 3 + 7 files changed, 83 insertions(+), 68 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 15 Jan 2021 15:21:40 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/8cbe71e7e01a9e45a390b204403880c90a226039 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 2340 bytes --] Hi Linus, Nothing very exciting here, more evidence that people are infrequently testing areas, at least. Thanks, Jason The following changes since commit 19c329f6808995b142b3966301f217c831e7cf31: Linux 5.11-rc4 (2021-01-17 16:37:05 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to f1b0a8ea9f12b8ade0dbe40dd57e4ffa9a30ed93: Revert "RDMA/rxe: Remove VLAN code leftovers from RXE" (2021-01-20 13:29:28 -0400) ---------------------------------------------------------------- RDMA 5.11 second RC pull request Several recent regressions and some bug fixes - Typo corrupting the max_recv_sge for cxgb4 - Regression from re-using kernel enums as a HW AbI in vmw_pvrdma - Sleeping inside a spinlock in hns - Revert the attempt to fix devlink deadlocks as the fix is more buggy - Typo in sysfs_emit_at conversions - Revert the removal of VLAN support in rxe ---------------------------------------------------------------- Bryan Tan (1): RDMA/vmw_pvrdma: Fix network_hdr_type reported in WC Joe Perches (1): RDMA/usnic: Fix misuse of sysfs_emit_at Kamal Heib (1): RDMA/cxgb4: Fix the reported max_recv_sge value Martin Wilck (1): Revert "RDMA/rxe: Remove VLAN code leftovers from RXE" Parav Pandit (1): Revert "RDMA/mlx5: Fix devlink deadlock on net namespace deletion" Yangyang Li (1): RDMA/hns: Use mutex instead of spinlock for ida allocation drivers/infiniband/hw/cxgb4/qp.c | 2 +- drivers/infiniband/hw/hns/hns_roce_device.h | 2 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 11 ++++++----- drivers/infiniband/hw/mlx5/main.c | 6 ++---- drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 7 +++---- drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 14 ++++++++++++++ drivers/infiniband/hw/vmw_pvrdma/pvrdma_cq.c | 2 +- drivers/infiniband/sw/rxe/rxe_net.c | 6 ++++++ drivers/infiniband/sw/rxe/rxe_resp.c | 5 +++++ drivers/net/ethernet/mellanox/mlx5/core/lib/mlx5.h | 5 +++++ include/linux/mlx5/driver.h | 18 ------------------ include/uapi/rdma/vmw_pvrdma-abi.h | 7 +++++++ 12 files changed, 51 insertions(+), 34 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #1: Type: text/plain, Size: 24202 bytes --] Hi Linus, These are the proposed RDMA patches for 5.12. This is quite a small cycle, if not for Lee's 70 patches cleaning the kdocs it would be well below typical for patch count. Most of the interesting work here was in the HNS and rxe drivers which got fairly major internal changes. As before there was a slightly tricky conflict with the rdma for-rc tree, which I've resolved by merging in v5.11 at the top. The following changes since commit a6a217dddcd544f6b75f0e2a60b6e84c1d494b7e: net/mlx5: Add new timestamp mode bits (2021-02-16 16:10:39 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 7289e26f395b583f68b676d4d12a0971e4f6f65c: Merge tag 'v5.11' into rdma.git for-next (2021-02-18 11:19:29 -0400) ---------------------------------------------------------------- RDMA 5.12 merge window pull request - Driver updates and bug fixes: siw, hns, bnxt_re, mlx5, efa - Significant rework in rxe to get it ready to have XRC support added - Several rts bug fixes - Big series to get to 'make W=1' cleanness, primarily updating kdocs - Support for creating a RDMA MR from a DMABUF fd to allow PCI peer to peer transfers to GPU VRAM - Device disassociation now works properly with umad - Work to support more than 255 ports on a RDMA device - Further support for the new HNS HIP09 hardware - Coding style cleanups: comma to semicolon, unneded semicolon/blank lines, remove 'h' printk format, don't check for NULL before kfree, use true/false for bool. ---------------------------------------------------------------- Aharon Landau (1): RDMA/mlx5: Fail QP creation if the device can not support the CQE TS Avihai Horon (1): RDMA/ucma: Fix use-after-free bug in ucma_create_uevent Bernard Metzler (1): RDMA/siw: Fix handling of zero-sized Read and Receive Queues. Bob Pearson (21): RDMA/rxe: Remove unneeded RXE_POOL_ATOMIC flag RDMA/rxe: Let pools support both keys and indices RDMA/rxe: Add elem_offset field to rxe_type_info RDMA/rxe: Make pool lookup and alloc APIs type safe RDMA/rxe: Make add/drop key/index APIs type safe RDMA/rxe: Add unlocked versions of pool APIs RDMA/rxe: Fix race in rxe_mcast.c RDMA/rxe: Fix bug in rxe_alloc() RDMA/rxe: Fix misleading comments and names RDMA/rxe: Remove RXE_POOL_ATOMIC RDMA/rxe: Remove references to ib_device and pool RDMA/rxe: Remove unneeded pool->state RDMA/rxe: Replace missing rxe_pool_get_index_locked RDMA/rxe: Fix coding error in rxe_recv.c RDMA/rxe: Remove useless code in rxe_recv.c RDMA/rxe: Fix coding error in rxe_rcv_mcast_pkt RDMA/rxe: Correct skb on loopback path RDMA/rxe: Fix FIXME in rxe_udp_encap_recv() RDMA/rxe: Fix minor coding style issues RDMA/rxe: Cleanup init_send_wqe RDMA/rxe: Remove unused pkt->offset Christoph Lameter (1): RDMA/ipoib: Remove racy Subnet Manager sendonly join checks Gal Pressman (5): RDMA/efa: Remove redundant NULL pointer check of CQE RDMA/efa: Remove duplication of upper/lower_32_bits RDMA/efa: Remove unnecessary indentation in defs comments RDMA/efa: Remove unused 'select' field from get/set feature command descriptor RDMA/efa: Remove unused syndrome enum values Gioh Kim (2): RDMA/rtrs-srv: fix memory leak by missing kobject free RDMA/rtrs-srv-sysfs: fix missing put_device Guoqing Jiang (8): RDMA/rtrs-srv: Jump to dereg_mr label if allocate iu fails RDMA/rtrs: Call kobject_put in the failure path RDMA/rtrs-clt: Consolidate rtrs_clt_destroy_sysfs_root_{folder,files} RDMA/rtrs-clt: Kill wait_for_inflight_permits RDMA/rtrs-clt: Remove unnecessary 'goto out' RDMA/rtrs-clt: Kill rtrs_clt_change_state RDMA/rtrs-clt: Rename __rtrs_clt_change_state to rtrs_clt_change_state RDMA/rtrs-clt: Refactor the failure cases in alloc_clt Jack Wang (12): RDMA/rtrs: Extend ibtrs_cq_qp_create RDMA/rtrs-srv: Release lock before call into close_sess RDMA/rtrs-srv: Use sysfs_remove_file_self for disconnect RDMA/rtrs-clt: Set mininum limit when create QP RDMA/rtrs-srv: Fix missing wr_cqe RDMA/rtrs: Do not signal for heatbeat RDMA/rtrs-clt: Use bitmask to check sess->flags RDMA/rtrs-srv: Do not signal REG_MR RDMA/rtrs-srv: Init wr_cnt as 1 RDMA/rtrs: Fix KASAN: stack-out-of-bounds bug RDMA/rtrs-srv: Fix stack-out-of-bounds RDMA/rtrs-srv: Do not pass a valid pointer to PTR_ERR() Jason Gunthorpe (3): Merge branch 'devx_set_get' into rdma.git for-next Merge branch 'mlx5_timestamp' into rdma.git for-next Merge tag 'v5.11' into rdma.git for-next Jianxin Xiong (4): RDMA/umem: Support importing dma-buf as user memory region RDMA/core: Add device method for registering dma-buf based memory region RDMA/uverbs: Add uverbs command for dma-buf based MR registration RDMA/mlx5: Support dma-buf based userspace memory region Jiapeng Chong (1): RDMA/qedr: Use true and false for bool variable Kamal Heib (1): RDMA/siw: Fix calculation of tx_valid_cpus size Lang Cheng (12): RDMA/hns: Optimize the MR registration process RDMA/hns: Use new interface to set MPT related fields RDMA/hns: Allocate one more recv SGE for HIP08 RDMA/hns: Use new interfaces to write SRQC RDMA/hns: Replace wmb&__raw_writeq with writeq RDMA/hns: Move HIP06 related definitions into hns_roce_hw_v1.h RDMA/hns: Avoid unnecessary memset on WQEs in post_send RDMA/hns: Remove unused member and variable of CMDQ RDMA/hns: Fixes missing error code of CMDQ RDMA/hns: Remove redundant operations on CMDQ RDMA/hns: Adjust fields and variables about CMDQ tail/head RDMA/hns: Refactor process of posting CMDQ Lee Jones (70): RDMA/hw: i40iw_hmc: Fix misspellings of '*idx' args RDMA/core: device: Fix formatting in worthy kernel-doc header and demote another RDMA/hw/i40iw/i40iw_ctrl: Fix a bunch of misspellings and formatting issues RDMA/hw/i40iw/i40iw_cm: Fix a bunch of function documentation issues RDMA/core/cache: Fix some misspellings, missing and superfluous param descriptions RDMA/hw/i40iw/i40iw_hw: Provide description for 'ipv4', remove 'user_pri' and fix 'iwcq' RDMA/hw/i40iw/i40iw_main: Rectify some kernel-doc misdemeanours RDMA/core/roce_gid_mgmt: Fix misnaming of 'rdma_roce_rescan_device()'s param 'ib_dev' RDMA/hw/i40iw/i40iw_pble: Provide description for 'dev' and fix formatting issues RDMA/hw/i40iw/i40iw_puda: Fix some misspellings and provide missing descriptions RDMA/core/multicast: Provide description for 'ib_init_ah_from_mcmember()'s 'rec' param RDMA/core/sa_query: Demote non-conformant kernel-doc header RDMA/hw/i40iw/i40iw_uk: Clean-up some function documentation headers RDMA/hw/i40iw/i40iw_virtchnl: Fix a bunch of kernel-doc issues RDMA/hw/i40iw/i40iw_utils: Fix some misspellings and missing param descriptions RDMA/core/restrack: Fix kernel-doc formatting issue RDMA/hw/i40iw/i40iw_verbs: Fix worthy function headers and demote some others RDMA/core/counters: Demote non-conformant kernel-doc headers RDMA/core/iwpm_util: Fix some param description misspellings RDMA/core/iwpm_msg: Add proper descriptions for 'skb' param RDMA/hw/mlx5/odp: Fix formatting and add missing descriptions in 'pagefault_data_segments()' RDMA/hw/mlx5/qp: Demote non-conformant kernel-doc header RDMA/hw/efa/efa_com: Stop using param description notation for non-params RDMA/hw/hns/hns_roce_hw_v1: Fix doc-rot issue relating to 'rereset' RDMA/hw/hns/hns_roce_mr: Add missing description for 'hr_dev' param RDMA/hw/qib/qib_driver: Fix misspelling in 'ppd's param description RDMA/sw/rdmavt/vt: Fix formatting issue and update description for 'context' RDMA/hw/qib/qib_eeprom: Fix misspelling of 'buff' in 'qib_eeprom_{read,write}()' RDMA/hw/qib/qib_mad: Fix a few misspellings and supply missing descriptions RDMA/hw/qib/qib_intr: Fix a bunch of formatting issues RDMA/hw/qib/qib_pcie: Demote obvious kernel-doc abuse RDMA/hw/qib/qib_qp: Fix some issues in worthy kernel-doc headers and demote another RDMA/sw/rdmavt/cq: Demote hardly complete kernel-doc header RDMA/hw/qib/qib_rc: Fix some worthy kernel-docs demote hardly complete one RDMA/hw/hfi1/chip: Fix a bunch of kernel-doc formatting and spelling issues RDMA/hw/qib/qib_twsi: Provide description for missing param 'last' RDMA/hw/qib/qib_tx: Provide description for 'qib_chg_pioavailkernel()'s 'rcd' param RDMA/hw/qib/qib_uc: Provide description for missing 'flags' param RDMA/hw/qib/qib_ud: Provide description for 'qib_make_ud_req's 'flags' param RDMA/sw/rdmavt/mad: Fix 'rvt_process_mad()'s documentation header RDMA/hw/qib/qib_user_pages: Demote non-conformant documentation header RDMA/sw/rdmavt/mcast: Demote incomplete kernel-doc header RDMA/hw/hfi1/exp_rcv: Fix some kernel-doc formatting issues RDMA/hw/qib/qib_iba7220: Fix some kernel-doc issues RDMA/hw/hfi1/file_ops: Fix' manage_rcvq()'s 'arg' param RDMA/sw/rdmavt/mr: Fix some issues related to formatting and missing descriptions RDMA/hw/qib/qib_iba7322: Fix a bunch of copy/paste issues RDMA/hw/qib/qib_verbs: Repair some formatting problems RDMA/hw/qib/qib_iba6120: Fix some repeated (copy/paste) kernel-doc issues RDMA/sw/rdmavt/qp: Fix a bunch of kernel-doc misdemeanours RDMA/hw/hfi1/intr: Fix some kernel-doc formatting issues RDMA/sw/rdmavt/srq: Fix a couple of kernel-doc issues RDMA/hw/hfi1/iowait: Demote half-completed kernel-doc and fix formatting issue in another RDMA/hw/hfi1/mad: Demote half-completed kernel-doc header fix another RDMA/hw/hfi1/msix: Add description for 'name' and remove superfluous param 'idx' RDMA/sw/rdmavt/mad: Fix misspelling of 'rvt_process_mad()'s 'in_mad_size' param RDMA/sw/rdmavt/qp: Fix kernel-doc formatting problem RDMA/hw/hfi1/netdev_rx: Fix misdocumentation of the 'start_id' param RDMA/hw/hfi1/pcie: Demote kernel-doc abuses RDMA/hw/hfi1/pio_copy: Provide entry for 'pio_copy()'s 'dd' param RDMA/hw/hfi1/rc: Fix a few function documentation issues RDMA/hw/hfi1/qp: Fix some formatting issues and demote kernel-doc abuse RDMA/hw/hfi1/ruc: Fix a small formatting and description issues RDMA/hw/hfi1/sdma: Fix misnaming of 'sdma_send_txlist()'s 'count_out' param RDMA/hw/hfi1/tid_rdma: Fix a plethora of kernel-doc issues RDMA/hw/hfi1/uc: Fix a little doc-rot RDMA/hw/hfi1/ud: Fix a little more doc-rot RDMA/hw/hfi1/user_exp_rcv: Demote half-documented and kernel-doc abuses RDMA/hw/hfi1/verbs: Demote non-conforming doc header and fix a misspelling RDMA/hw/hfi1/rc: Demote incorrectly populated kernel-doc header Leon Romanovsky (1): RDMA/core: Fix kernel doc warnings for ib_port_immutable_read() Lijun Ou (1): RDMA/hns: Disable RQ inline by default Maor Gottlieb (1): tools/testing/scatterlist: Fix overflow of max segment size Mark Bloch (1): RDMA/mlx5: Allow creating all QPs even when non RDMA profile is used Max Gurtovoy (7): IB/isert: Remove unneeded new lines IB/isert: Remove unneeded semicolon IB/isert: Simplify signature cap check IB/iser: Remove unneeded semicolons IB/iser: Protect iscsi_max_lun module param using callback IB/iser: Enforce iser_max_sectors to be greater than 0 IB/iser: Simplify prot_caps setting Md Haris Iqbal (1): RDMA/rtrs: Only allow addition of path to an already established session Nicolas Morey-Chaisemartin (1): RDMA/srp: Fix support for unpopulated and unbalanced NUMA nodes Parav Pandit (12): IB/mlx5: Add mutex destroy call to cap_mask_mutex mutex IB/mlx5: Make function static IB/mlx5: Return appropriate error code instead of ENOMEM IB/cm: Avoid a loop when device has 255 ports IB/mlx4: Use port iterator and validation APIs IB/core: Use valid port number to check link layer IB/mlx5: Support default partition key for representor port IB/mlx5: Move mlx5_port_caps from mlx5_core_dev to mlx5_ib_dev IB/mlx5: Avoid calling query device for reading pkey table length IB/mlx5: Improve query port for representor port RDMA/core: Introduce and use API to read port immutable data IB/mlx5: Use rdma_for_each_port for port iteration Patrisious Haddad (2): RDMA/nldev: Return an error message on failure to turn auto mode RDMA/mlx5: Support 400Gbps IB rate in mlx5 driver Sebastian Andrzej Siewior (1): RDMA/qedr: Remove in_irq() usage from debug output Selvin Xavier (2): RDMA/bnxt_re: Code refactor while populating user MRs RDMA/bnxt_re: Allow bigger MR creation Shay Drory (2): IB/umad: Return EIO in case of when device disassociated IB/umad: Return EPOLLERR in case of when device disassociated Tal Gilboa (1): RDMA/mlx5: Allow CQ creation without attached EQs Tom Rix (2): RDMA/hns: remove h from printk format specifier RDMA/hfi1: remove h from printk format specifier Weihang Li (3): RDMA/pvrdma: Replace spin_lock_irqsave with spin_lock in hard IRQ RDMA/hns: Avoid filling sgid index when modifying QP to RTR RDMA/hns: Fix type of sq_signal_bits Wenpeng Liang (8): RDMA/hns: Bugfix for checking whether the srq is full when post wr RDMA/hns: Force srq_limit to 0 when creating SRQ RDMA/hns: Fixed wrong judgments in the goto branch RDMA/hns: Remove the reserved WQE of SRQ RDMA/hns: Refactor hns_roce_create_srq() RDMA/hns: Refactor code about SRQ Context RDMA/hns: Refactor hns_roce_v2_post_srq_recv() RDMA/hns: Add verification of QP type when post_recv Xi Wang (4): RDMA/hns: Refactor the MTR creation flow RDMA/hns: Refactor post recv flow RDMA/hns: Clear remaining unused sges when post_recv RDMA/hns: Add mapped page count checking for MTR Xiao Yang (2): RDMA/rxe: Add check for supported QP types RDMA/uverbs: Don't set rcq for a QP if qp_type is IB_QPT_XRC_INI Xinhao Liu (2): RDMA/hns: Remove some magic numbers RDMA/hns: Delete redundant judgment when preparing descriptors Yangyang Li (1): RDMA/hns: Create CQ with selected CQN for bank load balance Yishai Hadas (3): RDMA/mlx5: Use the correct obj_id upon DEVX TIR creation RDMA/mlx5: Use strict get/set operations for obj_id RDMA/mlx5: Cleanup the synchronize_srcu() from the ODP flow Yixian Liu (1): RDMA/hns: Remove unnecessary wrap around for EQ's consumer index Yixing Liu (3): RDMA/hns: Add support of direct wqe RDMA/hns: Skip qp_flow_control_init() for HIP09 RDMA/hns: Adjust definition of FRMR fields Zheng Yongjun (3): RDMA: Convert comma to semicolon RDMA/cma: Delete useless kfree code RDMA: Use kzalloc for allocating only one thing drivers/infiniband/Kconfig | 1 + drivers/infiniband/core/Makefile | 2 +- drivers/infiniband/core/cache.c | 9 +- drivers/infiniband/core/cm.c | 8 +- drivers/infiniband/core/cma.c | 81 +-- drivers/infiniband/core/cma_configfs.c | 12 +- drivers/infiniband/core/counters.c | 78 +-- drivers/infiniband/core/device.c | 23 +- drivers/infiniband/core/iwpm_msg.c | 16 +- drivers/infiniband/core/iwpm_util.c | 6 +- drivers/infiniband/core/multicast.c | 1 + drivers/infiniband/core/nldev.c | 4 +- drivers/infiniband/core/restrack.c | 4 +- drivers/infiniband/core/roce_gid_mgmt.c | 2 +- drivers/infiniband/core/rw.c | 2 +- drivers/infiniband/core/sa_query.c | 26 +- drivers/infiniband/core/umem.c | 3 + drivers/infiniband/core/umem_dmabuf.c | 174 ++++++ drivers/infiniband/core/user_mad.c | 17 +- drivers/infiniband/core/uverbs_cmd.c | 2 +- drivers/infiniband/core/uverbs_std_types_mr.c | 117 +++- drivers/infiniband/core/verbs.c | 4 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 49 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 29 +- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 2 +- drivers/infiniband/hw/cxgb4/restrack.c | 2 +- drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 25 +- drivers/infiniband/hw/efa/efa_admin_defs.h | 4 +- drivers/infiniband/hw/efa/efa_com.c | 33 +- drivers/infiniband/hw/hfi1/chip.c | 46 +- drivers/infiniband/hw/hfi1/exp_rcv.c | 8 +- drivers/infiniband/hw/hfi1/file_ops.c | 2 +- drivers/infiniband/hw/hfi1/intr.c | 16 +- drivers/infiniband/hw/hfi1/iowait.c | 4 +- drivers/infiniband/hw/hfi1/mad.c | 4 +- drivers/infiniband/hw/hfi1/msix.c | 2 +- drivers/infiniband/hw/hfi1/netdev_rx.c | 2 +- drivers/infiniband/hw/hfi1/pcie.c | 4 +- drivers/infiniband/hw/hfi1/pio_copy.c | 1 + drivers/infiniband/hw/hfi1/qp.c | 14 +- drivers/infiniband/hw/hfi1/qsfp.c | 4 +- drivers/infiniband/hw/hfi1/rc.c | 7 +- drivers/infiniband/hw/hfi1/ruc.c | 5 +- drivers/infiniband/hw/hfi1/sdma.c | 12 +- drivers/infiniband/hw/hfi1/tid_rdma.c | 47 +- drivers/infiniband/hw/hfi1/uc.c | 8 +- drivers/infiniband/hw/hfi1/ud.c | 8 +- drivers/infiniband/hw/hfi1/user_exp_rcv.c | 10 +- drivers/infiniband/hw/hfi1/verbs.c | 6 +- drivers/infiniband/hw/hns/hns_roce_common.h | 26 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 116 +++- drivers/infiniband/hw/hns/hns_roce_device.h | 82 +-- drivers/infiniband/hw/hns/hns_roce_hem.c | 9 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 33 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 43 ++ drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 791 ++++++++++++------------ drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 141 ++++- drivers/infiniband/hw/hns/hns_roce_main.c | 30 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 458 ++++++-------- drivers/infiniband/hw/hns/hns_roce_qp.c | 38 +- drivers/infiniband/hw/hns/hns_roce_srq.c | 331 +++++----- drivers/infiniband/hw/i40iw/i40iw_cm.c | 21 +- drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 18 +- drivers/infiniband/hw/i40iw/i40iw_hmc.c | 4 +- drivers/infiniband/hw/i40iw/i40iw_hw.c | 4 +- drivers/infiniband/hw/i40iw/i40iw_main.c | 13 +- drivers/infiniband/hw/i40iw/i40iw_pble.c | 5 +- drivers/infiniband/hw/i40iw/i40iw_puda.c | 13 +- drivers/infiniband/hw/i40iw/i40iw_uk.c | 5 +- drivers/infiniband/hw/i40iw/i40iw_utils.c | 22 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 19 +- drivers/infiniband/hw/i40iw/i40iw_virtchnl.c | 19 +- drivers/infiniband/hw/mlx4/main.c | 2 +- drivers/infiniband/hw/mlx4/sysfs.c | 4 +- drivers/infiniband/hw/mlx5/devx.c | 227 +++++-- drivers/infiniband/hw/mlx5/mad.c | 14 +- drivers/infiniband/hw/mlx5/main.c | 147 ++--- drivers/infiniband/hw/mlx5/mlx5_ib.h | 60 +- drivers/infiniband/hw/mlx5/mr.c | 137 +++- drivers/infiniband/hw/mlx5/odp.c | 325 +++++----- drivers/infiniband/hw/mlx5/qp.c | 160 ++++- drivers/infiniband/hw/mlx5/wr.c | 2 +- drivers/infiniband/hw/qedr/qedr.h | 8 +- drivers/infiniband/hw/qedr/qedr_roce_cm.c | 4 +- drivers/infiniband/hw/qib/qib_driver.c | 2 +- drivers/infiniband/hw/qib/qib_eeprom.c | 4 +- drivers/infiniband/hw/qib/qib_iba6120.c | 18 +- drivers/infiniband/hw/qib/qib_iba7220.c | 16 +- drivers/infiniband/hw/qib/qib_iba7322.c | 14 +- drivers/infiniband/hw/qib/qib_intr.c | 16 +- drivers/infiniband/hw/qib/qib_mad.c | 10 +- drivers/infiniband/hw/qib/qib_pcie.c | 2 +- drivers/infiniband/hw/qib/qib_qp.c | 12 +- drivers/infiniband/hw/qib/qib_rc.c | 5 +- drivers/infiniband/hw/qib/qib_twsi.c | 1 + drivers/infiniband/hw/qib/qib_tx.c | 1 + drivers/infiniband/hw/qib/qib_uc.c | 1 + drivers/infiniband/hw/qib/qib_ud.c | 1 + drivers/infiniband/hw/qib/qib_user_pages.c | 2 +- drivers/infiniband/hw/qib/qib_verbs.c | 6 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 5 +- drivers/infiniband/sw/rdmavt/cq.c | 2 +- drivers/infiniband/sw/rdmavt/mad.c | 7 +- drivers/infiniband/sw/rdmavt/mcast.c | 2 +- drivers/infiniband/sw/rdmavt/mr.c | 21 +- drivers/infiniband/sw/rdmavt/qp.c | 34 +- drivers/infiniband/sw/rdmavt/srq.c | 7 +- drivers/infiniband/sw/rdmavt/vt.c | 2 +- drivers/infiniband/sw/rxe/rxe_comp.c | 49 +- drivers/infiniband/sw/rxe/rxe_hdr.h | 178 +++--- drivers/infiniband/sw/rxe/rxe_mcast.c | 64 +- drivers/infiniband/sw/rxe/rxe_net.c | 24 +- drivers/infiniband/sw/rxe/rxe_pool.c | 300 +++++---- drivers/infiniband/sw/rxe/rxe_pool.h | 103 ++- drivers/infiniband/sw/rxe/rxe_qp.c | 11 + drivers/infiniband/sw/rxe/rxe_recv.c | 40 +- drivers/infiniband/sw/rxe/rxe_req.c | 1 - drivers/infiniband/sw/rxe/rxe_resp.c | 6 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 68 +- drivers/infiniband/sw/siw/siw.h | 2 +- drivers/infiniband/sw/siw/siw_main.c | 4 +- drivers/infiniband/sw/siw/siw_qp.c | 271 ++++---- drivers/infiniband/sw/siw/siw_qp_rx.c | 26 +- drivers/infiniband/sw/siw/siw_qp_tx.c | 4 +- drivers/infiniband/sw/siw/siw_verbs.c | 20 +- drivers/infiniband/ulp/ipoib/ipoib.h | 1 - drivers/infiniband/ulp/ipoib/ipoib_main.c | 2 - drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 15 +- drivers/infiniband/ulp/iser/iscsi_iser.c | 53 +- drivers/infiniband/ulp/iser/iser_memory.c | 3 +- drivers/infiniband/ulp/iser/iser_verbs.c | 2 +- drivers/infiniband/ulp/isert/ib_isert.c | 10 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 2 +- drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 11 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 127 ++-- drivers/infiniband/ulp/rtrs/rtrs-clt.h | 4 +- drivers/infiniband/ulp/rtrs/rtrs-pri.h | 9 +- drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 9 +- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 123 ++-- drivers/infiniband/ulp/rtrs/rtrs.c | 32 +- drivers/infiniband/ulp/srp/ib_srp.c | 110 ++-- drivers/net/ethernet/mellanox/mlx5/core/mr.c | 1 + include/linux/mlx5/driver.h | 10 +- include/linux/mlx5/mlx5_ifc.h | 5 +- include/rdma/ib_sa.h | 4 - include/rdma/ib_umem.h | 48 +- include/rdma/ib_verbs.h | 9 +- include/rdma/rdma_counter.h | 3 +- include/uapi/rdma/ib_user_ioctl_cmds.h | 14 + tools/testing/scatterlist/main.c | 1 - 150 files changed, 3580 insertions(+), 2667 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Mon, 22 Feb 2021 10:59:21 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/3672ac8ac0d8bece188f82c48770bbe40f234f1e Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1992 bytes --] Hi Linus, Nothing special here, though Bob's regression fixes for rxe would have made it before the rc cycle had there not been such strong winter weather! Thanks, Jason The following changes since commit fe07bfda2fb9cdef8a4d4008a409bb02f35f1bd8: Linux 5.12-rc1 (2021-02-28 16:05:19 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 545c4ab463c2224557e56b2609f88ed5be265405: RDMA/rxe: Fix errant WARN_ONCE in rxe_completer() (2021-03-05 14:15:22 -0400) ---------------------------------------------------------------- RDMA 5.12 first rc pull request - Fix corner cases in the rxe reference counting cleanup that are causing regressions in blktests for SRP - Two kdoc fixes so W=1 is clean - Missing error return in error unwind for mlx5 - Wrong lock type nesting in IB CM ---------------------------------------------------------------- Bob Pearson (3): RDMA/rxe: Fix missed IB reference counting in loopback RDMA/rxe: Fix extra deref in rxe_rcv_mcast_pkt() RDMA/rxe: Fix errant WARN_ONCE in rxe_completer() Julian Braha (1): RDMA/rxe: Fix missing kconfig dependency on CRYPTO Leon Romanovsky (2): RDMA/mlx5: Set correct kernel-doc identifier RDMA/uverbs: Fix kernel-doc warning of _uverbs_alloc Saeed Mahameed (1): RDMA/cm: Fix IRQ restore in ib_send_cm_sidr_rep YueHaibing (1): IB/mlx5: Add missing error code drivers/infiniband/core/cm.c | 5 +-- drivers/infiniband/core/uverbs_ioctl.c | 2 +- drivers/infiniband/hw/mlx5/devx.c | 4 ++- drivers/infiniband/hw/mlx5/odp.c | 2 +- drivers/infiniband/sw/rxe/Kconfig | 1 + drivers/infiniband/sw/rxe/rxe_comp.c | 55 +++++++++++++------------------ drivers/infiniband/sw/rxe/rxe_net.c | 10 +++++- drivers/infiniband/sw/rxe/rxe_recv.c | 59 ++++++++++++++++++++-------------- 8 files changed, 76 insertions(+), 62 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 5 Mar 2021 19:35:41 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/f3ed4de6cc8327e4ef79e6c7892b2b5cbbc02405 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1286 bytes --] Hi Linus, Not much going on, just some small bug fixes Thanks, Jason The following changes since commit a38fd8748464831584a19438cbb3082b5a2dab15: Linux 5.12-rc2 (2021-03-05 17:33:41 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 3408be145a5d6418ff955fe5badde652be90e700: RDMA/cxgb4: Fix adapter LE hash errors while destroying ipv6 listening server (2021-03-25 10:25:58 -0300) ---------------------------------------------------------------- RDMA 5.12 second rc pull request - Typo causing a regression in mlx5 devx - Regression in the recent hns rework causing the HW to get out of sync - Longstanding cxgb4 adaptor crash when destroying cm ids ---------------------------------------------------------------- Lang Cheng (1): RDMA/hns: Fix bug during CMDQ initialization Mark Zhang (1): RDMA/mlx5: Fix typo in destroy_mkey inbox Potnuri Bharat Teja (1): RDMA/cxgb4: Fix adapter LE hash errors while destroying ipv6 listening server drivers/infiniband/hw/cxgb4/cm.c | 4 ++-- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 4 +++- drivers/infiniband/hw/mlx5/devx.c | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 25 Mar 2021 15:04:21 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/2ba9bea2d3682361f0f22f68a400bcee4248c205 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1866 bytes --] Hi Linus, Nothing very exciting here, just a few small bug fixes. No red flags for this release have shown up. Thanks, Jason The following changes since commit a5e13c6df0e41702d2b2c77c8ad41677ebb065b3: Linux 5.12-rc5 (2021-03-28 15:48:16 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to d1c803a9ccd7bd3aff5e989ccfb39ed3b799b975: RDMA/addr: Be strict with gid size (2021-04-08 16:14:56 -0300) ---------------------------------------------------------------- RDMA 5.12 third rc pull request Several bug fixes: - Regression from the last pull request in cxgb4 related to the ipv6 fixes - KASAN crasher in rtrs - oops in hfi1 related to a buggy BIOS - Userspace could oops qedr's XRC support - Uninitialized memory when parsing a LS_NLA_TYPE_DGID netlink message ---------------------------------------------------------------- Kamal Heib (1): RDMA/qedr: Fix kernel panic when trying to access recv_cq Leon Romanovsky (1): RDMA/addr: Be strict with gid size Md Haris Iqbal (1): RDMA/rtrs-clt: Close rtrs client conn before destroying rtrs clt session files Mike Marciniszyn (1): IB/hfi1: Fix probe time panic when AIP is enabled with a buggy BIOS Potnuri Bharat Teja (1): RDMA/cxgb4: check for ipv6 address properly while destroying listener drivers/infiniband/core/addr.c | 4 +++- drivers/infiniband/hw/cxgb4/cm.c | 3 ++- drivers/infiniband/hw/hfi1/affinity.c | 21 +++++---------------- drivers/infiniband/hw/hfi1/hfi.h | 1 + drivers/infiniband/hw/hfi1/init.c | 10 +++++++++- drivers/infiniband/hw/hfi1/netdev_rx.c | 3 +-- drivers/infiniband/hw/qedr/verbs.c | 3 ++- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 2 +- 8 files changed, 24 insertions(+), 23 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 8 Apr 2021 16:51:27 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/4fa56ad0d12e24df768c98bffe9039f915d1bc02 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 25222 bytes --] Hi Linus, These are the proposed RDMA patches for 5.13. We are continuing to see small cycles in RDMA, this may be a new structural normal. This time hns and rtrs lead the pack in change volume, but must is cleaning not features. Thanks, Jason The following changes since commit e71b75f73763d88665b3a19c5a4d52d559aa7732: net/mlx5: Implement sriov_get_vf_total_msix/count() callbacks (2021-04-04 10:30:38 +0300) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 6da7bda36388ae00822f732c11febfe2ebbb5544: IB/qib: Remove redundant assignment to ret (2021-04-30 10:58:15 -0300) ---------------------------------------------------------------- RDMA merge window pull request This is significantly bug fixes and general cleanups. The noteworthy new features are fairly small: - XRC support for HNS and improves RQ operations - Bug fixes and updates for hns, mlx5, bnxt_re, hfi1, i40iw, rxe, siw and qib - Quite a few general cleanups on spelling, error handling, static checker detections, etc - Increase the number of device ports supported beyond 255. High port count software switches now exist - Several bug fixes for rtrs - mlx5 Device Memory support for host controlled atomics - Report SRQ tables through to rdma-tool ---------------------------------------------------------------- Bernard Metzler (1): RDMA/iwcm: Allow AFONLY binding for IPv6 addresses Bhaskar Chowdhury (4): RDMA/include: Mundane typo fixes throughout the file IB/hns: Fix mispelling of subsystem IB/hfi1: Fix a typo RDMA: Fix a typo Bob Pearson (3): RDMA/rxe: Split MEM into MR and MW RDMA/rxe: Fix missing acks from responder RDMA/rxe: Fix a bug in rxe_fill_ip_info() Christophe JAILLET (1): RDMA/mlx4: Remove an unused variable Danil Kipnis (1): MAINTAINERS: Change maintainer for rtrs module Gal Pressman (4): RDMA/core: Remove unused req_ncomp_notif device operation RDMA/cma: Remove unused leftovers in cma code RDMA/efa: Use strscpy instead of strlcpy RDMA/nldev: Add copy-on-fork attribute to get sys command Gioh Kim (9): RDMA/rtrs: New function converting rtrs_addr to string RDMA/rtrs-srv: Report temporary sessname for error message RDMA/rtrs-clt: destroy sysfs after removing session from active list RDMA/rtrs-clt: Add a minimum latency multipath policy RDMA/rtrs-clt: New sysfs attribute to print the latency of each path Documentation/ABI/rtrs-clt: Add descriptions for min-latency policy RDMA/rtrs-clt: Print more info when an error happens RDMA/rtrs-srv: More debugging info when fail to send reply RDMA/rtrs-clt: Simplify error message Guoqing Jiang (4): RDMA/rtrs-clt: Remove redundant code from rtrs_clt_read_req RDMA/rtrs: Kill the put label in rtrs_srv_create_once_sysfs_root_folders RDMA/rtrs: Remove sessname and sess_kobj from rtrs_attrs RDMA/rtrs: Cleanup the code in rtrs_srv_rdma_cm_handler Håkon Bugge (4): RDMA/core: Fix corrupted SL on passive side IB/cma: Introduce rdma_set_min_rnr_timer() rds: ib: Remove two ib_modify_qp() calls RDMA/core: Unify RoCE check and re-factor code Jack Wang (5): RDMA/rtrs: Use new shared CQ mechanism RDMA/rtrs-clt: Use rdma_event_msg in log RDMA/rtrs: Cleanup unused 's' variable in __alloc_sess RDMA/rtrs-clt: Cap max_io_size RDMA/ipoib: Print a message if only child interface is UP Jason Gunthorpe (7): RDMA/mlx5: Zero out ODP related items in the mlx5_ib_mr RDMA/mlx5: Use a union inside mlx5_ib_mr RDMA/mlx5: Consolidate MR destruction to mlx5_ib_dereg_mr() RDMA/mlx5: Rename mlx5_mr_cache_invalidate() to revoke_mr() RDMA/mlx5: Allow larger pages in DevX umem Merge branch 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux Merge branch 'mlx5_memic_ops' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux Jiapeng Chong (2): RDMA/qib: Remove useless qib_read_ureg() function IB/hfi1: Remove redundant variable rcd Kaike Wan (1): IB/hfi1: Remove unused function Kamal Heib (1): RDMA/rxe: Remove rxe_dma_device declaration Lang Cheng (5): RDMA/hns: Use new SQ doorbell register for HIP09 RDMA/hns: Support to query firmware version RDMA/hns: Enable all CMDQ context RDMA/hns: Support more return types of command queue RDMA/hns: Prevent le32 from being implicitly converted to u32 Leon Romanovsky (6): RDMA/mlx5: Add missing returned error check of mlx5_ib_dereg_mr RDMA: Fix kernel-doc compilation warnings RDMA: Delete not-used static inline functions RDMA/bnxt_re: Depend on bnxt ethernet driver and not blindly select it RDMA/bnxt_re: Create direct symbol link between bnxt modules RDMA/bnxt_re: Get rid of custom module reference counting Lv Yunlong (3): IB/isert: Fix a use after free in isert_connect_request RDMA/siw: Fix a use after free in siw_alloc_mr RDMA/bnxt_re: Fix a double free in bnxt_qplib_alloc_res Manjunath Patil (1): IB/ipoib: Improve latency in ipoib/cm connection formation Maor Gottlieb (10): RDMA/mlx5: Fix query RoCE port RDMA/mlx5: Fix drop packet rule in egress table net/mlx5: Add MEMIC operations related bits RDMA/uverbs: Make UVERBS_OBJECT_METHODS to consider line number RDMA/mlx5: Move all DM logic to separate file RDMA/mlx5: Re-organize the DM code RDMA/mlx5: Add support to MODIFY_MEMIC command RDMA/mlx5: Add support in MEMIC operations RDMA/mlx5: Expose UAPI to query DM RDMA/mlx5: Fix type assignment for ICM DM Mark Bloch (2): RDMA: Support more than 255 rdma ports RDMA/mlx5: Expose private query port Mark Zhang (1): RDMA/mlx5: Fix mlx5 rates to IB rates map Mike Marciniszyn (8): IB/hfi1: Add AIP tx traces IB/{ipoib,hfi1}: Add a timeout handler for rdma_netdev IB/hfi1: Correct oversized ring allocation IB/hfi1: Use napi_schedule_irqoff() for tx napi IB/hfi1: Remove indirect call to hfi1_ipoib_send_dma() IB/hfi1: Add additional usdma traces IB/hfi1: Use kzalloc() for mmu_rb_handler allocation IB/hfi1: Rework AIP and VNIC dummy netdev usage Neta Ostrovsky (4): RDMA/nldev: Return context information RDMA/restrack: Add support to get resource tracking for SRQ RDMA/nldev: Return SRQ information RDMA/nldev: Add QP numbers to SRQ information Parav Pandit (2): IB/mlx5: Set right RoCE l3 type and roce version while deleting GID RDMA/cma: Skip device which doesn't support CM Patrisious Haddad (1): RDMA/uverbs: Refactor rdma_counter_set_auto_mode and __counter_set_mode Potnuri Bharat Teja (1): RDMA/cxgb4: add missing qpid increment Praveen Kumar Kannoju (1): IB/mlx5: Reduce max order of memory allocated for xlt update Ruiqi Gong (1): RDMA/hns: Fix a spelling mistake in hns_roce_hw_v1.c Selvin Xavier (1): RDMA/bnxt_re: Move device to error state upon device crash Shay Drory (3): RDMA/mlx5: Create ODP EQ only when ODP MR is created RDMA/mlx5: Set ODP caps only if device profile support ODP RDMA/core: Add CM to restrack after successful attachment to a device Sindhu Devale (1): RDMA/i40iw: Fix error unwinding when i40iw_hmc_sd_one fails Tang Yizhou (1): RDMA/iw_cxgb4: Use DEFINE_SPINLOCK() for spinlock Wan Jiabing (2): RDMA/iser: struct iscsi_iser_task is declared twice IB/ipoib: Remove unnecessary struct declaration Wang Wensheng (4): RDMA/qedr: Fix error return code in qedr_iw_connect() IB/hfi1: Fix error return code in parse_platform_config() RDMA/bnxt_re: Fix error return code in bnxt_qplib_cq_process_terminal() RDMA/srpt: Fix error return code in srpt_cm_req_recv() Wei Xu (5): RDMA/hns: Support query information of functions from FW RDMA/hns: Query the number of functions supported by the PF RDMA/hns: Reserve the resource for the VFs RDMA/hns: Set parameters of all the functions belong to a PF RDMA/hns: Enable RoCE on virtual functions Wei Yongjun (1): RDMA/hns: Use GFP_ATOMIC under spin lock Weihang Li (5): RDMA/hns: Fix memory corruption when allocating XRCDN MAINTAINERS: remove Xavier as maintainer of HISILICON ROCE DRIVER RDMA/hns: Refactor hns_roce_v2_poll_one() RDMA/hns: Avoid enabling RQ inline on UD RDMA/hns: Fix missing assignment of max_inline_data Wenpeng Liang (11): RDMA/hns: Add support for XRC on HIP09 RDMA/hns: Modify prints for mailbox and command queue RDMA/hns: Delete redundant abnormal interrupt status RDMA/hns: Remove unsupported QP types RDMA/hns: Add XRC subtype in QPC and XRC type in SRQC RDMA/core: Print the function name by __func__ instead of an fixed string RDMA/core: Remove the redundant return statements RDMA/core: Add necessary spaces RDMA/core: Remove redundant spaces RDMA/core: Correct format of braces RDMA/core: Correct format of block comments Xi Wang (5): RDMA/hns: Refactor reset state checking flow RDMA/hns: Reorganize process of setting HEM RDMA/hns: Simplify command fields for HEM base address configuration RDMA/hns: Simplify function's resource related command RDMA/hns: Remove duplicated hem page size config code Yang Li (1): IB/qib: Remove redundant assignment to ret Yangyang Li (4): RDMA/core: Correct misspellings of two words in comments RDMA/hns: Support congestion control type selection according to the FW RDMA/hns: Delete redundant condition judgment related to eq RDMA/hns: Delete unused members in the structure hns_roce_hw Ye Bin (1): RDMA/i40iw: Use DEFINE_SPINLOCK() for spinlock Yishai Hadas (2): IB/core: Drop WARN_ON() from ib_umem_find_best_pgsz() IB/core: Split uverbs_get_const/default to consider target type Yixian Liu (4): RDMA/hns: Support configuring doorbell mode of RQ and CQ RDMA/hns: Reorganize doorbell update interfaces for all queues RDMA/core: Make the wc status prompt message clearer RDMA/hns: Remove unnecessary flush operation for workqueue Yixing Liu (2): RDMA/hns: Reorganize hns_roce_create_cq() RDMA/hns: Simplify the function config_eqc() YueHaibing (1): RDMA/uverbs: Fix -Wunused-function warning Documentation/ABI/testing/sysfs-class-rtrs-client | 12 + .../bindings/infiniband/hisilicon-hns-roce.txt | 2 +- MAINTAINERS | 5 +- drivers/infiniband/core/cache.c | 87 +- drivers/infiniband/core/cm.c | 58 +- drivers/infiniband/core/cm_msgs.h | 4 +- drivers/infiniband/core/cma.c | 116 +- drivers/infiniband/core/cma_configfs.c | 8 +- drivers/infiniband/core/cma_priv.h | 10 +- drivers/infiniband/core/core_priv.h | 28 +- drivers/infiniband/core/counters.c | 62 +- drivers/infiniband/core/device.c | 37 +- drivers/infiniband/core/iwpm_msg.c | 3 +- drivers/infiniband/core/mad.c | 79 +- drivers/infiniband/core/mad_rmpp.c | 10 +- drivers/infiniband/core/multicast.c | 8 +- drivers/infiniband/core/nldev.c | 176 +- drivers/infiniband/core/opa_smi.h | 4 +- drivers/infiniband/core/rdma_core.c | 4 +- drivers/infiniband/core/restrack.c | 3 + drivers/infiniband/core/roce_gid_mgmt.c | 52 +- drivers/infiniband/core/rw.c | 25 +- drivers/infiniband/core/sa.h | 2 +- drivers/infiniband/core/sa_query.c | 22 +- drivers/infiniband/core/security.c | 8 +- drivers/infiniband/core/smi.c | 12 +- drivers/infiniband/core/smi.h | 4 +- drivers/infiniband/core/sysfs.c | 29 +- drivers/infiniband/core/ucma.c | 8 +- drivers/infiniband/core/umem.c | 8 +- drivers/infiniband/core/umem_dmabuf.c | 4 + drivers/infiniband/core/user_mad.c | 34 +- drivers/infiniband/core/uverbs_cmd.c | 25 +- drivers/infiniband/core/uverbs_ioctl.c | 32 +- drivers/infiniband/core/verbs.c | 43 +- drivers/infiniband/hw/bnxt_re/Kconfig | 4 +- drivers/infiniband/hw/bnxt_re/bnxt_re.h | 1 + drivers/infiniband/hw/bnxt_re/hw_counters.c | 4 +- drivers/infiniband/hw/bnxt_re/hw_counters.h | 4 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 10 +- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 10 +- drivers/infiniband/hw/bnxt_re/main.c | 63 +- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 1 + drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 4 + drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 2 + drivers/infiniband/hw/bnxt_re/qplib_res.c | 1 + drivers/infiniband/hw/cxgb4/cm.c | 3 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 11 - drivers/infiniband/hw/cxgb4/provider.c | 12 +- drivers/infiniband/hw/cxgb4/resource.c | 2 +- drivers/infiniband/hw/cxgb4/t4.h | 33 - drivers/infiniband/hw/efa/efa.h | 14 +- drivers/infiniband/hw/efa/efa_main.c | 10 +- drivers/infiniband/hw/efa/efa_verbs.c | 14 +- drivers/infiniband/hw/hfi1/affinity.c | 8 +- drivers/infiniband/hw/hfi1/chip.c | 10 +- drivers/infiniband/hw/hfi1/chip.h | 5 - drivers/infiniband/hw/hfi1/driver.c | 2 +- drivers/infiniband/hw/hfi1/exp_rcv.c | 6 +- drivers/infiniband/hw/hfi1/firmware.c | 1 + drivers/infiniband/hw/hfi1/hfi.h | 20 +- drivers/infiniband/hw/hfi1/init.c | 7 +- drivers/infiniband/hw/hfi1/iowait.h | 2 +- drivers/infiniband/hw/hfi1/ipoib.h | 15 +- drivers/infiniband/hw/hfi1/ipoib_main.c | 13 +- drivers/infiniband/hw/hfi1/ipoib_tx.c | 71 +- drivers/infiniband/hw/hfi1/mad.c | 128 +- drivers/infiniband/hw/hfi1/mad.h | 2 +- drivers/infiniband/hw/hfi1/mmu_rb.c | 2 +- drivers/infiniband/hw/hfi1/msix.c | 12 +- drivers/infiniband/hw/hfi1/netdev.h | 39 +- drivers/infiniband/hw/hfi1/netdev_rx.c | 172 +- drivers/infiniband/hw/hfi1/sdma.c | 2 +- drivers/infiniband/hw/hfi1/sdma.h | 18 - drivers/infiniband/hw/hfi1/sysfs.c | 2 +- drivers/infiniband/hw/hfi1/trace_tx.h | 179 ++ drivers/infiniband/hw/hfi1/user_sdma.c | 12 +- drivers/infiniband/hw/hfi1/user_sdma.h | 1 + drivers/infiniband/hw/hfi1/verbs.c | 8 +- drivers/infiniband/hw/hfi1/verbs.h | 4 +- drivers/infiniband/hw/hfi1/verbs_txreq.h | 5 - drivers/infiniband/hw/hfi1/vnic.h | 2 +- drivers/infiniband/hw/hfi1/vnic_main.c | 2 +- drivers/infiniband/hw/hns/hns_roce_alloc.c | 3 + drivers/infiniband/hw/hns/hns_roce_cmd.c | 114 +- drivers/infiniband/hw/hns/hns_roce_common.h | 25 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 92 +- drivers/infiniband/hw/hns/hns_roce_device.h | 91 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 55 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 2267 +++++++++++--------- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 578 ++--- drivers/infiniband/hw/hns/hns_roce_main.c | 74 +- drivers/infiniband/hw/hns/hns_roce_pd.c | 59 + drivers/infiniband/hw/hns/hns_roce_qp.c | 124 +- drivers/infiniband/hw/hns/hns_roce_srq.c | 5 +- drivers/infiniband/hw/i40iw/i40iw.h | 9 - drivers/infiniband/hw/i40iw/i40iw_cm.c | 4 +- drivers/infiniband/hw/i40iw/i40iw_hmc.c | 4 +- drivers/infiniband/hw/i40iw/i40iw_main.c | 5 +- drivers/infiniband/hw/i40iw/i40iw_osdep.h | 22 - drivers/infiniband/hw/i40iw/i40iw_pble.c | 6 +- drivers/infiniband/hw/i40iw/i40iw_puda.c | 2 +- drivers/infiniband/hw/i40iw/i40iw_utils.c | 2 +- drivers/infiniband/hw/i40iw/i40iw_verbs.c | 14 +- drivers/infiniband/hw/i40iw/i40iw_virtchnl.c | 2 +- drivers/infiniband/hw/mlx4/alias_GUID.c | 16 +- drivers/infiniband/hw/mlx4/mad.c | 46 +- drivers/infiniband/hw/mlx4/main.c | 47 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 26 +- drivers/infiniband/hw/mlx4/qp.c | 3 - drivers/infiniband/hw/mlx5/Makefile | 1 + drivers/infiniband/hw/mlx5/cmd.c | 101 - drivers/infiniband/hw/mlx5/cmd.h | 3 - drivers/infiniband/hw/mlx5/cong.c | 8 +- drivers/infiniband/hw/mlx5/counters.c | 10 +- drivers/infiniband/hw/mlx5/counters.h | 2 +- drivers/infiniband/hw/mlx5/devx.c | 64 +- drivers/infiniband/hw/mlx5/dm.c | 587 +++++ drivers/infiniband/hw/mlx5/dm.h | 68 + drivers/infiniband/hw/mlx5/fs.c | 9 +- drivers/infiniband/hw/mlx5/ib_rep.c | 4 +- drivers/infiniband/hw/mlx5/ib_rep.h | 4 +- drivers/infiniband/hw/mlx5/ib_virt.c | 16 +- drivers/infiniband/hw/mlx5/mad.c | 16 +- drivers/infiniband/hw/mlx5/main.c | 343 +-- drivers/infiniband/hw/mlx5/mlx5_ib.h | 182 +- drivers/infiniband/hw/mlx5/mr.c | 163 +- drivers/infiniband/hw/mlx5/odp.c | 185 +- drivers/infiniband/hw/mlx5/qp.c | 17 +- drivers/infiniband/hw/mlx5/std_types.c | 173 ++ drivers/infiniband/hw/mthca/mthca_av.c | 6 +- drivers/infiniband/hw/mthca/mthca_dev.h | 8 +- drivers/infiniband/hw/mthca/mthca_mad.c | 4 +- drivers/infiniband/hw/mthca/mthca_provider.c | 10 +- drivers/infiniband/hw/mthca/mthca_qp.c | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_ah.c | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_ah.h | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 4 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 4 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 7 +- drivers/infiniband/hw/qedr/main.c | 8 +- drivers/infiniband/hw/qedr/qedr_iw_cm.c | 4 +- drivers/infiniband/hw/qedr/verbs.c | 9 +- drivers/infiniband/hw/qedr/verbs.h | 11 +- drivers/infiniband/hw/qib/qib.h | 34 +- drivers/infiniband/hw/qib/qib_common.h | 7 - drivers/infiniband/hw/qib/qib_file_ops.c | 5 +- drivers/infiniband/hw/qib/qib_iba6120.c | 2 +- drivers/infiniband/hw/qib/qib_iba7220.c | 4 +- drivers/infiniband/hw/qib/qib_iba7322.c | 26 +- drivers/infiniband/hw/qib/qib_init.c | 2 +- drivers/infiniband/hw/qib/qib_mad.c | 4 +- drivers/infiniband/hw/qib/qib_qp.c | 4 +- drivers/infiniband/hw/qib/qib_sd7220.c | 1 - drivers/infiniband/hw/qib/qib_sysfs.c | 2 +- drivers/infiniband/hw/qib/qib_verbs.c | 6 +- drivers/infiniband/hw/qib/qib_verbs.h | 6 +- drivers/infiniband/hw/usnic/usnic_ib_main.c | 2 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 6 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 6 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma.h | 10 - drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.c | 12 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 45 +- drivers/infiniband/sw/rdmavt/mad.c | 5 +- drivers/infiniband/sw/rdmavt/mad.h | 2 +- drivers/infiniband/sw/rdmavt/vt.c | 34 +- drivers/infiniband/sw/rdmavt/vt.h | 11 +- drivers/infiniband/sw/rxe/rxe_av.c | 2 +- drivers/infiniband/sw/rxe/rxe_comp.c | 5 +- drivers/infiniband/sw/rxe/rxe_hw_counters.c | 4 +- drivers/infiniband/sw/rxe/rxe_hw_counters.h | 4 +- drivers/infiniband/sw/rxe/rxe_loc.h | 30 +- drivers/infiniband/sw/rxe/rxe_mr.c | 271 ++- drivers/infiniband/sw/rxe/rxe_pool.c | 14 +- drivers/infiniband/sw/rxe/rxe_req.c | 10 +- drivers/infiniband/sw/rxe/rxe_resp.c | 52 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 32 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 60 +- drivers/infiniband/sw/siw/iwarp.h | 13 - drivers/infiniband/sw/siw/siw_cm.c | 19 +- drivers/infiniband/sw/siw/siw_mem.c | 4 +- drivers/infiniband/sw/siw/siw_mem.h | 5 - drivers/infiniband/sw/siw/siw_verbs.c | 8 +- drivers/infiniband/sw/siw/siw_verbs.h | 10 +- drivers/infiniband/ulp/ipoib/ipoib.h | 6 +- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 6 +- drivers/infiniband/ulp/ipoib/ipoib_ib.c | 2 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 26 +- drivers/infiniband/ulp/iser/iscsi_iser.h | 1 - drivers/infiniband/ulp/isert/ib_isert.c | 16 +- drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 48 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 122 +- drivers/infiniband/ulp/rtrs/rtrs-clt.h | 1 + drivers/infiniband/ulp/rtrs/rtrs-pri.h | 3 + drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 20 +- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 36 +- drivers/infiniband/ulp/rtrs/rtrs.c | 35 +- drivers/infiniband/ulp/rtrs/rtrs.h | 3 +- drivers/infiniband/ulp/srpt/ib_srpt.c | 4 +- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 - drivers/net/ethernet/broadcom/bnxt/bnxt.h | 1 - drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 1 + .../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 2 +- drivers/net/ethernet/mellanox/mlx5/core/lib/gid.c | 4 +- include/linux/mlx5/driver.h | 2 +- include/linux/mlx5/mlx5_ifc.h | 42 +- include/rdma/ib_cache.h | 18 +- include/rdma/ib_mad.h | 2 +- include/rdma/ib_sa.h | 15 +- include/rdma/ib_verbs.h | 199 +- include/rdma/iw_cm.h | 1 + include/rdma/rdma_cm.h | 4 +- include/rdma/rdma_counter.h | 16 +- include/rdma/rdma_vt.h | 18 +- include/rdma/restrack.h | 4 + include/rdma/rw.h | 18 +- include/rdma/uverbs_ioctl.h | 81 +- include/rdma/uverbs_named_ioctl.h | 2 +- include/uapi/rdma/hns-abi.h | 2 + include/uapi/rdma/mlx5_user_ioctl_cmds.h | 29 + include/uapi/rdma/mlx5_user_ioctl_verbs.h | 25 + include/uapi/rdma/rdma_netlink.h | 16 + net/rds/ib_cm.c | 35 +- net/rds/rdma_transport.c | 1 + 226 files changed, 5325 insertions(+), 4036 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
On Fri, Apr 30, 2021 at 01:55:27PM -0300, Jason Gunthorpe wrote:
> Hi Linus,
>
> These are the proposed RDMA patches for 5.13.
>
> We are continuing to see small cycles in RDMA, this may be a new
> structural normal.
>
> This time hns and rtrs lead the pack in change volume, but must is
> cleaning not features.
Oh! I forget to include the minor conflict resolution for hfi against v5.12:
@@@ -1402,7 -1408,8 +1402,8 @@@ struct hfi1_devdata
/* Lock to protect IRQ SRC register access */
spinlock_t irq_src_lock;
int vnic_num_vports;
- struct net_device *dummy_netdev;
+ struct hfi1_netdev_rx *netdev_rx;
+ struct hfi1_affinity_node *affinity_entry;
/* Keeps track of IPoIB RSM rule users */
atomic_t ipoib_rsm_usr_num;
Sorry,
Jason
The pull request you sent on Fri, 30 Apr 2021 13:55:27 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/f34b2cf17825d69ae1e227871059ab18c2f57817 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 2039 bytes --] Hi Linus, Nothing exciting here, just the usual trickle of bug fixes. Thanks, Jason The following changes since commit 6efb943b8616ec53a5e444193dccf1af9ad627b5: Linux 5.13-rc1 (2021-05-09 14:17:44 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 463a3f66473b58d71428a1c3ce69ea52c05440e5: RDMA/uverbs: Fix a NULL vs IS_ERR() bug (2021-05-19 15:32:07 -0300) ---------------------------------------------------------------- RDMA first v5.13 rc Pull Request A mixture of small bug fixes, most for longer standing problems: - NULL pointer crash in siw - Various error unwind bugs in siw, rxe, cm - User triggerable errors in uverbs - Minor bugs in mlx5 and rxe drivers ---------------------------------------------------------------- Dan Carpenter (1): RDMA/uverbs: Fix a NULL vs IS_ERR() bug Leon Romanovsky (5): RDMA/siw: Properly check send and receive CQ pointers RDMA/siw: Release xarray entry RDMA/core: Prevent divide-by-zero error triggered by the user RDMA/rxe: Clear all QP fields if creation failed RDMA/rxe: Return CQE error if invalid lkey was supplied Maor Gottlieb (3): RDMA/mlx5: Verify that DM operation is reasonable RDMA/mlx5: Recover from fatal event in dual port mode RDMA/mlx5: Fix query DCT via DEVX Shay Drory (1): RDMA/core: Don't access cm_id after its destruction drivers/infiniband/core/cma.c | 5 +++-- drivers/infiniband/core/uverbs_std_types_device.c | 7 +++++-- drivers/infiniband/hw/mlx5/devx.c | 6 ++---- drivers/infiniband/hw/mlx5/dm.c | 3 +++ drivers/infiniband/hw/mlx5/main.c | 1 + drivers/infiniband/sw/rxe/rxe_comp.c | 16 ++++++++++------ drivers/infiniband/sw/rxe/rxe_qp.c | 7 +++++++ drivers/infiniband/sw/siw/siw_verbs.c | 11 ++++------- 8 files changed, 35 insertions(+), 21 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 20 May 2021 11:37:24 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/f01da525b3de8e59b2656b55d40c60462098651f Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 2298 bytes --] Hi Linus, Nothing very exciting here - only the mlx5/mr.c is fixing something recently introduced. Thanks, Jason The following changes since commit 8124c8a6b35386f73523d27eacb71b5364a68c4c: Linux 5.13-rc4 (2021-05-30 11:58:25 -1000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 2ba0aa2feebda680ecfc3c552e867cf4d1b05a3a: IB/mlx5: Fix initializing CQ fragments buffer (2021-06-10 08:59:34 -0300) ---------------------------------------------------------------- RDMA second v5.13 rc Pull Request A mixture of small bug fixes and a small security issue: - WARN_ON when IPoIB is automatically moved between namespaces - Long standing bug where mlx5 would use the wrong page for the doorbell recovery memory if fork is used - Security fix for mlx4 that disables the timestamp feature - Several crashers for mlx5 - Plug a recent mlx5 memory leak for the sig_mr ---------------------------------------------------------------- Aharon Landau (1): RDMA/mlx5: Delete right entry from MR signature database Alaa Hleihel (1): IB/mlx5: Fix initializing CQ fragments buffer Kamal Heib (1): RDMA/ipoib: Fix warning caused by destroying non-initial netns Maor Gottlieb (1): RDMA: Verify port when creating flow rule Mark Bloch (1): RDMA/mlx5: Block FDB rules when not in switchdev mode Mark Zhang (1): RDMA/mlx5: Use different doorbell memory for different processes Shay Drory (1): RDMA/mlx4: Do not map the core_clock page to user space unless enabled drivers/infiniband/core/uverbs_cmd.c | 5 +++++ drivers/infiniband/hw/mlx4/main.c | 8 +------- drivers/infiniband/hw/mlx5/cq.c | 9 ++++----- drivers/infiniband/hw/mlx5/doorbell.c | 7 ++++++- drivers/infiniband/hw/mlx5/fs.c | 11 ++++++++--- drivers/infiniband/hw/mlx5/mr.c | 4 ++-- drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 1 + drivers/net/ethernet/mellanox/mlx4/fw.c | 3 +++ drivers/net/ethernet/mellanox/mlx4/fw.h | 1 + drivers/net/ethernet/mellanox/mlx4/main.c | 6 ++++++ include/linux/mlx4/device.h | 1 + 11 files changed, 38 insertions(+), 18 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 10 Jun 2021 09:37:45 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/29a877d5768471c5ed97ea967c0ee9436b8c03fc Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 30679 bytes --] Hi Linus, These are the proposed RDMA patches for 5.14. This PR has a very huge diffstat due to finally merging the replacement Intel RDMA driver. I first heard about this project at LPC 2018, which means it took about three years to do this (and at least 10 postings). The new driver is in many ways a rewrite of the old driver and continues to support the old hardware but is now structured to support the new Intel HW as well. Normally a rip and replace shouldn't be done, but Intel believed that this was necessary and have been shipping it already for several years out of tree. There will be some followup patches for this next cycle(s) as several difficult features were not included. Hopefully the several weeks in linux-next cleaned out most of the static checker detections. Otherwise the rest of the PR is fairly typical for RDMA, cleanups and driver changes with HNS leading the pack this time. Thanks, Jason The following changes since commit 13311e74253fe64329390df80bed3f07314ddd61: Linux 5.13-rc7 (2021-06-20 15:03:15 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 3d8287544223a3d2f37981c1f9ffd94d0b5e9ffc: RDMA/core: Always release restrack object (2021-06-29 19:57:18 -0300) ---------------------------------------------------------------- RDMA v5.14 merge window Pull Request This PR contains a replacement driver for Intel iWarp hardware. This new driver supports the old ethernet hardware and also newer chips that can do ROCE. Otherwise this contains the typical mix of patches: - Driver updates and cleanups for bnxt_re, cxgb4, mlx4, and mlx5 - Many static checker driven code clean ups, including a wide refcount_t conversion - Several series for the hns driver, more HIP09 HW capabilities, migration to new HW register manipulators, and code cleanups - Minor fixes and improvements in srp, rts, and cm - Improvements throughout for sysfs related code to use DEVICE_ATTR_*, make the ib_port sysfs first-class, and overall use sysfs APIs properly - Intel's new irdma driver replacing i40iw - rxe general clean ups and Memory Window support ---------------------------------------------------------------- Aharon Landau (2): RDMA/mlx5: Refactor get_ts_format functions to simplify code RDMA/mlx5: Support real-time timestamp directly from the device Anand Khoje (2): IB/core: Removed port validity check from ib_get_cached_subnet_prefix IB/core: Shuffle locks in ib_port_data to save memory Avihai Horon (1): RDMA/mlx5: Enable Relaxed Ordering by default for kernel ULPs Baokun Li (1): RDMA/irdma: Use list_move instead of list_del/list_add Bart Van Assche (5): IB/hfi1: Move a function from a header file into a .c file RDMA/srp: Add more structure size checks RDMA/srp: Apply the __packed attribute to members instead of structures RDMA/srp: Fix a recently introduced memory leak RDMA/srp: Make struct scsi_cmnd and struct srp_request adjacent Bob Pearson (20): RDMA/rxe: Add a type flag to rxe_queue structs RDMA/rxe: Protect user space index loads/stores RDMA/rxe: Protext kernel index from user space RDMA/rxe: Fix qp reference counting for atomic ops RDMA/rxe: Add bind MW fields to rxe_send_wr RDMA/rxe: Return errors for add index and key RDMA/rxe: Enable MW object pool RDMA/rxe: Add ib_alloc_mw and ib_dealloc_mw verbs RDMA/rxe: Replace WR_REG_MASK by WR_LOCAL_OP_MASK RDMA/rxe: Move local ops to subroutine RDMA/rxe: Add support for bind MW work requests RDMA/rxe: Implement invalidate MW operations RDMA/rxe: Implement memory access through MWs RDMA/rxe: Disallow MR dereg and invalidate when bound RDMA/rxe: Fix useless copy in send_atomic_ack RDMA/rxe: Fix redundant call to ip_send_check RDMA/rxe: Fix extra copies in build_rdma_network_hdr RDMA/rxe: Fix over copying in get_srq_wqe RDMA/rxe: Fix extra copy in prepare_ack_packet RDMA/rxe: Fix redundant skb_put_zero Colin Ian King (5): RDMA/irdma: Fix issues with u8 left shift operation RDMA/irdma: remove extraneous indentation on a statement RDMA/irdma: remove redundant initialization of variable val RDMA/irdma: Fix spelling mistake "Allocal" -> "Allocate" RDMA/bnxt_re: Fix uninitialized struct bit field rsvd1 Dan Carpenter (1): RDMA/rxe: Missing unlock on error in get_srq_wqe() Devesh Sharma (3): RDMA/bnxt_re: Enable global atomic ops if platform supports RDMA/bnxt_re: Update maintainers list RDMA/bnxt_re: Update ABI to pass wqe-mode to user space Dima Stepanov (1): RDMA/rtrs: Use strscpy instead of strlcpy Gerd Rausch (1): RDMA/cma: Fix rdma_resolve_route() memory leak Gioh Kim (7): RDMA/rtrs-clt: Remove MAX_SESS_QUEUE_DEPTH from rtrs_send_sess_info RDMA/rtrs: Change MAX_SESS_QUEUE_DEPTH RDMA/rtrs: Define MIN_CHUNK_SIZE RDMA/rtrs: Do not reset hb_missed_max after re-connection RDMA/rtrs-srv: Duplicated session name is not allowed RDMA/rtrs-srv: Fix memory leak of unfreed rtrs_srv_stats object RDMA/rtrs-clt: Fix memory leak of not-freed sess->stats and stats->pcpu_stats Guenter Roeck (1): RDMA/bnxt_re: Drop unnecessary NULL checks after container_of Guoqing Jiang (7): RDMA/rtrs-srv: Kill reject_w_econnreset label RDMA/rtrs-srv: Clean up the code in __rtrs_srv_change_state RDMA/rtrs-clt: Kill rtrs_clt_{start,stop}_hb RDMA/rtrs-clt: Kill rtrs_clt_disconnect_from_sysfs RDMA/rtrs-srv: Kill __rtrs_srv_change_state RDMA/rtrs-clt: Remove redundant 'break' RDMA/rtrs: Rename cq_size/queue_size to cq_num/queue_num Håkon Bugge (5): IB/core: Only update PKEY and GID caches on respective events RDMA/cma: Remove unnecessary INIT->INIT transition RDMA/cma: Protect RMW with qp_mutex RDMA/cma: Fix incorrect Packet Lifetime calculation RDMA/core/sa_query: Remove unused argument Ira Weiny (2): RDMA/irdma: Remove use of kmap() RDMA/hfi1: Remove use of kmap() Jack Wang (11): RDMA/rtrs-srv: convert scnprintf to sysfs_emit RDMA/rtrs-srv: Fix memory leak when having multiple sessions RDMA/rtrs: Avoid Wtautological-constant-out-of-range-compare RDMA/rtrs-srv: Set minimal max_send_wr and max_recv_wr RDMA/rtrs-clt: Use minimal max_send_sge when create qp RDMA/rtrs: Check device max_qp_wr limit when create QP RDMA/rtrs: Introduce head/tail wr RDMA/rtrs-clt: Write path fast memory registration RDMA/rtrs_clt: Alloc less memory with write path fast memory registration RDMA/rtrs-clt: Raise MAX_SEGMENTS rnbd/rtrs-clt: Query and use max_segments from rtrs-clt. Jason Gunthorpe (24): IB/cm: Pair cm_alloc_response_msg() with a cm_free_response_msg() IB/cm: Split cm_alloc_msg() IB/cm: Call the correct message free functions in cm_send_handler() IB/cm: Tidy remaining cm_msg free paths Merge branch 'irdma' into rdma.git for-next RDMA/core: Remove refcount from struct ib_mad_snoop_private IB/cm: Remove dgid from the cm_id_priv av RDMA: Split the alloc_hw_stats() ops to port and device variants RDMA/core: Replace the ib_port_data hw_stats pointers with a ib_port pointer RDMA/core: Split port and device counter sysfs attributes RDMA/core: Split gid_attrs related sysfs from add_port() RDMA/core: Simplify how the gid_attrs sysfs is created RDMA/core: Simplify how the port sysfs is created RDMA/core: Create the device hw_counters through the normal groups mechanism RDMA/core: Remove the kobject_uevent() NOP RDMA/core: Expose the ib port sysfs attribute machinery RDMA/cm: Use an attribute_group on the ib_port_attribute intead of kobj's RDMA/qib: Use attributes for the port sysfs RDMA/hfi1: Use attributes for the port sysfs RDMA: Change ops->init_port to ops->port_groups RDMA/core: Allow port_groups to be used with namespaces RDMA: Remove rdma_set_device_sysfs_group() Merge tag 'v5.13-rc7' into rdma.git for-next Merge branch 'mlx5_realtime_ts' into rdma.git for-next Jiapeng Chong (1): RDMA/cxgb4: Fix missing error code in create_qp() Kamal Heib (3): RDMA/rxe: Fix failure during driver load RDMA/irdma: Fix return error sign from irdma_modify_qp RDMA/irdma: Use the queried port attributes Kees Cook (2): IB/mlx4: Avoid field-overflowing memcpy() RDMA/core: Use flexible array for mad data Lang Cheng (13): RDMA/hns: Remove unused parameter udata RDMA/mlx4: Remove unused parameter udata RDMA/mlx5: Remove unused parameter udata RDMA/rxe: Remove unused parameter udata RDMA/hns: Rename CMDQ head/tail pointer to PI/CI RDMA/hns: Remove Receive Queue of CMDQ RDMA/hns: Remove unused CMDQ member RDMA/hns: Add hr_reg_write_bool() RDMA/hns: Use new interface to modify QP context RDMA/hns: Use new interface to get CQE fields RDMA/hns: Force rewrite inline flag of WQE RDMA/hns: Fix spelling mistakes of original RDMA/hns: Add vendor_err info to error WC Leon Romanovsky (6): RDMA/core: Remove never used ib_modify_wq function call RDMA/core: Sanitize WQ state received from the userspace RDMA/mlx5: Don't add slave port to unaffiliated list RDMA: Fix kernel-doc warnings about wrong comment RDMA/mlx5: Don't access NULL-cleared mpi pointer RDMA/core: Always release restrack object Maor Gottlieb (1): RDMA/mlx5: Take qp type from mlx5_ib_qp Mark Zhang (4): Revert "IB/cm: Mark stale CM id's whenever the mad agent was unregistered" IB/cm: Simplify ib_cancel_mad() and ib_modify_mad() calls IB/cm: Improve the calling of cm_init_av_for_lap and cm_init_av_by_path IB/cm: Protect cm_dev, cm_ports and mad_agent with kref and lock Max Gurtovoy (2): IB/isert: set rdma cm afonly flag IB/isert: Align target max I/O size to initiator size Md Haris Iqbal (5): RDMA/rtrs-srv: Add error messages for cases when failing RDMA connection RDMA/rtrs-clt: Check state of the rtrs_clt_sess before reading its stats RDMA/rtrs-srv: Replace atomic_t with percpu_ref for ids_inflight RDMA/rtrs-clt: Check if the queue_depth has changed during a reconnection RDMA/rtrs: RDMA_RXE requires more number of WR Michael J. Ruhl (1): RDMA/irdma: Add dynamic tracing for CM Mustafa Ismail (13): RDMA/irdma: Register auxiliary driver and implement private channel OPs RDMA/irdma: Implement device initialization definitions RDMA/irdma: Implement HW Admin Queue OPs RDMA/irdma: Add HMC backing store setup functions RDMA/irdma: Add privileged UDA queue implementation RDMA/irdma: Add QoS definitions RDMA/irdma: Add connection manager RDMA/irdma: Add PBLE resource manager RDMA/irdma: Implement device supported verb APIs RDMA/irdma: Add RoCEv2 UD OP support RDMA/irdma: Add user/kernel shared libraries RDMA/irdma: Add miscellaneous utility definitions RDMA/irdma: Add ABI definitions Selvin Xavier (1): MAINTAINERS: Update Broadcom RDMA maintainers Sergey Gorenko (2): RDMA/mlx5: Support SQD2RTS for modify QP RDMA/mlx5: Add SQD2RTS bit to the alloc ucontext response Shaokun Zhang (1): IB/hfi1: Remove the repeated declaration Shiraz Saleem (7): RDMA/irdma: Add irdma Kconfig/Makefile and remove i40iw RDMA/irdma: Update MAINTAINERS file RDMA/irdma: Use list_last_entry/list_first_entry RDMA/irdma: Store PBL info address a pointer type RDMA/irdma: Check return value from ib_umem_find_best_pgsz RDMA/irdma: Check contents of user-space irdma_mem_reg_req object RDMA/irdma: Fix potential overflow expression in irdma_prm_get_pbles Tian Tao (1): RDMA/cxgb4: Remove useless assignments Wan Jiabing (1): RDMA: Remove unnecessary struct declaration Weihang Li (14): RDMA/hns: Use refcount_t APIs for HEM RDMA/core: Use refcount_t instead of atomic_t on refcount of iwcm_id_private RDMA/core: Use refcount_t instead of atomic_t on refcount of iwpm_admin_data RDMA/core: Use refcount_t instead of atomic_t on refcount of mcast_member RDMA/core: Use refcount_t instead of atomic_t on refcount of mcast_port RDMA/hns: Use refcount_t instead of atomic_t for CQ reference counting RDMA/hns: Use refcount_t instead of atomic_t for SRQ reference counting RDMA/hns: Use refcount_t instead of atomic_t for QP reference counting RDMA/cxgb4: Use refcount_t instead of atomic_t for reference counting RDMA/ipoib: Use refcount_t instead of atomic_t for reference counting RDMA/core: Use refcount_t instead of atomic_t on refcount of ib_uverbs_device RDMA/hns: Do not use !! for values that are already bool when calling hr_reg_write() RDMA/hns: Add a check to ensure integer mtu is positive RDMA/hns: Fix incorrect vlan enable bit in QPC Wenpeng Liang (2): RDMA/core: Fix incorrect print format specifier RDMA/hns: Encapsulate flushing CQE as a function Xi Wang (10): RDMA/hns: Refactor extend link table allocation RDMA/hns: Optimize the base address table config for MTR RDMA/hns: Refactor root BT allocation for MTR RDMA/hns: Fix wrong timer context buffer page size RDMA/hns: Clean the hardware related code for HEM RDMA/hns: Refactor capability configuration flow of VF RDMA/hns: Support getting max QP number from firmware RDMA/hns: Clear extended doorbell info before using RDMA/hns: Clean SRQC structure definition RDMA/hns: Clean definitions of EQC structure Xiao Yang (1): RDMA/rxe: Don't overwrite errno from ib_umem_get() Xiaofei Tan (1): RDMA/ucma: Cleanup to reduce duplicate code Yang Li (2): RDMA/mlx5: Remove redundant assignment to ret IB/srpt: Remove redundant assignment to ret Yangyang Li (9): RDMA/hns: Remove the unused hns_roce_bitmap_alloc_range function RDMA/hns: Remove the unused hns_roce_bitmap_free_range function RDMA/hns: Remove unused RR mechanism RDMA/hns: Use IDA interface to manage mtpt index RDMA/hns: Use IDA interface to manage pd index RDMA/hns: Use IDA interface to manage xrcd index RDMA/hns: Add member assignments for qp_init_attr RDMA/hns: Delete unnecessary branch of hns_roce_v2_query_qp RDMA/hns: Modify function return value type Yixian Liu (1): RDMA/hns: Remove the condition of light load for posting DWQE Yixing Liu (7): RDMA/hns: Use new interface to write CQ context. RDMA/hns: Use new interface to write FRMR fields RDMA/hns: Use new interface to write DB related fields RDMA/hns: Fix uninitialized variable RDMA/hns: Fix some print issues RDMA/hns: Simplify the judgment in hns_roce_v2_post_send() RDMA/hns: Add window selection field of congestion control YueHaibing (3): IB/ipoib: Use DEVICE_ATTR_*() macros RDMA/core: Use the DEVICE_ATTR_RO macro RDMA/srp: Use DEVICE_ATTR_*() macros Zhen Lei (1): IB/hfi1: Delete an unneeded bool conversion Documentation/ABI/stable/sysfs-class-infiniband | 20 - MAINTAINERS | 20 +- drivers/block/rnbd/rnbd-clt.c | 5 +- drivers/block/rnbd/rnbd-clt.h | 5 +- drivers/infiniband/Kconfig | 2 +- drivers/infiniband/core/cache.c | 40 +- drivers/infiniband/core/cm.c | 863 ++- drivers/infiniband/core/cma.c | 48 +- drivers/infiniband/core/core_priv.h | 15 +- drivers/infiniband/core/counters.c | 4 +- drivers/infiniband/core/device.c | 41 +- drivers/infiniband/core/iwcm.c | 9 +- drivers/infiniband/core/iwcm.h | 2 +- drivers/infiniband/core/iwpm_msg.c | 22 +- drivers/infiniband/core/iwpm_util.c | 16 +- drivers/infiniband/core/iwpm_util.h | 4 +- drivers/infiniband/core/mad.c | 27 +- drivers/infiniband/core/mad_priv.h | 1 - drivers/infiniband/core/multicast.c | 20 +- drivers/infiniband/core/netlink.c | 2 +- drivers/infiniband/core/nldev.c | 10 +- drivers/infiniband/core/roce_gid_mgmt.c | 5 +- drivers/infiniband/core/rw.c | 8 +- drivers/infiniband/core/sa_query.c | 10 +- drivers/infiniband/core/security.c | 9 +- drivers/infiniband/core/sysfs.c | 1110 ++-- drivers/infiniband/core/ucma.c | 11 +- drivers/infiniband/core/ud_header.c | 8 +- drivers/infiniband/core/umem_odp.c | 2 +- drivers/infiniband/core/user_mad.c | 4 +- drivers/infiniband/core/uverbs.h | 2 +- drivers/infiniband/core/uverbs_cmd.c | 23 +- drivers/infiniband/core/uverbs_main.c | 12 +- drivers/infiniband/core/uverbs_uapi.c | 2 +- drivers/infiniband/core/verbs.c | 23 +- drivers/infiniband/hw/Makefile | 2 +- drivers/infiniband/hw/bnxt_re/hw_counters.c | 7 +- drivers/infiniband/hw/bnxt_re/hw_counters.h | 4 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 30 +- drivers/infiniband/hw/bnxt_re/main.c | 19 +- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 2 + drivers/infiniband/hw/bnxt_re/qplib_res.c | 17 + drivers/infiniband/hw/bnxt_re/qplib_res.h | 7 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 13 +- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 2 - drivers/infiniband/hw/cxgb4/cq.c | 6 +- drivers/infiniband/hw/cxgb4/ev.c | 8 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 2 +- drivers/infiniband/hw/cxgb4/provider.c | 11 +- drivers/infiniband/hw/cxgb4/qp.c | 2 +- drivers/infiniband/hw/efa/efa.h | 3 +- drivers/infiniband/hw/efa/efa_main.c | 3 +- drivers/infiniband/hw/efa/efa_verbs.c | 11 +- drivers/infiniband/hw/hfi1/chip.c | 4 +- drivers/infiniband/hw/hfi1/file_ops.c | 6 +- drivers/infiniband/hw/hfi1/hfi.h | 9 +- drivers/infiniband/hw/hfi1/init.c | 4 +- drivers/infiniband/hw/hfi1/pio.c | 2 +- drivers/infiniband/hw/hfi1/pio.h | 2 - drivers/infiniband/hw/hfi1/sdma.c | 4 +- drivers/infiniband/hw/hfi1/sysfs.c | 530 +- drivers/infiniband/hw/hfi1/tid_rdma.c | 2 +- drivers/infiniband/hw/hfi1/trace.c | 5 + drivers/infiniband/hw/hfi1/verbs.c | 92 +- drivers/infiniband/hw/hns/hns_roce_alloc.c | 114 +- drivers/infiniband/hw/hns/hns_roce_common.h | 12 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 15 +- drivers/infiniband/hw/hns/hns_roce_db.c | 3 +- drivers/infiniband/hw/hns/hns_roce_device.h | 72 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 371 +- drivers/infiniband/hw/hns/hns_roce_hem.h | 13 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 79 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 5 + drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 1983 +++---- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 969 ++-- drivers/infiniband/hw/hns/hns_roce_main.c | 40 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 84 +- drivers/infiniband/hw/hns/hns_roce_pd.c | 94 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 47 +- drivers/infiniband/hw/hns/hns_roce_srq.c | 22 +- drivers/infiniband/hw/i40iw/Kconfig | 9 - drivers/infiniband/hw/i40iw/Makefile | 9 - drivers/infiniband/hw/i40iw/i40iw.h | 602 --- drivers/infiniband/hw/i40iw/i40iw_cm.c | 4419 --------------- drivers/infiniband/hw/i40iw/i40iw_cm.h | 462 -- drivers/infiniband/hw/i40iw/i40iw_ctrl.c | 5243 ------------------ drivers/infiniband/hw/i40iw/i40iw_d.h | 1746 ------ drivers/infiniband/hw/i40iw/i40iw_hmc.c | 821 --- drivers/infiniband/hw/i40iw/i40iw_hmc.h | 241 - drivers/infiniband/hw/i40iw/i40iw_hw.c | 851 --- drivers/infiniband/hw/i40iw/i40iw_main.c | 2064 ------- drivers/infiniband/hw/i40iw/i40iw_osdep.h | 195 - drivers/infiniband/hw/i40iw/i40iw_p.h | 129 - drivers/infiniband/hw/i40iw/i40iw_pble.c | 611 --- drivers/infiniband/hw/i40iw/i40iw_pble.h | 131 - drivers/infiniband/hw/i40iw/i40iw_puda.c | 1496 ------ drivers/infiniband/hw/i40iw/i40iw_puda.h | 188 - drivers/infiniband/hw/i40iw/i40iw_register.h | 1030 ---- drivers/infiniband/hw/i40iw/i40iw_status.h | 101 - drivers/infiniband/hw/i40iw/i40iw_type.h | 1358 ----- drivers/infiniband/hw/i40iw/i40iw_uk.c | 1200 ----- drivers/infiniband/hw/i40iw/i40iw_user.h | 422 -- drivers/infiniband/hw/i40iw/i40iw_utils.c | 1518 ------ drivers/infiniband/hw/i40iw/i40iw_verbs.c | 2652 --------- drivers/infiniband/hw/i40iw/i40iw_verbs.h | 179 - drivers/infiniband/hw/i40iw/i40iw_vf.c | 85 - drivers/infiniband/hw/i40iw/i40iw_vf.h | 62 - drivers/infiniband/hw/i40iw/i40iw_virtchnl.c | 759 --- drivers/infiniband/hw/i40iw/i40iw_virtchnl.h | 124 - drivers/infiniband/hw/irdma/Kconfig | 12 + drivers/infiniband/hw/irdma/Makefile | 27 + drivers/infiniband/hw/irdma/cm.c | 4421 +++++++++++++++ drivers/infiniband/hw/irdma/cm.h | 417 ++ drivers/infiniband/hw/irdma/ctrl.c | 5657 ++++++++++++++++++++ drivers/infiniband/hw/irdma/defs.h | 1155 ++++ drivers/infiniband/hw/irdma/hmc.c | 710 +++ drivers/infiniband/hw/irdma/hmc.h | 180 + drivers/infiniband/hw/irdma/hw.c | 2725 ++++++++++ drivers/infiniband/hw/irdma/i40iw_hw.c | 216 + drivers/infiniband/hw/irdma/i40iw_hw.h | 160 + drivers/infiniband/hw/irdma/i40iw_if.c | 216 + drivers/infiniband/hw/irdma/icrdma_hw.c | 149 + drivers/infiniband/hw/irdma/icrdma_hw.h | 71 + drivers/infiniband/hw/irdma/irdma.h | 153 + drivers/infiniband/hw/irdma/main.c | 358 ++ drivers/infiniband/hw/irdma/main.h | 555 ++ drivers/infiniband/hw/irdma/osdep.h | 86 + drivers/infiniband/hw/irdma/pble.c | 520 ++ drivers/infiniband/hw/irdma/pble.h | 136 + drivers/infiniband/hw/irdma/protos.h | 116 + drivers/infiniband/hw/irdma/puda.c | 1744 ++++++ drivers/infiniband/hw/irdma/puda.h | 194 + drivers/infiniband/hw/irdma/status.h | 71 + drivers/infiniband/hw/irdma/trace.c | 112 + drivers/infiniband/hw/irdma/trace.h | 3 + drivers/infiniband/hw/irdma/trace_cm.h | 458 ++ drivers/infiniband/hw/irdma/type.h | 1541 ++++++ drivers/infiniband/hw/irdma/uda.c | 271 + drivers/infiniband/hw/irdma/uda.h | 89 + drivers/infiniband/hw/irdma/uda_d.h | 128 + drivers/infiniband/hw/irdma/uk.c | 1684 ++++++ drivers/infiniband/hw/irdma/user.h | 437 ++ drivers/infiniband/hw/irdma/utils.c | 2541 +++++++++ drivers/infiniband/hw/irdma/verbs.c | 4544 ++++++++++++++++ drivers/infiniband/hw/irdma/verbs.h | 225 + drivers/infiniband/hw/irdma/ws.c | 406 ++ drivers/infiniband/hw/irdma/ws.h | 41 + drivers/infiniband/hw/mlx4/cq.c | 8 +- drivers/infiniband/hw/mlx4/main.c | 27 +- drivers/infiniband/hw/mlx4/qp.c | 11 +- drivers/infiniband/hw/mlx5/counters.c | 42 +- drivers/infiniband/hw/mlx5/cq.c | 10 +- drivers/infiniband/hw/mlx5/doorbell.c | 3 +- drivers/infiniband/hw/mlx5/main.c | 19 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 12 +- drivers/infiniband/hw/mlx5/mr.c | 12 +- drivers/infiniband/hw/mlx5/odp.c | 5 +- drivers/infiniband/hw/mlx5/qp.c | 177 +- drivers/infiniband/hw/mlx5/qpc.c | 6 + drivers/infiniband/hw/mlx5/srq.c | 2 +- drivers/infiniband/hw/mlx5/wr.c | 14 +- drivers/infiniband/hw/mthca/mthca_provider.c | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 2 +- drivers/infiniband/hw/qedr/main.c | 2 +- drivers/infiniband/hw/qib/qib.h | 8 +- drivers/infiniband/hw/qib/qib_sysfs.c | 616 +-- drivers/infiniband/hw/qib/qib_verbs.c | 6 +- drivers/infiniband/hw/usnic/usnic_ib_main.c | 3 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 2 +- drivers/infiniband/sw/rdmavt/mr.c | 4 +- drivers/infiniband/sw/rdmavt/qp.c | 3 +- drivers/infiniband/sw/rdmavt/vt.c | 6 +- drivers/infiniband/sw/rxe/Makefile | 1 + drivers/infiniband/sw/rxe/rxe.c | 1 + drivers/infiniband/sw/rxe/rxe_comp.c | 36 +- drivers/infiniband/sw/rxe/rxe_cq.c | 32 +- drivers/infiniband/sw/rxe/rxe_hw_counters.c | 7 +- drivers/infiniband/sw/rxe/rxe_hw_counters.h | 4 +- drivers/infiniband/sw/rxe/rxe_loc.h | 38 +- drivers/infiniband/sw/rxe/rxe_mr.c | 130 +- drivers/infiniband/sw/rxe/rxe_mw.c | 343 ++ drivers/infiniband/sw/rxe/rxe_net.c | 14 +- drivers/infiniband/sw/rxe/rxe_opcode.c | 11 +- drivers/infiniband/sw/rxe/rxe_opcode.h | 3 +- drivers/infiniband/sw/rxe/rxe_param.h | 19 +- drivers/infiniband/sw/rxe/rxe_pool.c | 45 +- drivers/infiniband/sw/rxe/rxe_pool.h | 8 +- drivers/infiniband/sw/rxe/rxe_qp.c | 23 +- drivers/infiniband/sw/rxe/rxe_queue.c | 21 +- drivers/infiniband/sw/rxe/rxe_queue.h | 272 +- drivers/infiniband/sw/rxe/rxe_req.c | 159 +- drivers/infiniband/sw/rxe/rxe_resp.c | 208 +- drivers/infiniband/sw/rxe/rxe_srq.c | 5 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 101 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 53 +- drivers/infiniband/ulp/ipoib/ipoib.h | 4 +- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 8 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 48 +- drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 4 +- drivers/infiniband/ulp/iser/iser_verbs.c | 2 +- drivers/infiniband/ulp/isert/ib_isert.c | 18 +- drivers/infiniband/ulp/isert/ib_isert.h | 3 - drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 5 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 254 +- drivers/infiniband/ulp/rtrs/rtrs-clt.h | 6 +- drivers/infiniband/ulp/rtrs/rtrs-pri.h | 27 +- drivers/infiniband/ulp/rtrs/rtrs-srv-stats.c | 12 +- drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 1 + drivers/infiniband/ulp/rtrs/rtrs-srv.c | 199 +- drivers/infiniband/ulp/rtrs/rtrs-srv.h | 4 +- drivers/infiniband/ulp/rtrs/rtrs.c | 53 +- drivers/infiniband/ulp/rtrs/rtrs.h | 2 +- drivers/infiniband/ulp/srp/ib_srp.c | 256 +- drivers/infiniband/ulp/srp/ib_srp.h | 2 - drivers/infiniband/ulp/srpt/ib_srpt.c | 1 - drivers/net/ethernet/intel/i40e/i40e_client.c | 149 - drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 8 +- .../net/ethernet/mellanox/mlx5/core/lib/clock.h | 10 +- include/linux/mlx5/mlx5_ifc.h | 36 +- include/linux/mlx5/qp.h | 4 +- include/linux/net/intel/i40e_client.h | 3 - include/rdma/ib_hdrs.h | 5 - include/rdma/ib_mad.h | 27 +- include/rdma/ib_sysfs.h | 37 + include/rdma/ib_verbs.h | 83 +- include/scsi/srp.h | 26 +- include/uapi/rdma/bnxt_re-abi.h | 11 +- include/uapi/rdma/i40iw-abi.h | 107 - include/uapi/rdma/ib_user_ioctl_verbs.h | 1 + include/uapi/rdma/ib_user_mad.h | 2 +- include/uapi/rdma/irdma-abi.h | 111 + include/uapi/rdma/mlx5-abi.h | 3 + include/uapi/rdma/rdma_user_rxe.h | 10 + 233 files changed, 38023 insertions(+), 34428 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Wed, 30 Jun 2021 22:30:27 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/e04360a2ea01bf42aa639b65aad81f502e896c7f Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 2149 bytes --] Hi Linus, Nothing very exciting here, just a bunch of irdma fixes. irdma is a new driver this cycle so it as expected. Thanks, Jason The following changes since commit e73f0f0ee7541171d89f2e2491130c7771ba58d3: Linux 5.14-rc1 (2021-07-11 15:07:40 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to dc6afef7e14252c5ca5b8a8444946cb4b75b0aa0: RDMA/irdma: Change returned type of irdma_setup_virt_qp to void (2021-07-15 15:14:11 -0300) ---------------------------------------------------------------- RDMA v5.14 first rc Pull Request - Many more irdma fixups from bots/etc - bnxt_re regression in their counters from a FW upgrade - User triggerable memory leak in rxe ---------------------------------------------------------------- Bob Pearson (1): RDMA/rxe: Fix memory leak in error path code Lukas Bulwahn (1): RDMA/irdma: Make spdxcheck.py happy Naresh Kumar PBS (1): RDMA/bnxt_re: Fix stats counters Tatyana Nikolova (2): RDMA/irdma: Fix unused variable total_size warning RDMA/irdma: Check vsi pointer before using it Zhu Yanjun (4): RDMA/irdma: Change the returned type to void RDMA/irdma: change the returned type of irdma_sc_repost_aeq_entries to void RDMA/irdma: Change the returned type of irdma_set_hw_rsrc to void RDMA/irdma: Change returned type of irdma_setup_virt_qp to void drivers/infiniband/hw/bnxt_re/main.c | 4 +++- drivers/infiniband/hw/bnxt_re/qplib_res.c | 10 ++++------ drivers/infiniband/hw/bnxt_re/qplib_res.h | 1 + drivers/infiniband/hw/irdma/ctrl.c | 13 +++++-------- drivers/infiniband/hw/irdma/hw.c | 11 ++--------- drivers/infiniband/hw/irdma/main.c | 9 ++++++--- drivers/infiniband/hw/irdma/type.h | 3 +-- drivers/infiniband/hw/irdma/uk.c | 5 +---- drivers/infiniband/hw/irdma/verbs.c | 6 ++---- drivers/infiniband/sw/rxe/rxe_mr.c | 27 +++++++++++++++++---------- include/uapi/rdma/irdma-abi.h | 2 +- 11 files changed, 43 insertions(+), 48 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Mon, 26 Jul 2021 20:10:35 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/7d549995d4e0d99b68e8a7793a0d23da6fc40fe8 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 2072 bytes --] Hi Linus, Rather more regressions that usual, but nothing too scary. Good to know people are testing Thanks, Jason The following changes since commit c500bee1c5b2f1d59b1081ac879d73268ab0ff17: Linux 5.14-rc4 (2021-08-01 17:04:17 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 2638a32348bbb1c384dbbd515fd2b12c155f0188: RDMA/iw_cxgb4: Fix refcount underflow while destroying cqs. (2021-08-05 22:33:00 -0300) ---------------------------------------------------------------- RDMA v5.14 second rc Pull Request Several small recent regressions: - Typo causing incorrect operation of the mlx5 mkey cache expiration - Revert a CM patch that is breaking some ULPs - Typo breaking SRQ in rxe - Revert a rxe patch breaking icrc calculation - Static checker warning about unbalance locking in hns - Subtle cxgb4 regression from a recent atomic to refcount conversion ---------------------------------------------------------------- Aharon Landau (1): RDMA/mlx5: Delay emptying a cache entry when a new MR is added to it recently Bob Pearson (2): RDMA/rxe: Use the correct size of wqe when processing SRQ RDMA/rxe: Restore setting tot_len in the IPv4 header Dakshaja Uppalapati (1): RDMA/iw_cxgb4: Fix refcount underflow while destroying cqs. Mike Marciniszyn (1): RDMA/cma: Revert INIT-INIT patch Yangyang Li (1): RDMA/hns: Fix the double unlock problem of poll_sem drivers/infiniband/core/cma.c | 17 ++++++++++++++++- drivers/infiniband/hw/cxgb4/cq.c | 12 +++++++++--- drivers/infiniband/hw/cxgb4/ev.c | 6 ++---- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 3 ++- drivers/infiniband/hw/hns/hns_roce_cmd.c | 7 +++---- drivers/infiniband/hw/hns/hns_roce_main.c | 4 +--- drivers/infiniband/hw/mlx5/mr.c | 4 ++-- drivers/infiniband/sw/rxe/rxe_net.c | 1 + drivers/infiniband/sw/rxe/rxe_resp.c | 2 +- 9 files changed, 37 insertions(+), 19 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 6 Aug 2021 10:30:39 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/b4b927fcb0b2cdd344501b409f2bc68265aab45f Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 2357 bytes --] Hi Linus, The first three items are significant for rc and the rest is error flow fixes and other minor things. Thanks, Jason The following changes since commit 7c60610d476766e128cc4284bb6349732cbd6606: Linux 5.14-rc6 (2021-08-15 13:40:53 -1000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to cc4f596cf85e97ca6606e1bd10b3b9851ef52ddf: RDMA/rxe: Zero out index member of struct rxe_queue (2021-08-20 15:48:58 -0300) ---------------------------------------------------------------- RDMA v5.14 third rc Pull Request Several small fixes, the first three are significant: - mlx5 crash unloading drivers with a rare HW config - Missing userspace reporting for the new dmabuf objects - Random rxe failure due to missing memory zeroing - Static checker/etc reports: missing spin lock init, null pointer deref on error, extra unlock on error path, memory allocation under spinlock, missing IRQ vector cleanup - kconfig typo in the new irdma driver ---------------------------------------------------------------- Bob Pearson (1): RDMA/rxe: Fix memory allocation while in a spin lock Dinghao Liu (1): RDMA/bnxt_re: Remove unpaired rtnl unlock in bnxt_re_dev_init() Gal Pressman (2): RDMA/uverbs: Track dmabuf memory regions RDMA/efa: Free IRQ vectors on error flow Lukas Bulwahn (1): RDMA/irdma: Use correct kconfig symbol for AUXILIARY_BUS Maor Gottlieb (1): RDMA/mlx5: Fix crash when unbind multiport slave Naresh Kumar PBS (1): RDMA/bnxt_re: Add missing spin lock initialization Tuo Li (1): IB/hfi1: Fix possible null-pointer dereference in _extend_sdma_tx_descs() Xiao Yang (1): RDMA/rxe: Zero out index member of struct rxe_queue drivers/infiniband/core/uverbs_std_types_mr.c | 3 +++ drivers/infiniband/hw/bnxt_re/ib_verbs.c | 1 + drivers/infiniband/hw/bnxt_re/main.c | 1 - drivers/infiniband/hw/efa/efa_main.c | 1 + drivers/infiniband/hw/hfi1/sdma.c | 9 ++++----- drivers/infiniband/hw/irdma/Kconfig | 2 +- drivers/infiniband/hw/mlx5/main.c | 3 ++- drivers/infiniband/sw/rxe/rxe_mcast.c | 2 +- drivers/infiniband/sw/rxe/rxe_queue.c | 2 +- 9 files changed, 14 insertions(+), 10 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Tue, 24 Aug 2021 11:23:10 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/6e764bcd1cf72a2846c0e53d3975a09b242c04c9 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 22185 bytes --] Hi Linus, These are the proposed RDMA patches for 5.15. This is quite a small cycle, no major series stands out. The HNS and rxe drivers saw the most activity this cycle, with rxe being broken for a good chunk of time. The significant deleted line count is due to a SPDX cleanup series. There is a merge conflict related to the scatterlist fixup which changed a function name while DRM added a new users. You'll need to apply this hunk from Stephen into the merge to make it compile: diff --git b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c index 771eb2963123ff..d3d95934a0473f 100644 --- b/drivers/gpu/drm/i915/gem/i915_gem_ttm.c +++ a/drivers/gpu/drm/i915/gem/i915_gem_ttm.c @@ -382,7 +382,6 @@ i915_ttm_region(struct ttm_device *bdev, int ttm_mem_type) static struct sg_table *i915_ttm_tt_get_st(struct ttm_tt *ttm) { struct i915_ttm_tt *i915_tt = container_of(ttm, typeof(*i915_tt), ttm); - struct scatterlist *sg; struct sg_table *st; int ret; @@ -393,13 +392,13 @@ static struct sg_table *i915_ttm_tt_get_st(struct ttm_tt *ttm) if (!st) return ERR_PTR(-ENOMEM); - sg = __sg_alloc_table_from_pages + ret = sg_alloc_table_from_pages_segment (st, ttm->pages, ttm->num_pages, 0, (unsigned long)ttm->num_pages << PAGE_SHIFT, - i915_sg_segment_size(), NULL, 0, GFP_KERNEL); - if (IS_ERR(sg)) { + i915_sg_segment_size(), GFP_KERNEL); + if (ret) { kfree(st); - return ERR_CAST(sg); + return ERR_PTR(ret); } ret = dma_map_sgtable(i915_tt->dev, st, DMA_BIDIRECTIONAL, 0); The tag for-linus-merged with my merge resolution to your tree is also available to pull. Thanks, Jason The following changes since commit 7c60610d476766e128cc4284bb6349732cbd6606: Linux 5.14-rc6 (2021-08-15 13:40:53 -1000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 6a217437f9f5482a3f6f2dc5fcd27cf0f62409ac: Merge branch 'sg_nents' into rdma.git for-next (2021-08-30 09:49:59 -0300) ---------------------------------------------------------------- RDMA v5.15 merge window Pull Request - Various cleanup and small features for rtrs - kmap_local_page() conversions - Driver updates and fixes for: efa, rxe, mlx5, hfi1, qed, hns - Cache the IB subnet prefix - Rework how CRC is calcuated in rxe - Clean reference counting in iwpm's netlink - Pull object allocation and lifecycle for user QPs to the uverbs core code - Several small hns features and continued general code cleanups - Fix the scatterlist confusion of orig_nents/nents introduced in an earlier patch creating the append operation ---------------------------------------------------------------- Anand Khoje (3): IB/core: Updating cache for subnet_prefix in config_non_roce_gid_cache() IB/core: Shifting initialization of device->cache_lock IB/core: Read subnet_prefix in ib_query_port via cache. Bob Pearson (9): RDMA/rxe: Move ICRC checking to a subroutine RDMA/rxe: Move rxe_xmit_packet to a subroutine RDMA/rxe: Fixup rxe_send and rxe_loopback RDMA/rxe: Move ICRC generation to a subroutine RDMA/rxe: Move rxe_crc32 to a subroutine RDMA/rxe: Fixup rxe_icrc_hdr RDMA/rxe: Move crc32 init code to rxe_icrc.c RDMA/rxe: Add kernel-doc comments to rxe_icrc.c RDMA/rxe: Fix types in rxe_icrc.c Cai Huoqing (3): RDMA/hfi1: Fix typo in comments IB/rdmavt: Convert to SPDX identifier RDMA/hfi1: Convert to SPDX identifier Christoph Hellwig (1): RDMA/hfi1: Stop using seq_get_buf in _driver_stats_seq_show Christophe JAILLET (2): RDMA/rtrs: Remove a useless kfree() RDMA: switch from 'pci_' to 'dma_' API Gal Pressman (3): RDMA/efa: Split hardware stats to device and port stats RDMA/efa: Remove unused cpu field from irq struct RDMA/efa: Rename vector field in efa_irq struct to irqn Gioh Kim (3): RDMA/rtrs: Remove all likely and unlikely RDMA/rtrs-clt: Fix counting inflight IO RDMA/rtrs: Remove (void) casting for functions Håkon Bugge (2): RDMA/core/sa_query: Remove unused function RDMA/core/sa_query: Retry SA queries Ira Weiny (2): RDMA/siw: Remove kmap() RDMA/siw: Convert siw_tx_hdt() to kmap_local_page() Jack Wang (7): RDMA/rtrs: Add error messages for failed operations. RDMA/rtrs: move wr_cnt from rtrs_srv_con to rtrs_con RDMA/rtrs: Enable the same selective signal for heartbeat and IO RDMA/rtrs: Make rtrs_post_rdma_write_imm_empty static RDMA/rtrs: Remove unused flags parameter RDMA/rtrs: Move sq_wr_avail to rtrs_con RDMA/rtrs: Remove unused functions Jason Gunthorpe (3): Merge branch 'mlx5_dcs' into rdma.git for-next Merge branch 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux Merge branch 'sg_nents' into rdma.git for-next Junxian Huang (3): RDMA/hns: Bugfix for data type of dip_idx RDMA/hns: Bugfix for the missing assignment for dip_idx RDMA/hns: Bugfix for incorrect association between dip_idx and dgid Lang Cheng (2): RDMA/hns: Remove unsupport cmdq mode RDMA/hns: Ownerbit mode add control field Leon Romanovsky (20): RDMA/iwcm: Release resources if iw_cm module initialization fails RDMA/iwpm: Remove not-needed reference counting RDMA/iwpm: Rely on the rdma_nl_[un]register() to ensure that requests are valid docs: Fix infiniband uverbs minor number RDMA/hns: Don't skip IB creation flow for regular RC QP RDMA/hns: Don't overwrite supplied QP attributes RDMA/efa: Remove double QP type assignment RDMA/mlx5: Cancel pkey work before destroying device resources RDMA/mlx5: Delete device resource mutex that didn't protect anything RDMA/mlx5: Rework custom driver QP type creation RDMA/rdmavt: Decouple QP and SGE lists allocations RDMA: Globally allocate and release QP memory RDMA/mlx5: Drop in-driver verbs object creations RDMA/mlx5: Delete not-available udata check RDMA/core: Delete duplicated and unreachable code RDMA/core: Remove protection from wrong in-kernel API usage RDMA/core: Reorganize create QP low-level functions RDMA/core: Configure selinux QP during creation RDMA/core: Properly increment and decrement QP usecnts RDMA/core: Create clean QP creations interface for uverbs Li Zhijian (1): IB/core: Remove deprecated current_seq comments Lior Nahmanson (3): RDMA/mlx5: Separate DCI QP creation logic RDMA/mlx5: Add DCS offload support RDMA/mlx5: Relax DCS QP creation checks Maor Gottlieb (3): lib/scatterlist: Provide a dedicated function to support table append lib/scatterlist: Fix wrong update of orig_nents RDMA: Use the sg_table directly and remove the opencoded version from umem Md Haris Iqbal (1): RDMA/rtrs-clt: During add_path change for_new_clt according to path_num Mike Marciniszyn (2): IB/hfi1: Indicate DMA wait when txq is queued for wakeup IB/hfi1: Adjust pkey entry in index 0 Prabhakar Kushwaha (3): RDMA/qed: Use accurate error num in qed_cxt_dynamic_ilt_alloc RDMA/qedr: Improve error logs for rdma_alloc_tid error return RDMA/qedr: Move variables reset to qedr_set_common_qp_params() Shaokun Zhang (1): RDMA/irdma: Remove the repeated declaration Weihang Li (2): MAINTAINERS: Update maintainers of HiSilicon RoCE RDMA/hns: Remove RST2RST error prints for hw v1 Wenpeng Liang (4): RDMA/hns: Fix query destination qpn RDMA/hns: Fix QP's resp incomplete assignment RDMA/hns: Remove dqpn filling when modify qp from Init to Init RDMA/hns: Adjust the order in which irq are requested and enabled Xiao Yang (1): RDMA/rxe: Remove the repeated 'mr->umem = umem' Xinhao Liu (1): RDMA/hns: Delete unnecessary blank lines. Xiyu Yang (1): RDMA/hfi1: Convert from atomic_t to refcount_t on hfi1_devdata->user_refcount Yangyang Li (3): RDMA/hns: Use IDA interface to manage uar index RDMA/hns: Use IDA interface to manage srq index RDMA/hns: Delete unused hns bitmap interface Yixing Liu (3): RDMA/hns: Enable stash feature of HIP09 RDMA/hns: Fix incorrect lsn field RDMA/hns: Encapsulate the qp db as a function YueHaibing (1): RDMA/hns: Fix return in hns_roce_rereg_user_mr() Documentation/admin-guide/devices.txt | 6 +- MAINTAINERS | 2 +- drivers/gpu/drm/drm_prime.c | 13 +- drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 9 +- drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 11 +- drivers/gpu/drm/vmwgfx/vmwgfx_ttm_buffer.c | 14 +- drivers/infiniband/core/cache.c | 10 +- drivers/infiniband/core/cma.c | 3 + drivers/infiniband/core/core_priv.h | 44 +---- drivers/infiniband/core/device.c | 12 +- drivers/infiniband/core/iwcm.c | 19 +- drivers/infiniband/core/iwpm_msg.c | 34 +--- drivers/infiniband/core/iwpm_util.c | 78 ++------ drivers/infiniband/core/iwpm_util.h | 18 -- drivers/infiniband/core/restrack.c | 2 +- drivers/infiniband/core/sa_query.c | 186 +----------------- drivers/infiniband/core/umem.c | 56 +++--- drivers/infiniband/core/umem_dmabuf.c | 5 +- drivers/infiniband/core/umem_odp.c | 3 - drivers/infiniband/core/uverbs_cmd.c | 31 +-- drivers/infiniband/core/uverbs_std_types_qp.c | 29 +-- drivers/infiniband/core/verbs.c | 244 +++++++++++++++--------- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 26 +-- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 7 +- drivers/infiniband/hw/bnxt_re/main.c | 1 + drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 5 +- drivers/infiniband/hw/cxgb4/provider.c | 1 + drivers/infiniband/hw/cxgb4/qp.c | 37 ++-- drivers/infiniband/hw/efa/efa.h | 10 +- drivers/infiniband/hw/efa/efa_main.c | 20 +- drivers/infiniband/hw/efa/efa_verbs.c | 149 ++++++++------- drivers/infiniband/hw/hfi1/affinity.c | 45 +---- drivers/infiniband/hw/hfi1/affinity.h | 45 +---- drivers/infiniband/hw/hfi1/aspm.h | 45 +---- drivers/infiniband/hw/hfi1/chip.c | 50 +---- drivers/infiniband/hw/hfi1/chip.h | 48 +---- drivers/infiniband/hw/hfi1/chip_registers.h | 50 +---- drivers/infiniband/hw/hfi1/common.h | 44 +---- drivers/infiniband/hw/hfi1/debugfs.c | 58 +----- drivers/infiniband/hw/hfi1/debugfs.h | 49 +---- drivers/infiniband/hw/hfi1/device.c | 44 +---- drivers/infiniband/hw/hfi1/device.h | 49 +---- drivers/infiniband/hw/hfi1/driver.c | 44 +---- drivers/infiniband/hw/hfi1/efivar.c | 44 +---- drivers/infiniband/hw/hfi1/efivar.h | 45 +---- drivers/infiniband/hw/hfi1/eprom.c | 45 +---- drivers/infiniband/hw/hfi1/eprom.h | 44 +---- drivers/infiniband/hw/hfi1/exp_rcv.c | 44 +---- drivers/infiniband/hw/hfi1/exp_rcv.h | 48 +---- drivers/infiniband/hw/hfi1/fault.c | 45 +---- drivers/infiniband/hw/hfi1/fault.h | 50 +---- drivers/infiniband/hw/hfi1/file_ops.c | 51 +---- drivers/infiniband/hw/hfi1/firmware.c | 44 +---- drivers/infiniband/hw/hfi1/hfi.h | 54 +----- drivers/infiniband/hw/hfi1/init.c | 53 +---- drivers/infiniband/hw/hfi1/intr.c | 44 +---- drivers/infiniband/hw/hfi1/iowait.h | 49 +---- drivers/infiniband/hw/hfi1/ipoib_tx.c | 3 + drivers/infiniband/hw/hfi1/mad.c | 44 +---- drivers/infiniband/hw/hfi1/mad.h | 45 +---- drivers/infiniband/hw/hfi1/mmu_rb.c | 45 +---- drivers/infiniband/hw/hfi1/mmu_rb.h | 45 +---- drivers/infiniband/hw/hfi1/msix.c | 43 ----- drivers/infiniband/hw/hfi1/msix.h | 44 +---- drivers/infiniband/hw/hfi1/opa_compat.h | 48 +---- drivers/infiniband/hw/hfi1/pcie.c | 55 +----- drivers/infiniband/hw/hfi1/pio.c | 44 +---- drivers/infiniband/hw/hfi1/pio.h | 48 +---- drivers/infiniband/hw/hfi1/pio_copy.c | 44 +---- drivers/infiniband/hw/hfi1/platform.c | 44 +---- drivers/infiniband/hw/hfi1/platform.h | 45 +---- drivers/infiniband/hw/hfi1/qp.c | 44 +---- drivers/infiniband/hw/hfi1/qp.h | 48 +---- drivers/infiniband/hw/hfi1/qsfp.c | 44 +---- drivers/infiniband/hw/hfi1/qsfp.h | 44 +---- drivers/infiniband/hw/hfi1/rc.c | 44 +---- drivers/infiniband/hw/hfi1/ruc.c | 46 +---- drivers/infiniband/hw/hfi1/sdma.c | 46 +---- drivers/infiniband/hw/hfi1/sdma.h | 49 +---- drivers/infiniband/hw/hfi1/sdma_txreq.h | 44 +---- drivers/infiniband/hw/hfi1/sysfs.c | 45 +---- drivers/infiniband/hw/hfi1/tid_rdma.c | 4 +- drivers/infiniband/hw/hfi1/trace.c | 44 +---- drivers/infiniband/hw/hfi1/trace.h | 44 +---- drivers/infiniband/hw/hfi1/trace_ctxts.h | 45 +---- drivers/infiniband/hw/hfi1/trace_dbg.h | 45 +---- drivers/infiniband/hw/hfi1/trace_ibhdrs.h | 45 +---- drivers/infiniband/hw/hfi1/trace_misc.h | 45 +---- drivers/infiniband/hw/hfi1/trace_mmu.h | 45 +---- drivers/infiniband/hw/hfi1/trace_rc.h | 45 +---- drivers/infiniband/hw/hfi1/trace_rx.h | 45 +---- drivers/infiniband/hw/hfi1/trace_tx.h | 44 +---- drivers/infiniband/hw/hfi1/uc.c | 44 +---- drivers/infiniband/hw/hfi1/ud.c | 44 +---- drivers/infiniband/hw/hfi1/user_exp_rcv.c | 57 +----- drivers/infiniband/hw/hfi1/user_exp_rcv.h | 49 +---- drivers/infiniband/hw/hfi1/user_pages.c | 44 +---- drivers/infiniband/hw/hfi1/user_sdma.c | 45 +---- drivers/infiniband/hw/hfi1/user_sdma.h | 49 +---- drivers/infiniband/hw/hfi1/verbs.c | 44 +---- drivers/infiniband/hw/hfi1/verbs.h | 44 +---- drivers/infiniband/hw/hfi1/verbs_txreq.c | 44 +---- drivers/infiniband/hw/hfi1/verbs_txreq.h | 44 +---- drivers/infiniband/hw/hfi1/vnic.h | 48 +---- drivers/infiniband/hw/hfi1/vnic_main.c | 44 +---- drivers/infiniband/hw/hfi1/vnic_sdma.c | 44 +---- drivers/infiniband/hw/hns/hns_roce_alloc.c | 74 +------ drivers/infiniband/hw/hns/hns_roce_db.c | 4 +- drivers/infiniband/hw/hns/hns_roce_device.h | 30 ++- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 6 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 87 ++++----- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 23 +-- drivers/infiniband/hw/hns/hns_roce_main.c | 40 ++-- drivers/infiniband/hw/hns/hns_roce_mr.c | 4 +- drivers/infiniband/hw/hns/hns_roce_pd.c | 31 ++- drivers/infiniband/hw/hns/hns_roce_qp.c | 196 ++++++++++--------- drivers/infiniband/hw/hns/hns_roce_srq.c | 28 +-- drivers/infiniband/hw/irdma/protos.h | 2 - drivers/infiniband/hw/irdma/utils.c | 3 - drivers/infiniband/hw/irdma/verbs.c | 33 ++-- drivers/infiniband/hw/mlx4/doorbell.c | 3 +- drivers/infiniband/hw/mlx4/main.c | 1 + drivers/infiniband/hw/mlx4/mlx4_ib.h | 5 +- drivers/infiniband/hw/mlx4/mr.c | 4 +- drivers/infiniband/hw/mlx4/qp.c | 25 +-- drivers/infiniband/hw/mlx5/doorbell.c | 3 +- drivers/infiniband/hw/mlx5/gsi.c | 51 ++--- drivers/infiniband/hw/mlx5/main.c | 145 ++++++-------- drivers/infiniband/hw/mlx5/mlx5_ib.h | 7 +- drivers/infiniband/hw/mlx5/mr.c | 3 +- drivers/infiniband/hw/mlx5/qp.c | 232 +++++++++++++++++----- drivers/infiniband/hw/mthca/mthca_eq.c | 21 +- drivers/infiniband/hw/mthca/mthca_main.c | 15 +- drivers/infiniband/hw/mthca/mthca_memfree.c | 25 +-- drivers/infiniband/hw/mthca/mthca_provider.c | 77 +++----- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 1 + drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 25 +-- drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 5 +- drivers/infiniband/hw/qedr/main.c | 1 + drivers/infiniband/hw/qedr/qedr_roce_cm.c | 13 +- drivers/infiniband/hw/qedr/qedr_roce_cm.h | 5 +- drivers/infiniband/hw/qedr/verbs.c | 101 +++++----- drivers/infiniband/hw/qedr/verbs.h | 4 +- drivers/infiniband/hw/qib/qib_file_ops.c | 12 +- drivers/infiniband/hw/qib/qib_init.c | 4 +- drivers/infiniband/hw/qib/qib_user_pages.c | 12 +- drivers/infiniband/hw/usnic/usnic_ib_main.c | 1 + drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c | 34 ++-- drivers/infiniband/hw/usnic/usnic_ib_qp_grp.h | 10 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 69 ++++--- drivers/infiniband/hw/usnic/usnic_ib_verbs.h | 5 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 15 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 53 ++--- drivers/infiniband/hw/vmw_pvrdma/pvrdma_verbs.h | 5 +- drivers/infiniband/sw/rdmavt/ah.c | 44 +---- drivers/infiniband/sw/rdmavt/ah.h | 50 +---- drivers/infiniband/sw/rdmavt/cq.c | 44 +---- drivers/infiniband/sw/rdmavt/cq.h | 50 +---- drivers/infiniband/sw/rdmavt/mad.c | 44 +---- drivers/infiniband/sw/rdmavt/mad.h | 50 +---- drivers/infiniband/sw/rdmavt/mcast.c | 44 +---- drivers/infiniband/sw/rdmavt/mcast.h | 50 +---- drivers/infiniband/sw/rdmavt/mmap.c | 44 +---- drivers/infiniband/sw/rdmavt/mmap.h | 50 +---- drivers/infiniband/sw/rdmavt/mr.c | 46 +---- drivers/infiniband/sw/rdmavt/mr.h | 50 +---- drivers/infiniband/sw/rdmavt/pd.c | 44 +---- drivers/infiniband/sw/rdmavt/pd.h | 50 +---- drivers/infiniband/sw/rdmavt/qp.c | 146 ++++---------- drivers/infiniband/sw/rdmavt/qp.h | 55 +----- drivers/infiniband/sw/rdmavt/rc.c | 44 +---- drivers/infiniband/sw/rdmavt/srq.c | 44 +---- drivers/infiniband/sw/rdmavt/srq.h | 50 +---- drivers/infiniband/sw/rdmavt/trace.c | 44 +---- drivers/infiniband/sw/rdmavt/trace.h | 44 +---- drivers/infiniband/sw/rdmavt/trace_cq.h | 44 +---- drivers/infiniband/sw/rdmavt/trace_mr.h | 44 +---- drivers/infiniband/sw/rdmavt/trace_qp.h | 44 +---- drivers/infiniband/sw/rdmavt/trace_rc.h | 44 +---- drivers/infiniband/sw/rdmavt/trace_rvt.h | 44 +---- drivers/infiniband/sw/rdmavt/trace_tx.h | 44 +---- drivers/infiniband/sw/rdmavt/vt.c | 53 +---- drivers/infiniband/sw/rdmavt/vt.h | 50 +---- drivers/infiniband/sw/rxe/rxe.h | 22 --- drivers/infiniband/sw/rxe/rxe_comp.c | 4 +- drivers/infiniband/sw/rxe/rxe_icrc.c | 124 +++++++++++- drivers/infiniband/sw/rxe/rxe_loc.h | 61 +----- drivers/infiniband/sw/rxe/rxe_mr.c | 25 +-- drivers/infiniband/sw/rxe/rxe_net.c | 59 +++++- drivers/infiniband/sw/rxe/rxe_pool.c | 2 +- drivers/infiniband/sw/rxe/rxe_recv.c | 23 +-- drivers/infiniband/sw/rxe/rxe_req.c | 13 +- drivers/infiniband/sw/rxe/rxe_resp.c | 33 +--- drivers/infiniband/sw/rxe/rxe_verbs.c | 61 +++--- drivers/infiniband/sw/rxe/rxe_verbs.h | 2 +- drivers/infiniband/sw/siw/siw_main.c | 1 + drivers/infiniband/sw/siw/siw_qp.c | 2 - drivers/infiniband/sw/siw/siw_qp_tx.c | 44 +++-- drivers/infiniband/sw/siw/siw_verbs.c | 54 +++--- drivers/infiniband/sw/siw/siw_verbs.h | 5 +- drivers/infiniband/ulp/rtrs/rtrs-clt-stats.c | 4 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 157 ++++++++------- drivers/infiniband/ulp/rtrs/rtrs-clt.h | 7 +- drivers/infiniband/ulp/rtrs/rtrs-pri.h | 6 +- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 95 +++++---- drivers/infiniband/ulp/rtrs/rtrs-srv.h | 6 - drivers/infiniband/ulp/rtrs/rtrs.c | 23 ++- drivers/net/ethernet/qlogic/qed/qed_cxt.c | 4 +- include/linux/scatterlist.h | 56 +++++- include/rdma/ib_sa.h | 24 --- include/rdma/ib_umem.h | 11 +- include/rdma/ib_verbs.h | 74 ++++++- include/rdma/rdmavt_qp.h | 2 +- include/uapi/rdma/mlx5-abi.h | 17 +- lib/scatterlist.c | 155 +++++++++------ lib/sg_pool.c | 3 +- tools/testing/scatterlist/main.c | 36 ++-- 217 files changed, 2075 insertions(+), 6609 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Wed, 1 Sep 2021 20:41:59 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/23852bec534a1633dc08f4df88b8493ae99953a9 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1777 bytes --] Hi Linus, I don't usually send a second PR in the merge window, but the fix to mlx5 is significant enough that it should start going through the process ASAP. Along with it comes some of the usual -rc stuff that would normally wait for a -rc2 or so. Thanks, Jason The following changes since commit 6a217437f9f5482a3f6f2dc5fcd27cf0f62409ac: Merge branch 'sg_nents' into rdma.git for-next (2021-08-30 09:49:59 -0300) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 2169b908894df2ce83e7eb4a399d3224b2635126: IB/hfi1: make hist static (2021-09-08 08:33:04 -0300) ---------------------------------------------------------------- RDMA v5.15 merge window 2nd Pull Request An important error case regression fixes in mlx5: - Wrong size used when computing the error path smaller allocation request leads to corruption - Confusing but ultimately harmless alignment mis-calculation - Static checker warnings: Null pointer subtraction in qib kcalloc in bnxt_re Missing static on global variable in hfi1 ---------------------------------------------------------------- Jason Gunthorpe (1): IB/qib: Fix null pointer subtraction compiler warning Len Baker (1): RDMA/bnxt_re: Prefer kcalloc over open coded arithmetic Niklas Schnelle (2): RDMA/mlx5: Fix number of allocated XLT entries RDMA/mlx5: Fix xlt_chunk_align calculation chongjiapeng (1): IB/hfi1: make hist static drivers/infiniband/hw/bnxt_re/ib_verbs.c | 4 ++-- drivers/infiniband/hw/hfi1/trace.c | 2 +- drivers/infiniband/hw/mlx5/mr.c | 4 ++-- drivers/infiniband/hw/qib/qib_sysfs.c | 4 +++- 4 files changed, 8 insertions(+), 6 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Wed, 8 Sep 2021 20:40:32 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/4b105f4a256ae629522a7ed1611aba28fd282bd5 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 3269 bytes --] Hi Linus, Not much too exciting here, although two syzkaller bugs that seem to have 9 lives may have finally been squashed. Thanks, Jason The following changes since commit 6880fa6c56601bb8ed59df6c30fd390cc5f6dd8f: Linux 5.15-rc1 (2021-09-12 16:28:37 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to e671f0ecfece14940a9bb81981098910ea278cf7: RDMA/hns: Add the check of the CQE size of the user space (2021-09-27 14:49:49 -0300) ---------------------------------------------------------------- RDMA v5.15 first rc pull request Several core bugs and a batch of driver bug fixes: - Fix compilation problems in qib and hfi1 - Do not corrupt the joined multicast group state when using SEND_ONLY - Several CMA bugs, a reference leak for listening and two syzkaller crashers - Various bug fixes for irdma - Fix a Sleeping while atomic bug in usnic - Properly sanitize kernel pointers in dmesg - Two bugs in the 64b CQE support for hns ---------------------------------------------------------------- Christoph Lameter (1): IB/cma: Do not send IGMP leaves for sendonly Multicast groups Guo Zhi (1): RDMA/hfi1: Fix kernel pointer leak Jason Gunthorpe (4): IB/qib: Fix clang confusion of NULL pointer comparison RDMA/cma: Do not change route.addr.src_addr.ss_family RDMA/cma: Ensure rdma_addr_cancel() happens before issuing more requests RDMA/hns: Work around broken constant propagation in gcc 8 Leon Romanovsky (1): RDMA/usnic: Lock VF with mutex instead of spinlock Selvin Xavier (1): MAINTAINERS: Update Broadcom RDMA maintainers Sindhu Devale (4): RDMA/irdma: Skip CQP ring during a reset RDMA/irdma: Validate number of CQ entries on create CQ RDMA/irdma: Report correct WC error when transport retry counter is exceeded RDMA/irdma: Report correct WC error when there are MW bind errors Tao Liu (1): RDMA/cma: Fix listener leak in rdma_cma_listen_on_all() failure Wenpeng Liang (2): RDMA/hns: Fix the size setting error when copying CQE in clean_cq() RDMA/hns: Add the check of the CQE size of the user space MAINTAINERS | 1 - drivers/infiniband/core/cma.c | 51 ++++++++++++++++++++++++---- drivers/infiniband/core/cma_priv.h | 1 + drivers/infiniband/hw/hfi1/ipoib_tx.c | 8 ++--- drivers/infiniband/hw/hns/hns_roce_cq.c | 31 ++++++++++++----- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 13 +++---- drivers/infiniband/hw/irdma/cm.c | 4 +-- drivers/infiniband/hw/irdma/hw.c | 14 ++++++-- drivers/infiniband/hw/irdma/i40iw_if.c | 2 +- drivers/infiniband/hw/irdma/main.h | 1 - drivers/infiniband/hw/irdma/user.h | 2 ++ drivers/infiniband/hw/irdma/utils.c | 2 +- drivers/infiniband/hw/irdma/verbs.c | 9 +++-- drivers/infiniband/hw/qib/qib_sysfs.c | 2 +- drivers/infiniband/hw/usnic/usnic_ib.h | 2 +- drivers/infiniband/hw/usnic/usnic_ib_main.c | 2 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 16 ++++----- 17 files changed, 113 insertions(+), 48 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Wed, 29 Sep 2021 22:02:35 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/78c56e53821a7ec3462ce448c1fe6a8d44358831 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 2513 bytes --] Hi Linus, Nothing very exciting here, it has been a quiet cycle overall. Thanks, Jason The following changes since commit 9e1ff307c779ce1f0f810c7ecce3d95bbae40896: Linux 5.15-rc4 (2021-10-03 14:08:47 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 64733956ebba7cc629856f4a6ee35a52bc9c023f: RDMA/sa_query: Use strscpy_pad instead of memcpy to copy a string (2021-10-25 11:51:51 -0300) ---------------------------------------------------------------- RDMA v5.15 second rc pull request Usual collection of small bug fixes: - irdma issues with CQ entries, VLAN completions and a mutex deadlock - Incorrect DCT packets in mlx5 - Userspace triggered overflows in qib - Locking error in hfi - Typo in errno value in qib/hfi1 - Double free in qedr - Leak of random kernel memory to userspace with a netlink callback ---------------------------------------------------------------- Aharon Landau (1): RDMA/mlx5: Initialize the ODP xarray when creating an ODP MR Dan Carpenter (1): RDMA/rdmavt: Fix error code in rvt_create_qp() Mark Zhang (1): RDMA/sa_query: Use strscpy_pad instead of memcpy to copy a string Mike Marciniszyn (2): IB/qib: Protect from buffer overflow in struct qib_user_sdma_pkt fields IB/hfi1: Fix abba locking issue with sc_disable() Mustafa Ismail (2): RDMA/irdma: Set VLAN in UD work completion correctly RDMA/irdma: Do not hold qos mutex twice on QP resume Patrisious Haddad (1): RDMA/mlx5: Set user priority for DCT Prabhakar Kushwaha (1): rdma/qedr: Fix crash due to redundant release of device's qp memory Shiraz Saleem (1): RDMA/irdma: Process extended CQ entries correctly drivers/infiniband/core/sa_query.c | 5 +++-- drivers/infiniband/hw/hfi1/pio.c | 9 ++++++--- drivers/infiniband/hw/irdma/uk.c | 4 ++-- drivers/infiniband/hw/irdma/verbs.c | 8 ++++++-- drivers/infiniband/hw/irdma/ws.c | 13 ++++++------ drivers/infiniband/hw/mlx5/mr.c | 2 +- drivers/infiniband/hw/mlx5/qp.c | 2 ++ drivers/infiniband/hw/qedr/qedr.h | 1 + drivers/infiniband/hw/qedr/qedr_iw_cm.c | 2 +- drivers/infiniband/hw/qedr/verbs.c | 5 ++++- drivers/infiniband/hw/qib/qib_user_sdma.c | 33 +++++++++++++++++++++---------- drivers/infiniband/sw/rdmavt/qp.c | 2 +- 12 files changed, 57 insertions(+), 29 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Wed, 27 Oct 2021 09:49:55 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/ab2aa486f48c79b0c9df77e3827922d29c60df0c Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 16401 bytes --] Hi Linus, These are the proposed RDMA patches for 5.16. Not a very exciting cycle, we again meet the now-normal PR size that is predominately fixes with a few driver features. Thanks, Jason The following changes since commit 8bb7eca972ad531c9b149c0a51ab43a417385813: Linux 5.15 (2021-10-31 13:53:10 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to f1a090f09f42be5a5542009f0be310fdb3e768fc: RDMA/core: Require the driver to set the IOVA correctly during rereg_mr (2021-11-03 09:37:52 -0300) ---------------------------------------------------------------- RDMA v5.16 merge window pull request A typical collection of patches this cycle, mostly fixing with a few new features: - Fixes from static tools. clang warnings, dead code, unused variable, coccinelle sweeps, etc - Driver bug fixes and minor improvements in rxe, bnxt_re, hfi1, mlx5, irdma, qedr - rtrs ULP bug fixes an improvments - Additional counters for bnxt_re - Support verbs CQ notifications in EFA - Continued reworking and fixing of rxe - netlink control to enable/disable optional device counters - rxe now can use AH objects for its UD path, fixing various bugs in the process - Add DMABUF support to EFA ---------------------------------------------------------------- Aharon Landau (12): RDMA/mlx5: Avoid taking MRs from larger MR cache pools when a pool is empty RDMA/counter: Add a descriptor in struct rdma_hw_stats RDMA/counter: Add an is_disabled field in struct rdma_hw_stats RDMA/counter: Add optional counter support RDMA/nldev: Add support to get status of all counters RDMA/nldev: Split nldev_stat_set_mode_doit out of nldev_stat_set_doit RDMA/nldev: Allow optional-counter status configuration through RDMA netlink RDMA/mlx5: Support optional counters in hw_stats initialization RDMA/mlx5: Add steering support in optional flow counters RDMA/mlx5: Add modify_op_stat() support RDMA/mlx5: Add optional counter support in get_hw_stats callback RDMA/core: Require the driver to set the IOVA correctly during rereg_mr Alok Prasad (1): RDMA/qedr: Fix NULL deref for query_qp on the GSI QP Andy Shevchenko (1): IB/hf1: Use string_upper() instead of an open coded variant Arnd Bergmann (1): RDMA/mlx5: fix build error with INFINIBAND_USER_ACCESS=n Bob Pearson (11): RDMA/rxe: Add memory barriers to kernel queues RDMA/rxe: Cleanup MR status and type enums RDMA/rxe: Separate HW and SW l/rkeys RDMA/rxe: Create duplicate mapping tables for FMRs RDMA/rxe: Only allow invalidate for appropriate MRs RDMA/rxe: Move AV from rxe_send_wqe to rxe_send_wr RDMA/rxe: Change AH objects to indexed RDMA/rxe: Create AH index and return to user space RDMA/rxe: Replace ah->pd by ah->ibah.pd RDMA/rxe: Lookup kernel AH from ah index in UD WQEs RDMA/rxe: Convert kernel UD post send to use ah_num Cai Huoqing (1): RDMA/hns: Use dma_alloc_coherent() instead of kmalloc/dma_map_single() Chengchang Tang (1): RDMA/hns: Use the core code to manage the fixed mmap entries Christophe JAILLET (3): RDMA: Remove redundant 'flush_workqueue()' calls RDMA/rxe: Save a few bytes from struct rxe_pool RDMA/rxe: Use 'bitmap_zalloc()' when applicable Colin Ian King (1): RDMA/iwpm: Remove redundant initialization of pointer err_str Edwin Peer (1): RDMA/bnxt_re: Use separate response buffer for stat_ctx_free Gal Pressman (4): RDMA/efa: CQ notifications dma-buf: Fix pin callback comment RDMA/umem: Allow pinned dmabuf umem usage RDMA/efa: Add support for dmabuf memory regions Gustavo A. R. Silva (1): RDMA/hfi1: Use struct_size() and flex_array_size() helpers Haoyue Xu (1): RDMA/hns: Fix initial arm_st of CQ Jack Wang (2): RDMA/rtrs: Fix warning when use poll mode on client side. RDMA/rtrs: Replace duplicate check with is_pollqueue helper Jakub Kicinski (3): RDMA/ipoib: Use dev_addr_mod() RDMA/mlx5: Use dev_addr_mod() RDMA: Constify netdev->dev_addr accesses Jason Gunthorpe (8): Merge branch 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux IB/mlx5: Flow through a more detailed return code from get_prefetchable_mr() Merge tag 'v5.15-rc4' into rdma.get for-next RDMA/cma: Split apart the multiple uses of the same list heads Merge branch 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux Merge brank 'mlx5_mkey' into rdma.git for-next Merge tag 'v5.15' into rdma.git for-next Merge branch 'for-rc' into rdma.git for-next Joe Perches (1): RDMA/rxe: Make rxe_type_info static const Junji Wei (1): RDMA/rxe: Fix wrong port_cap_flags Kamal Heib (5): RDMA/qedr: Remove unsupported qedr_resize_cq callback RDMA/bnxt_re: Fix kernel panic when trying to access bnxt_re_stat_descs RDMA/bnxt_re: Use helper function to set GUIDs RDMA/qed: Use helper function to set GUIDs RDMA/bnxt_re: Remove unsupported bnxt_re_modify_ah callback Leon Romanovsky (1): RDMA/mlx4: Return missed an error if device doesn't support steering Logan Gunthorpe (2): RDMA/rw: switch to dma_map_sgtable() RDMA/core: Set sgtable nents when using ib_dma_virt_map_sg() Mark Zhang (2): RDMA/core: Add a helper API rdma_free_hw_stats_struct RDMA/core: Fix missed initialization of rdma_hw_stats::lock Md Haris Iqbal (5): RDMA/rtrs: Use sysfs_emit instead of s*printf function for sysfs show RDMA/rtrs: Remove len parameter from helper print functions of sysfs RDMA/rtrs: Introduce destroy_cq helper RDMA/rtrs: Do not allow sessname to contain special symbols / and . RDMA/rtrs-clt: Follow "one entry one value" rule for IO migration stats Mike Marciniszyn (6): IB/hfi1: Remove cache and embed txreq in ring IB/hfi1: Get rid of hot path divide IB/hfi1: Get rid of tx priv backpointer IB/hfi1: Tune netdev xmit cachelines IB/hfi1: Remove atomic completion count IB/hfi1: Add ring consumer and producers traces Rao Shoaib (1): RDMA/rxe: Bump up default maximum values used via uverbs Scott Breyer (3): IB/hfi1: Rebranding of hfi1 driver to Cornelis Networks IB/qib: Rebranding of qib driver to Cornelis Networks IB/opa_vnic: Rebranding of OPA VNIC driver to Cornelis Networks Selvin Xavier (10): RDMA/bnxt_re: Add extended statistics counters RDMA/bnxt_re: Update statistics counter name RDMA/bnxt_re: Reduce the delay in polling for hwrm command completion RDMA/bnxt_re: Support multiple page sizes RDMA/bnxt_re: Suppress unwanted error messages RDMA/bnxt_re: Fix query SRQ failure RDMA/bnxt_re: Fix FRMR issue with single page MR allocation RDMA/bnxt_re: Use GFP_KERNEL in non atomic context RDMA/bnxt_re: Correct FRMR size calculation RDMA/bnxt_re: Check if the vlan is valid before reporting Xiao Yang (7): RDMA/rxe: Add new RXE_READ_OR_WRITE_MASK RDMA/rxe: Add MASK suffix for RXE_READ_OR_ATOMIC and RXE_WRITE_OR_SEND RDMA/rxe: Remove unused WR_READ_WRITE_OR_SEND_MASK RDMA/rxe: Remove the is_user members of struct rxe_sq/rxe_rq/rxe_srq RDMA/rxe: Change the is_user member of struct rxe_cq to bool RDMA/rxe: Set partial attributes when completion status != IBV_WC_SUCCESS RDMA/rxe: Remove duplicate settings Yixing Liu (1): RDMA/hns: Modify the value of MAX_LP_MSG_LEN to meet hardware compatibility Zhu Yanjun (11): RDMA/rxe: remove the redundant variable RDMA/rxe: remove the unnecessary variable RDMA/irdma: Delete unused struct irdma_bth RDMA/irdma: Remove irdma_uk_mw_bind() RDMA/irdma: Remove irdma_sc_send_lsmm_nostag() RDMA/irdma: Remove irdma_get_hw_addr() RDMA/irdma: Remove irdma_cqp_up_map_cmd() RDMA/irdma: Make irdma_uk_cq_init() return a void RDMA/irdma: Remove the unused spin lock in struct irdma_qp_uk RDMA/irdma: Remove the unused variable local_qp RDMA/irdma: optimize rx path by removing unnecessary copy wangyugui (1): RDMA/core: Use kvzalloc when allocating the struct ib_port drivers/infiniband/core/cma.c | 34 +- drivers/infiniband/core/cma_priv.h | 11 +- drivers/infiniband/core/counters.c | 40 ++- drivers/infiniband/core/device.c | 1 + drivers/infiniband/core/iwpm_util.c | 2 +- drivers/infiniband/core/nldev.c | 278 ++++++++++++--- drivers/infiniband/core/rw.c | 66 ++-- drivers/infiniband/core/sa_query.c | 1 - drivers/infiniband/core/sysfs.c | 58 ++-- drivers/infiniband/core/umem_dmabuf.c | 51 +++ drivers/infiniband/core/uverbs_cmd.c | 3 - drivers/infiniband/core/verbs.c | 49 +++ drivers/infiniband/hw/bnxt_re/bnxt_re.h | 19 +- drivers/infiniband/hw/bnxt_re/hw_counters.c | 380 +++++++++++++-------- drivers/infiniband/hw/bnxt_re/hw_counters.h | 30 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 45 ++- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 1 - drivers/infiniband/hw/bnxt_re/main.c | 16 +- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 15 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 6 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 2 +- drivers/infiniband/hw/bnxt_re/qplib_res.c | 22 +- drivers/infiniband/hw/bnxt_re/qplib_res.h | 10 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 57 +++- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 33 +- drivers/infiniband/hw/bnxt_re/roce_hsi.h | 85 +++++ drivers/infiniband/hw/cxgb4/cm.c | 1 - drivers/infiniband/hw/cxgb4/device.c | 1 - drivers/infiniband/hw/cxgb4/provider.c | 22 +- drivers/infiniband/hw/efa/efa.h | 23 +- drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 100 +++++- drivers/infiniband/hw/efa/efa_admin_defs.h | 41 +++ drivers/infiniband/hw/efa/efa_com.c | 164 +++++++++ drivers/infiniband/hw/efa/efa_com.h | 38 ++- drivers/infiniband/hw/efa/efa_com_cmd.c | 35 +- drivers/infiniband/hw/efa/efa_com_cmd.h | 10 +- drivers/infiniband/hw/efa/efa_main.c | 182 ++++++++-- drivers/infiniband/hw/efa/efa_regs_defs.h | 7 +- drivers/infiniband/hw/efa/efa_verbs.c | 213 +++++++++--- drivers/infiniband/hw/hfi1/Kconfig | 4 +- drivers/infiniband/hw/hfi1/chip.c | 3 +- drivers/infiniband/hw/hfi1/driver.c | 3 +- drivers/infiniband/hw/hfi1/efivar.c | 10 +- drivers/infiniband/hw/hfi1/init.c | 3 +- drivers/infiniband/hw/hfi1/ipoib.h | 82 +++-- drivers/infiniband/hw/hfi1/ipoib_main.c | 2 +- drivers/infiniband/hw/hfi1/ipoib_tx.c | 316 ++++++++--------- drivers/infiniband/hw/hfi1/trace_tx.h | 71 +++- drivers/infiniband/hw/hfi1/user_exp_rcv.c | 5 +- drivers/infiniband/hw/hfi1/verbs.c | 53 +-- drivers/infiniband/hw/hns/hns_roce_device.h | 26 +- drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 10 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 32 +- drivers/infiniband/hw/hns/hns_roce_main.c | 142 ++++++-- drivers/infiniband/hw/irdma/cm.h | 12 +- drivers/infiniband/hw/irdma/ctrl.c | 43 +-- drivers/infiniband/hw/irdma/hw.c | 7 +- drivers/infiniband/hw/irdma/main.h | 5 +- drivers/infiniband/hw/irdma/osdep.h | 1 - drivers/infiniband/hw/irdma/protos.h | 2 - drivers/infiniband/hw/irdma/trace_cm.h | 8 +- drivers/infiniband/hw/irdma/type.h | 3 +- drivers/infiniband/hw/irdma/uk.c | 101 ++---- drivers/infiniband/hw/irdma/user.h | 32 +- drivers/infiniband/hw/irdma/utils.c | 49 +-- drivers/infiniband/hw/irdma/verbs.c | 146 ++++---- drivers/infiniband/hw/mlx4/alias_GUID.c | 4 +- drivers/infiniband/hw/mlx4/main.c | 44 ++- drivers/infiniband/hw/mlx4/mlx4_ib.h | 2 +- drivers/infiniband/hw/mlx4/qp.c | 4 +- drivers/infiniband/hw/mlx5/counters.c | 283 ++++++++++++--- drivers/infiniband/hw/mlx5/fs.c | 187 ++++++++++ drivers/infiniband/hw/mlx5/mlx5_ib.h | 28 +- drivers/infiniband/hw/mlx5/mr.c | 26 +- drivers/infiniband/hw/mlx5/odp.c | 40 ++- drivers/infiniband/hw/qedr/main.c | 1 - drivers/infiniband/hw/qedr/verbs.c | 25 +- drivers/infiniband/hw/qedr/verbs.h | 1 - drivers/infiniband/hw/qib/qib_driver.c | 5 +- drivers/infiniband/hw/usnic/usnic_fwd.c | 2 +- drivers/infiniband/hw/usnic/usnic_fwd.h | 2 +- drivers/infiniband/sw/rxe/rxe_av.c | 20 +- drivers/infiniband/sw/rxe/rxe_comp.c | 55 ++- drivers/infiniband/sw/rxe/rxe_cq.c | 28 +- drivers/infiniband/sw/rxe/rxe_hw_counters.c | 42 +-- drivers/infiniband/sw/rxe/rxe_loc.h | 2 + drivers/infiniband/sw/rxe/rxe_mr.c | 275 +++++++++++---- drivers/infiniband/sw/rxe/rxe_mw.c | 36 +- drivers/infiniband/sw/rxe/rxe_opcode.h | 6 +- drivers/infiniband/sw/rxe/rxe_param.h | 34 +- drivers/infiniband/sw/rxe/rxe_pool.c | 41 ++- drivers/infiniband/sw/rxe/rxe_pool.h | 15 - drivers/infiniband/sw/rxe/rxe_qp.c | 16 +- drivers/infiniband/sw/rxe/rxe_queue.c | 30 +- drivers/infiniband/sw/rxe/rxe_queue.h | 374 +++++++++----------- drivers/infiniband/sw/rxe/rxe_req.c | 65 ++-- drivers/infiniband/sw/rxe/rxe_resp.c | 50 +-- drivers/infiniband/sw/rxe/rxe_srq.c | 3 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 139 +++----- drivers/infiniband/sw/rxe/rxe_verbs.h | 62 ++-- drivers/infiniband/sw/siw/siw_cm.c | 4 +- drivers/infiniband/ulp/ipoib/ipoib_cm.c | 4 +- drivers/infiniband/ulp/ipoib/ipoib_ib.c | 9 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 18 +- drivers/infiniband/ulp/opa_vnic/Kconfig | 4 +- drivers/infiniband/ulp/opa_vnic/Makefile | 3 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_vema.c | 7 +- drivers/infiniband/ulp/rtrs/rtrs-clt-stats.c | 55 +-- drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 11 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 6 + drivers/infiniband/ulp/rtrs/rtrs-clt.h | 13 +- drivers/infiniband/ulp/rtrs/rtrs-pri.h | 2 +- drivers/infiniband/ulp/rtrs/rtrs-srv-stats.c | 3 +- drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 2 +- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 6 + drivers/infiniband/ulp/rtrs/rtrs-srv.h | 3 +- drivers/infiniband/ulp/rtrs/rtrs.c | 31 +- .../net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c | 8 +- drivers/net/ethernet/qlogic/qed/qed_rdma.c | 17 +- include/linux/dma-buf.h | 4 +- include/rdma/ib_hdrs.h | 1 + include/rdma/ib_umem.h | 11 + include/rdma/ib_verbs.h | 74 ++-- include/rdma/rdma_counter.h | 2 + include/uapi/rdma/efa-abi.h | 18 +- include/uapi/rdma/rdma_netlink.h | 5 + include/uapi/rdma/rdma_user_rxe.h | 10 +- 127 files changed, 3655 insertions(+), 1946 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Wed, 3 Nov 2021 10:43:23 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/25edbc383b72c2364c7b339245c1c5db84e615e1 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1822 bytes --] Hi Linus, I usually don't send a rc1 pull request, but there a few show stopper driver regressions this cycle. Good news is that people test rc1! Thanks, Jason The following changes since commit fa55b7dcdc43c1aa1ba12bca9d2dd4318c2a0dbf: Linux 5.16-rc1 (2021-11-14 13:56:52 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to df4e6faaafe2e4ff4dcdf6d5f5b1e2cb1fec63f7: MAINTAINERS: Update for VMware PVRDMA driver (2021-11-19 09:45:40 -0400) ---------------------------------------------------------------- RDMA v5.16 first rc pull request There are a few big regressions items from the merge window suggesting that people are testing rc1's but not testing the for-next branches: - Warnings fixes - Crash in hf1 when creating QPs and setting counters - Some old mlx4 cards fail to probe due to missing counters - Syzkaller crash in the new counters code ---------------------------------------------------------------- Bryan Tan (1): MAINTAINERS: Update for VMware PVRDMA driver Dennis Dalessandro (1): IB/hfi1: Properly allocate rdma counter desc memory Jack Wang (1): RDMA/mlx4: Do not fail the registration on port stats Leon Romanovsky (3): RDMA/netlink: Add __maybe_unused to static inline in C file RDMA/core: Set send and receive CQ before forwarding to the driver RDMA/nldev: Check stat attribute before accessing it MAINTAINERS | 3 ++- drivers/infiniband/core/nldev.c | 3 ++- drivers/infiniband/core/verbs.c | 3 +++ drivers/infiniband/hw/hfi1/verbs.c | 5 ++--- drivers/infiniband/hw/mlx4/main.c | 18 +++++++++++++++--- include/rdma/rdma_netlink.h | 2 +- 6 files changed, 25 insertions(+), 9 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 19 Nov 2021 13:19:26 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/a8b5f8f26da878abc6c357f485d446391b43ed36 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 3122 bytes --] Hi Linus, The usual driver bug fixes, but nothing that has broke too recently. Thanks, Jason The following changes since commit 136057256686de39cc3a07c2e39ef6bc43003ff6: Linux 5.16-rc2 (2021-11-21 13:47:39 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 10467ce09fefa2e74359f5b2ab1efb8909402f19: RDMA/irdma: Don't arm the CQ more than two times if no CE for this CQ (2021-12-07 13:53:01 -0400) ---------------------------------------------------------------- RDMA v5.16 second rc pull request Quite a few small bug fixes old and new, also Doug Ledford is retiring now, we thank him for his work. Details: - Use after free in rxe - mlx5 DM regression - hns bugs triggred by device reset - Two fixes for CONFIG_DEBUG_PREEMPT - Several longstanding corner case bugs in hfi1 - Two irdma data path bugs in rare cases and some memory issues ---------------------------------------------------------------- Alaa Hleihel (1): RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow Christophe JAILLET (1): RDMA/irdma: Fix a potential memory allocation issue in 'irdma_prm_add_pble_mem()' Doug Ledford (1): Remove Doug Ledford from MAINTAINERS Guoqing Jiang (1): RDMA/rtrs: Call {get,put}_cpu_ptr to silence a debug kernel warning Mike Marciniszyn (4): IB/hfi1: Correct guard on eager buffer deallocation IB/hfi1: Insure use of smp_processor_id() is preempt disabled IB/hfi1: Fix early init panic IB/hfi1: Fix leak of rcvhdrtail_dummy_kvaddr Pavel Skripkin (1): RDMA: Fix use-after-free in rxe_queue_cleanup Shiraz Saleem (2): RDMA/irdma: Fix a user-after-free in add_pble_prm RDMA/irdma: Report correct WC errors Tatyana Nikolova (1): RDMA/irdma: Don't arm the CQ more than two times if no CE for this CQ Yangyang Li (2): RDMA/hns: Do not halt commands during reset until later RDMA/hns: Do not destroy QP resources in the hw resetting phase MAINTAINERS | 1 - drivers/infiniband/hw/hfi1/chip.c | 2 ++ drivers/infiniband/hw/hfi1/driver.c | 2 ++ drivers/infiniband/hw/hfi1/init.c | 40 ++++++++++++---------------- drivers/infiniband/hw/hfi1/sdma.c | 2 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 14 +++++++--- drivers/infiniband/hw/irdma/hw.c | 7 ++++- drivers/infiniband/hw/irdma/main.h | 1 + drivers/infiniband/hw/irdma/pble.c | 8 +++--- drivers/infiniband/hw/irdma/pble.h | 1 - drivers/infiniband/hw/irdma/utils.c | 24 ++++++++++++----- drivers/infiniband/hw/irdma/verbs.c | 23 ++++++++++++---- drivers/infiniband/hw/irdma/verbs.h | 2 ++ drivers/infiniband/hw/mlx5/mlx5_ib.h | 6 ++--- drivers/infiniband/hw/mlx5/mr.c | 26 +++++++++--------- drivers/infiniband/sw/rxe/rxe_qp.c | 1 + drivers/infiniband/ulp/rtrs/rtrs-clt-stats.c | 9 ++++--- 17 files changed, 102 insertions(+), 67 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 9 Dec 2021 17:07:18 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/c741e49150dbb0c0aebe234389f4aa8b47958fa8 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1373 bytes --] Hi Linus, Getting RC patches out of the way before the holidays. Nothing very exciting. Regards, Jason The following changes since commit 2585cf9dfaaddf00b069673f27bb3f8530e2039c: Linux 5.16-rc5 (2021-12-12 14:53:01 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 12d3bbdd6bd2780b71cc466f3fbc6eb7d43bbc2a: RDMA/hns: Replace kfree() with kvfree() (2021-12-14 20:13:29 -0400) ---------------------------------------------------------------- RDMA v5.16 third rc pull request Last fixes before holidays: - Work around a HW bug in HNS HIP08 - Recent memory leak regression in qib - Incorrect use of kfree() for vmalloc memory in hns ---------------------------------------------------------------- Jiacheng Shi (1): RDMA/hns: Replace kfree() with kvfree() José Expósito (1): IB/qib: Fix memory leak in qib_user_sdma_queue_pkts() Yangyang Li (1): RDMA/hns: Fix RNR retransmission issue for HIP08 drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 64 ++++++++++++++++++++++++++---- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 8 ++++ drivers/infiniband/hw/hns/hns_roce_srq.c | 2 +- drivers/infiniband/hw/qib/qib_user_sdma.c | 2 +- 4 files changed, 67 insertions(+), 9 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Mon, 20 Dec 2021 21:25:40 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/6e0567b7305209c2d689ce57180a63d8dc657ad8 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1736 bytes --] Hi Linus, Last PR for 5.16, the reversion has been known for a while now but didn't get a proper fix in time. Looks like we will have several info-leak bugs to take care of going foward. Thanks, Jason The following changes since commit c9e6606c7fe92b50a02ce51dda82586ebdf99b48: Linux 5.16-rc8 (2022-01-02 14:23:25 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to b35a0f4dd544eaa6162b6d2f13a2557a121ae5fd: RDMA/core: Don't infoleak GRH fields (2022-01-05 16:30:19 -0400) ---------------------------------------------------------------- RDMA v5.16 fourth rc pull request - Revert the patch fixing the DM related crash causing a widespread regression for kernel ULPs. A proper fix just didn't appear this cycle due to the holidays - Missing NULL check on alloc in uverbs - Double free in rxe error paths - Fix a new kernel-infoleak report when forming ah_attr's without GRH's in ucma ---------------------------------------------------------------- Jiasheng Jiang (1): RDMA/uverbs: Check for null return of kmalloc_array Leon Romanovsky (1): RDMA/core: Don't infoleak GRH fields Li Zhijian (1): RDMA/rxe: Prevent double freeing rxe_map_set() Maor Gottlieb (1): Revert "RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow" drivers/infiniband/core/uverbs_marshall.c | 2 +- drivers/infiniband/core/uverbs_uapi.c | 3 +++ drivers/infiniband/hw/mlx5/mlx5_ib.h | 6 +++--- drivers/infiniband/hw/mlx5/mr.c | 26 ++++++++++++++------------ drivers/infiniband/sw/rxe/rxe_mr.c | 16 +++++++--------- 5 files changed, 28 insertions(+), 25 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 6 Jan 2022 21:15:19 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/ddec8ed2d4905d0967ce2ec432e440e582aa52c6 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 13749 bytes --] Hi Linus, These are the proposed RDMA patches for 5.17. Another small cycle. Mostly cleanups and bug fixes, quite a bit assisted from bots. There are a few new syzkaller splats that haven't been solved yet but they should get into the rcs in a few weeks, I think. There was a small merge conflict with the rdma RC tree, I fixed it up in a usual v5.16 merge. Thanks, Jason The following changes since commit df0cc57e057f18e44dac8e6c18aba47ab53202f9: Linux 5.16 (2022-01-09 14:55:34 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to c0fe82baaeb2719f910359684c0817057f79a84a: Merge tag 'v5.16' into rdma.git for-next (2022-01-13 13:21:03 -0400) ---------------------------------------------------------------- RDMA v5.17 merge window pull request Substantially all bug fixes and cleanups: - Update drivers to use common helpers for GUIDs, pkeys, bitmaps, memset_startat, and others - General code cleanups from bots - Simplify some of the rxe pool code in preparation for a larger rework - Clean out old stuff from hns, including all support for hip06 devices - Fix a bug where GID table entries could be missed if the table had holes in it - Rename paths and sessions in rtrs for better understandability - Consolidate the roce source port selection code - NDR speed support in mlx5 ---------------------------------------------------------------- Avihai Horon (3): RDMA/core: Modify rdma_query_gid() to return accurate error codes RDMA/core: Let ib_find_gid() continue search even after empty entry RDMA/cma: Let cma_resolve_ib_dev() continue search even after empty entry Bob Pearson (6): RDMA/rxe: Replace irqsave locks with bh locks RDMA/rxe: Cleanup rxe_pool_entry RDMA/rxe: Copy setup parameters into rxe_pool RDMA/rxe: Save object pointer in pool element RDMA/rxe: Remove #include "rxe_loc.h" from rxe_pool.c RDMA/rxe: Remove some #defines from rxe_pool.h Changcheng Deng (1): RDMA/bnxt_re: Remove unneeded variable Chengchang Tang (1): RDMA/hns: Remove support for HIP06 Chengguang Xu (1): RDMA/rxe: Fix a typo in opcode name Christophe JAILLET (16): RDMA/bnxt_re: Scan the whole bitmap when checking if "disabling RCFW with pending cmd-bit" IB/mthca: Use bitmap_zalloc() when applicable IB/mthca: Use bitmap_set() when applicable IB/mthca: Use non-atomic bitmap functions when possible in 'mthca_allocator.c' IB/mthca: Use non-atomic bitmap functions when possible in 'mthca_mr.c' RDMA/cxgb4: Use bitmap_zalloc() when applicable RDMA/cxgb4: Use bitmap_set() when applicable RDMA/cxgb4: Use non-atomic bitmap functions when possible RDMA/ocrdma: Use bitmap_zalloc() when applicable RDMA/ocrdma: Simplify code in 'ocrdma_search_mmap()' RDMA/mlx4: Use bitmap_alloc() when applicable IB/hfi1: Use bitmap_zalloc() when applicable RDMA/pvrdma: Use bitmap_zalloc() when applicable RDMA/pvrdma: Use non-atomic bitmap functions when possible RDMA/bnxt_re: Use bitmap_zalloc() when applicable RDMA/irdma: Fix the type used to declare a bitmap Colin Ian King (1): IB/core: Remove redundant pointer mm Dan Carpenter (1): RDMA/usnic: Clean up usnic_ib_alloc_pd() Dust Li (1): RDMA/mlx5: Print wc status on CQE error and dump needed Greg Kroah-Hartman (1): RDMA: Use default_groups in kobj_type Håkon Bugge (1): RDMA/cma: Remove open coding of overflow checking for private_data_len Jack Wang (1): RDMA/rtrs-clt: Fix the initial value of min_latency Jason Gunthorpe (3): Merge tag 'v5.16-rc5' into rdma.git for-next Merge branch 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux Merge tag 'v5.16' into rdma.git for-next Jiapeng Chong (1): RDMA/siw: Use max() instead of doing it manually Kamal Heib (9): RDMA/irdma: Use helper function to set GUIDs RDMA/ocrdma: Use helper function to set GUIDs RDMA/hns: Validate the pkey index RDMA/cxgb4: Use helper function to set GUIDs RDMA/siw: Use helper function to set sys_image_guid RDMA/bnxt_re: Remove dynamic pkey table RDMA/bnxt_re: Fix endianness warning for req.pkey RDMA/qedr: Fix reporting max_{send/recv}_wr attrs RDMA/cxgb4: Set queue pair state when being queried Kees Cook (3): RDMA/mlx5: Use memset_after() to zero struct mlx5_ib_mr iw_cxgb4: Use memset_startat() for cpl_t5_pass_accept_rpl IB/mthca: Use memset_startat() for clearing mpt_entry Leon Romanovsky (2): RDMA/mad: Delete duplicated init_query_mad functions RDMA/rxe: Delete deprecated module parameters interface Li Zhijian (1): RDMA/rxe: Fix indentations and operators sytle Maher Sanalla (1): IB/mlx5: Expose NDR speed through MAD Max Gurtovoy (5): IB/iser: Remove deprecated pi_guard module param IB/iser: Rename ib_ret local variable IB/iser: Don't suppress send completions IB/iser: Remove un-needed casting to/from void pointer IB/iser: Align coding style across driver Minghao Chi (2): RDMA/ocrdma: Remove unneeded variable RDMA/rxe: Remove redundant err variable Qinghua Jin (1): IB/qib: Fix typos Sergey Gorenko (1): IB/iser: Fix RNR errors Vaishali Thakkar (5): RDMA/rtrs: Rename rtrs_sess to rtrs_path RDMA/rtrs-srv: Rename rtrs_srv_sess to rtrs_srv_path RDMA/rtrs-clt: Rename rtrs_clt_sess to rtrs_clt_path RDMA/rtrs-srv: Rename rtrs_srv to rtrs_srv_sess RDMA/rtrs-clt: Rename rtrs_clt to rtrs_clt_sess Wenpeng Liang (1): RDMA/hns: Modify the hop num of HIP09 EQ to 1 Xinhao Liu (6): RDMA/hns: Correct the hex print format RDMA/hns: Correct the print format to be consistent with the variable type RDMA/hns: Replace tab with space in the right-side comments RDMA/hns: Correct the type of variables participating in the shift operation RDMA/hns: Correctly initialize the members of Array[][] RDMA/hns: Remove magic number Yixing Liu (3): RDMA/hns: Remove macros that are no longer used RDMA/hns: Modify the mapping attribute of doorbell to device RDMA/hns: Support direct wqe of userspace Zhu Yanjun (8): RDMA/uverbs: Remove the unnecessary assignment RDMA/rxe: Remove the unnecessary variable RDMA/rxe: Remove the unused xmit_errors member RDMA/core: Calculate UDP source port based on flow label or lqpn/rqpn RDMA/hns: Replace get_udp_sport with rdma_get_udp_sport RDMA/irdma: Make the source udp port vary RDMA/rxe: Use the standard method to produce udp source port RDMA/irdma: Remove the redundant return drivers/block/rnbd/rnbd-clt.c | 4 +- drivers/block/rnbd/rnbd-clt.h | 2 +- drivers/block/rnbd/rnbd-srv.c | 16 +- drivers/block/rnbd/rnbd-srv.h | 2 +- drivers/infiniband/core/cache.c | 12 +- drivers/infiniband/core/cma.c | 18 +- drivers/infiniband/core/device.c | 3 +- drivers/infiniband/core/sysfs.c | 3 +- drivers/infiniband/core/umem_odp.c | 3 +- drivers/infiniband/core/uverbs_cmd.c | 1 - drivers/infiniband/hw/bnxt_re/ib_verbs.c | 9 +- drivers/infiniband/hw/bnxt_re/main.c | 3 +- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 11 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 12 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 1 - drivers/infiniband/hw/bnxt_re/qplib_res.c | 50 - drivers/infiniband/hw/bnxt_re/qplib_res.h | 7 - drivers/infiniband/hw/bnxt_re/qplib_sp.c | 99 +- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 9 - drivers/infiniband/hw/cxgb4/cm.c | 5 +- drivers/infiniband/hw/cxgb4/id_table.c | 17 +- drivers/infiniband/hw/cxgb4/provider.c | 8 +- drivers/infiniband/hw/cxgb4/qp.c | 1 + drivers/infiniband/hw/hfi1/user_sdma.c | 8 +- drivers/infiniband/hw/hns/Kconfig | 17 +- drivers/infiniband/hw/hns/Makefile | 5 - drivers/infiniband/hw/hns/hns_roce_ah.c | 5 +- drivers/infiniband/hw/hns/hns_roce_alloc.c | 3 +- drivers/infiniband/hw/hns/hns_roce_cmd.c | 11 +- drivers/infiniband/hw/hns/hns_roce_common.h | 202 - drivers/infiniband/hw/hns/hns_roce_cq.c | 13 - drivers/infiniband/hw/hns/hns_roce_db.c | 1 - drivers/infiniband/hw/hns/hns_roce_device.h | 108 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 1 - drivers/infiniband/hw/hns/hns_roce_hw_v1.c | 4675 -------------------- drivers/infiniband/hw/hns/hns_roce_hw_v1.h | 1147 ----- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 49 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 22 +- drivers/infiniband/hw/hns/hns_roce_main.c | 85 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 32 +- drivers/infiniband/hw/hns/hns_roce_pd.c | 17 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 93 +- drivers/infiniband/hw/irdma/i40iw_if.c | 2 +- drivers/infiniband/hw/irdma/pble.h | 2 +- drivers/infiniband/hw/irdma/verbs.c | 31 +- drivers/infiniband/hw/mlx4/main.c | 34 +- drivers/infiniband/hw/mlx5/cq.c | 5 +- drivers/infiniband/hw/mlx5/mad.c | 23 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 12 +- drivers/infiniband/hw/mthca/mthca_allocator.c | 15 +- drivers/infiniband/hw/mthca/mthca_mr.c | 25 +- drivers/infiniband/hw/mthca/mthca_provider.c | 20 +- drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 16 +- drivers/infiniband/hw/ocrdma/ocrdma_main.c | 17 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 18 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.h | 1 - drivers/infiniband/hw/qedr/verbs.c | 2 + drivers/infiniband/hw/qib/qib_iba6120.c | 2 +- drivers/infiniband/hw/qib/qib_iba7220.c | 2 +- drivers/infiniband/hw/qib/qib_iba7322.c | 2 +- drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 3 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 8 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_doorbell.c | 10 +- drivers/infiniband/sw/rxe/Makefile | 1 - drivers/infiniband/sw/rxe/rxe.c | 4 - drivers/infiniband/sw/rxe/rxe.h | 2 - drivers/infiniband/sw/rxe/rxe_comp.c | 8 +- drivers/infiniband/sw/rxe/rxe_cq.c | 24 +- drivers/infiniband/sw/rxe/rxe_loc.h | 10 +- drivers/infiniband/sw/rxe/rxe_mcast.c | 11 +- drivers/infiniband/sw/rxe/rxe_mr.c | 6 +- drivers/infiniband/sw/rxe/rxe_mw.c | 21 +- drivers/infiniband/sw/rxe/rxe_net.c | 9 +- drivers/infiniband/sw/rxe/rxe_opcode.c | 739 ++-- drivers/infiniband/sw/rxe/rxe_pool.c | 177 +- drivers/infiniband/sw/rxe/rxe_pool.h | 54 +- drivers/infiniband/sw/rxe/rxe_qp.c | 6 +- drivers/infiniband/sw/rxe/rxe_queue.c | 9 +- drivers/infiniband/sw/rxe/rxe_req.c | 16 +- drivers/infiniband/sw/rxe/rxe_srq.c | 2 +- drivers/infiniband/sw/rxe/rxe_sysfs.c | 119 - drivers/infiniband/sw/rxe/rxe_task.c | 18 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 34 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 24 +- drivers/infiniband/sw/siw/siw_verbs.c | 6 +- drivers/infiniband/ulp/iser/iscsi_iser.c | 76 +- drivers/infiniband/ulp/iser/iscsi_iser.h | 23 +- drivers/infiniband/ulp/iser/iser_initiator.c | 106 +- drivers/infiniband/ulp/iser/iser_memory.c | 58 +- drivers/infiniband/ulp/iser/iser_verbs.c | 138 +- drivers/infiniband/ulp/rtrs/rtrs-clt-stats.c | 8 +- drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 145 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 1087 ++--- drivers/infiniband/ulp/rtrs/rtrs-clt.h | 41 +- drivers/infiniband/ulp/rtrs/rtrs-pri.h | 18 +- drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 121 +- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 680 +-- drivers/infiniband/ulp/rtrs/rtrs-srv.h | 16 +- drivers/infiniband/ulp/rtrs/rtrs.c | 98 +- drivers/infiniband/ulp/rtrs/rtrs.h | 34 +- drivers/net/ethernet/chelsio/cxgb4/t4_msg.h | 2 +- include/rdma/ib_mad.h | 1 + include/rdma/ib_smi.h | 12 +- include/rdma/ib_verbs.h | 17 + include/uapi/rdma/hns-abi.h | 2 + 105 files changed, 2229 insertions(+), 8794 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Thu, 13 Jan 2022 14:53:10 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/747c19eb7539b5e6bb15ed57a0a14ebf9f3adb8e Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 2571 bytes --] Hi Linus, A few rc fixes that were accumulated over the merge window period Thanks, Jason The following changes since commit e783362eb54cd99b2cac8b3a9aeac942e6f6ac07: Linux 5.17-rc1 (2022-01-23 10:12:53 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to f3136c4ce7acf64bee43135971ca52a880572e32: RDMA/mlx4: Don't continue event handler after memory allocation failure (2022-02-01 10:12:26 -0400) ---------------------------------------------------------------- First v5.17 rc request Some medium sized bugs in the various drivers. A couple are more recent regressions: - Fix two panics in hfi1 and two allocation problems - Send the IGMP to the correct address in cma - Squash a syzkaller bug related to races reading the multicast list - Memory leak in siw and cm - Fix a corner case spec compliance for HFI/QIB - Correct the implementation of fences in siw - Error unwind bug in mlx4 ---------------------------------------------------------------- Bernard Metzler (1): RDMA/siw: Fix broken RDMA Read Fence/Resume logic. Dan Carpenter (1): RDMA/siw: Fix refcounting leak in siw_create_qp() Leon Romanovsky (2): RDMA/ucma: Protect mc during concurrent multicast leaves RDMA/mlx4: Don't continue event handler after memory allocation failure Maor Gottlieb (1): RDMA/cma: Use correct address when leaving multicast group Mark Zhang (1): IB/cm: Release previously acquired reference counter in the cm_id_priv Mike Marciniszyn (5): IB/hfi1: Fix panic with larger ipoib send_queue_size IB/hfi1: Fix alloc failure with larger txqueuelen IB/hfi1: Fix AIP early init panic IB/hfi1: Fix tstats alloc and dealloc IB/rdmavt: Validate remote_addr during loopback atomic tests drivers/infiniband/core/cm.c | 2 +- drivers/infiniband/core/cma.c | 22 ++++++++++--------- drivers/infiniband/core/ucma.c | 34 +++++++++++++++++++---------- drivers/infiniband/hw/hfi1/ipoib.h | 2 +- drivers/infiniband/hw/hfi1/ipoib_main.c | 27 ++++++++++++----------- drivers/infiniband/hw/hfi1/ipoib_tx.c | 38 ++++++++++++++++++++++----------- drivers/infiniband/hw/mlx4/main.c | 2 +- drivers/infiniband/sw/rdmavt/qp.c | 2 ++ drivers/infiniband/sw/siw/siw.h | 7 +----- drivers/infiniband/sw/siw/siw_qp_rx.c | 20 +++++++++-------- drivers/infiniband/sw/siw/siw_verbs.c | 3 ++- 11 files changed, 95 insertions(+), 64 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 4 Feb 2022 19:59:22 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/0457e5153e0e8420134f60921349099e907264ca Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1481 bytes --] Hi Linus, Small rc PR, usual bug fixes, thanks The following changes since commit dfd42facf1e4ada021b939b4e19c935dcdd55566: Linux 5.17-rc3 (2022-02-06 12:20:50 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 22e9f71072fa605cbf033158db58e0790101928d: RDMA/cma: Do not change route.addr.src_addr outside state checks (2022-02-25 16:46:51 -0400) ---------------------------------------------------------------- Second v5.17 rc request - Older "does not even boot" regression in qib from July - Bug fixes for error unwind in rtrs - Avoid a deadlock syzkaller found in srp - Fix another UAF syzkaller found in cma ---------------------------------------------------------------- Bart Van Assche (1): RDMA/ib_srp: Fix a deadlock Jason Gunthorpe (1): RDMA/cma: Do not change route.addr.src_addr outside state checks Md Haris Iqbal (2): RDMA/rtrs-clt: Fix possible double free in error case RDMA/rtrs-clt: Move free_permit from free_clt to rtrs_clt_close Mike Marciniszyn (1): IB/qib: Fix duplicate sysfs directory name drivers/infiniband/core/cma.c | 38 ++++++++++++++++++++------------- drivers/infiniband/hw/qib/qib_sysfs.c | 2 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 39 ++++++++++++++++++---------------- drivers/infiniband/ulp/srp/ib_srp.c | 6 ++++-- 4 files changed, 49 insertions(+), 36 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 25 Feb 2022 17:16:29 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/ca7457236d47d8748bdb6b423d148726220ec3d8 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 13894 bytes --] Hi Linus, Another smaller pull request this time. There is a new RDMA driver on the list for Alibaba's cloud environment which may land for the next cycle. Thanks, Jason The following changes since commit e783362eb54cd99b2cac8b3a9aeac942e6f6ac07: Linux 5.17-rc1 (2022-01-23 10:12:53 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 87e0eacb176f9500c2063d140c0a1d7fa51ab8a5: RDMA/nldev: Prevent underflow in nldev_stat_set_counter_dynamic_doit() (2022-03-18 15:40:54 -0300) ---------------------------------------------------------------- v5.18 merge window pull request Patchces for the merge window: - Minor bug fixes in mlx5, mthca, pvrdma, rtrs, mlx4, hfi1, hns - Minor cleanups: coding style, useless includes and documentation - Reorganize how multicast processing works in rxe - Replace a red/black tree with xarray in rxe which improves performance - DSCP support and HW address handle re-use in irdma - Simplify the mailbox command handling in hns - Simplify iser now that FMR is eliminated ---------------------------------------------------------------- Aharon Landau (5): RDMA/mlx5: Remove redundant work in struct mlx5_cache_ent RDMA/mlx5: Fix the flow of a miss in the allocation of a cache ODP MR RDMA/mlx5: Merge similar flows of allocating MR from the cache RDMA/mlx5: Store ndescs instead of the translation table size RDMA/mlx5: Reorder calls to pcie_relaxed_ordering_enabled() Bart Van Assche (1): RDMA/ib_srp: Add more documentation Bob Pearson (27): RDMA/rxe: Move rxe_mcast_add/delete to rxe_mcast.c RDMA/rxe: Move rxe_mcast_attach/detach to rxe_mcast.c RDMA/rxe: Rename rxe_mc_grp and rxe_mc_elem RDMA/rxe: Enforce IBA o10-2.2.3 RDMA/rxe: Remove rxe_drop_all_macst_groups RDMA/rxe: Remove qp->grp_lock and qp->grp_list RDMA/rxe: Revert changes from irqsave to bh locks RDMA/rxe: Move mcg_lock to rxe RDMA/rxe: Use kzmalloc/kfree for mca RDMA/rxe: Replace grp by mcg, mce by mca RDMA/rxe: Replace int num_qp by atomic_t qp_num RDMA/rxe: Replace pool key by rxe->mcg_tree RDMA/rxe: Remove key'ed object support RDMA/rxe: Remove mcg from rxe pools RDMA/rxe: Warn if mcast memory is not freed RDMA/rxe: Collect mca init code in a subroutine RDMA/rxe: Collect cleanup mca code in a subroutine RDMA/rxe: Cleanup rxe_mcast.c RDMA/rxe: Fix ref error in rxe_av.c RDMA/rxe: Replace mr by rkey in responder resources RDMA/rxe: Reverse the sense of RXE_POOL_NO_ALLOC RDMA/rxe: Delete _locked() APIs for pool objects RDMA/rxe: Replace obj by elem in declaration RDMA/rxe: Move max_elem into rxe_type_info RDMA/rxe: Shorten pool names in rxe_pool.c RDMA/rxe: Replace red-black trees by xarrays RDMA/rxe: Use standard names for ref counting Chengchang Tang (5): RDMA/hns: Remove the unused parameter "op_modifier" in mailbox RDMA/hns: Remove fixed parameter “timeout” in the mailbox RDMA/hns: Refactor mailbox functions RDMA/hns: Remove similar code that configures the hardware contexts RDMA/hns: Refactor the alloc_srqc() Chengguang Xu (2): RDMA/rxe: Change variable and function argument to proper type RDMA/rxe: Remove useless argument for update_state() Christophe JAILLET (2): IB/mthca: Remove useless DMA-32 fallback configuration RDMA/pvrdma: Remove useless DMA-32 fallback configuration Colin Ian King (1): RDMA/mlx4: remove redundant assignment to variable nreq Dan Carpenter (2): RDMA/irdma: Prevent some integer underflows RDMA/nldev: Prevent underflow in nldev_stat_set_counter_dynamic_doit() Dave Ertman (1): ice: add support for DSCP QoS for IDC Gioh Kim (2): RDMA/rtrs: Remove empty line after bracket RDMA/rtrs-clt: Reflow text so lines don't end with a '(' Håkon Bugge (1): IB/cma: Allow XRC INI QPs to set their local ACK timeout Jack Wang (2): RDMA/rtrs-clt: Update one outdated comment in path_it_deinit() RDMA/rtrs-clt: Do stop and failover outside reconnect work. Jason Gunthorpe (1): Merge branch 'irdma_dscp' into rdma.git for-next Julia Lawall (1): RDMA/qib: Fix typos in comments Leon Romanovsky (13): RDMA/mlx5: Delete get_num_static_uars function RDMA/mlx5: Delete useless module.h include RDMA/core: Delete useless module.h include RDMA/hfi1: Delete useless module.h include RDMA/mlx4: Delete useless module.h include RDMA/mthca: Delete useless module.h include RDMA/qib: Delete useless module.h include RDMA/usnic: Delete useless module.h include RDMA/rxe: Delete useless module.h include RDMA/ipoib: Delete useless module.h include RDMA/iser: Delete useless module.h include RDMA/opa: Delete useless module.h include Revert "RDMA/core: Fix ib_qp_usecnt_dec() called when error" Maor Gottlieb (1): RDMA/core: Set MR type in ib_reg_user_mr Max Gurtovoy (4): IB/iser: Remove iser_reg_data_sg helper function IB/iser: Use iser_fr_desc as registration context IB/iser: Generalize map/unmap dma tasks IB/iser: Fix error flow in case of registration failure Mike Marciniszyn (1): IB/hfi1: Allow larger MTU without AIP Mustafa Ismail (6): RDMA/irdma: Refactor DCB bits in prep for DSCP support RDMA/irdma: Add support for DSCP RDMA/irdma: Fix netdev notifications for vlan's RDMA/irdma: Fix Passthrough mode in VM RDMA/irdma: Remove incorrect masking of PD RDMA/irdma: Add support for address handle re-use Shiraz Saleem (3): RDMA/irdma: Remove enum irdma_status_code RDMA/irdma: Propagate error codes RDMA/irdma: Remove excess error variables Wenpeng Liang (4): RDMA/hns: Remove redundant parameter "mailbox" in the mailbox RDMA/hns: Fix the wrong type of parameter "op" of the mailbox RDMA/hns: Clean up the return value check of hns_roce_alloc_cmd_mailbox() RDMA/hns: Refactor the alloc_cqc() Xiao Yang (1): RDMA/rxe: Check the last packet by RXE_END_MASK Yajun Deng (2): RDMA/core: Remove unnecessary statements RDMA/core: Fix ib_qp_usecnt_dec() called when error Yixing Liu (1): RDMA/hns: Use the reserved loopback QPs to free MR before destroying MPT Yongzhi Liu (1): RDMA/mlx5: Fix memory leak in error flow for subscribe event routine Yury Norov (1): RDMA/hfi: Replace cpumask_weight with cpumask_empty where appropriate Zhu Yanjun (4): RDMA/irdma: Use net_type to check network type RDMA/irdma: Remove the unnecessary variable saddr RDMA/irdma: Move union irdma_sockaddr to header file RDMA/irdma: Make irdma_create_mg_ctx return a void drivers/infiniband/core/addr.c | 1 - drivers/infiniband/core/cache.c | 1 - drivers/infiniband/core/cma.c | 2 +- drivers/infiniband/core/cma_configfs.c | 1 - drivers/infiniband/core/cq.c | 1 - drivers/infiniband/core/iwpm_util.h | 1 - drivers/infiniband/core/nldev.c | 3 +- drivers/infiniband/core/sa_query.c | 1 - drivers/infiniband/core/verbs.c | 9 +- drivers/infiniband/hw/hfi1/affinity.c | 5 +- drivers/infiniband/hw/hfi1/debugfs.c | 1 - drivers/infiniband/hw/hfi1/device.c | 1 - drivers/infiniband/hw/hfi1/fault.c | 1 - drivers/infiniband/hw/hfi1/firmware.c | 1 - drivers/infiniband/hw/hfi1/verbs.c | 3 +- drivers/infiniband/hw/hns/hns_roce_cmd.c | 97 ++-- drivers/infiniband/hw/hns/hns_roce_cmd.h | 8 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 71 +-- drivers/infiniband/hw/hns/hns_roce_device.h | 26 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 4 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 458 +++++++++++++--- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 20 + drivers/infiniband/hw/hns/hns_roce_hw_v2_dfx.c | 5 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 50 +- drivers/infiniband/hw/hns/hns_roce_srq.c | 110 ++-- drivers/infiniband/hw/irdma/cm.c | 68 +-- drivers/infiniband/hw/irdma/cm.h | 7 + drivers/infiniband/hw/irdma/ctrl.c | 602 +++++++++++----------- drivers/infiniband/hw/irdma/defs.h | 8 +- drivers/infiniband/hw/irdma/hmc.c | 105 ++-- drivers/infiniband/hw/irdma/hmc.h | 53 +- drivers/infiniband/hw/irdma/hw.c | 192 ++++--- drivers/infiniband/hw/irdma/i40iw_hw.c | 1 - drivers/infiniband/hw/irdma/i40iw_if.c | 3 +- drivers/infiniband/hw/irdma/main.c | 29 +- drivers/infiniband/hw/irdma/main.h | 47 +- drivers/infiniband/hw/irdma/osdep.h | 41 +- drivers/infiniband/hw/irdma/pble.c | 77 ++- drivers/infiniband/hw/irdma/pble.h | 25 +- drivers/infiniband/hw/irdma/protos.h | 90 ++-- drivers/infiniband/hw/irdma/puda.c | 132 +++-- drivers/infiniband/hw/irdma/puda.h | 43 +- drivers/infiniband/hw/irdma/status.h | 71 --- drivers/infiniband/hw/irdma/type.h | 109 ++-- drivers/infiniband/hw/irdma/uda.c | 40 +- drivers/infiniband/hw/irdma/uda.h | 46 +- drivers/infiniband/hw/irdma/uk.c | 122 ++--- drivers/infiniband/hw/irdma/user.h | 62 +-- drivers/infiniband/hw/irdma/utils.c | 247 +++++---- drivers/infiniband/hw/irdma/verbs.c | 389 +++++++------- drivers/infiniband/hw/irdma/verbs.h | 15 +- drivers/infiniband/hw/irdma/ws.c | 19 +- drivers/infiniband/hw/irdma/ws.h | 2 +- drivers/infiniband/hw/mlx4/alias_GUID.c | 1 - drivers/infiniband/hw/mlx4/srq.c | 1 - drivers/infiniband/hw/mlx5/devx.c | 4 +- drivers/infiniband/hw/mlx5/ib_virt.c | 1 - drivers/infiniband/hw/mlx5/mem.c | 1 - drivers/infiniband/hw/mlx5/mlx5_ib.h | 12 +- drivers/infiniband/hw/mlx5/mr.c | 104 ++-- drivers/infiniband/hw/mlx5/odp.c | 19 +- drivers/infiniband/hw/mlx5/qp.c | 4 +- drivers/infiniband/hw/mlx5/srq.c | 1 - drivers/infiniband/hw/mthca/mthca_main.c | 8 +- drivers/infiniband/hw/mthca/mthca_profile.c | 2 - drivers/infiniband/hw/qib/qib_fs.c | 1 - drivers/infiniband/hw/qib/qib_iba7220.c | 4 +- drivers/infiniband/hw/usnic/usnic_debugfs.c | 1 - drivers/infiniband/hw/usnic/usnic_ib_qp_grp.c | 1 - drivers/infiniband/hw/usnic/usnic_ib_sysfs.c | 1 - drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 1 - drivers/infiniband/hw/usnic/usnic_transport.c | 1 - drivers/infiniband/hw/usnic/usnic_vnic.c | 1 - drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 10 +- drivers/infiniband/sw/rxe/rxe.c | 110 +--- drivers/infiniband/sw/rxe/rxe.h | 1 - drivers/infiniband/sw/rxe/rxe_av.c | 19 +- drivers/infiniband/sw/rxe/rxe_comp.c | 8 +- drivers/infiniband/sw/rxe/rxe_cq.c | 20 +- drivers/infiniband/sw/rxe/rxe_loc.h | 32 +- drivers/infiniband/sw/rxe/rxe_mcast.c | 556 +++++++++++++++----- drivers/infiniband/sw/rxe/rxe_mmap.c | 1 - drivers/infiniband/sw/rxe/rxe_mr.c | 15 +- drivers/infiniband/sw/rxe/rxe_mw.c | 38 +- drivers/infiniband/sw/rxe/rxe_net.c | 41 +- drivers/infiniband/sw/rxe/rxe_pool.c | 443 ++++------------ drivers/infiniband/sw/rxe/rxe_pool.h | 105 +--- drivers/infiniband/sw/rxe/rxe_qp.c | 57 +- drivers/infiniband/sw/rxe/rxe_queue.c | 10 +- drivers/infiniband/sw/rxe/rxe_recv.c | 26 +- drivers/infiniband/sw/rxe/rxe_req.c | 71 +-- drivers/infiniband/sw/rxe/rxe_resp.c | 170 +++--- drivers/infiniband/sw/rxe/rxe_verbs.c | 108 ++-- drivers/infiniband/sw/rxe/rxe_verbs.h | 27 +- drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 1 - drivers/infiniband/ulp/ipoib/ipoib_vlan.c | 1 - drivers/infiniband/ulp/iser/iscsi_iser.h | 13 +- drivers/infiniband/ulp/iser/iser_initiator.c | 58 +-- drivers/infiniband/ulp/iser/iser_memory.c | 69 +-- drivers/infiniband/ulp/iser/iser_verbs.c | 3 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_netdev.c | 1 - drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 3 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 42 +- drivers/infiniband/ulp/rtrs/rtrs-clt.h | 1 + drivers/infiniband/ulp/rtrs/rtrs.c | 1 - drivers/infiniband/ulp/srp/ib_srp.h | 11 +- drivers/net/ethernet/intel/ice/ice_idc.c | 5 + include/linux/net/intel/iidc.h | 4 + 108 files changed, 2890 insertions(+), 2886 deletions(-) delete mode 100644 drivers/infiniband/hw/irdma/status.h [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Wed, 23 Mar 2022 16:54:36 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/2dacc1e57b95ebc42ddcbfc26cd74700b341f1df Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1948 bytes --] Hi Linus, Small rc1 update, there is a new regression in rxe that is still being looked into. Leon has agreed to help with the maintenance work. He will send you some pull requests from time to time to ensure everything is setup well. Thanks, Jason The following changes since commit 3123109284176b1532874591f7c81f3837bbdc17: Linux 5.18-rc1 (2022-04-03 14:08:21 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 2bbac98d0930e8161b1957dc0ec99de39ade1b3c: RDMA/hfi1: Fix use-after-free bug for mm struct (2022-04-08 15:40:06 -0300) ---------------------------------------------------------------- v5.18 first rc pull request Several bug fixes for old bugs: - Welcome Leon as co-maintainer for RDMA so we are back to having two people - Some corner cases are fixed in mlx5's MR code - Long standing CM bug where a DREQ at the wrong time can result in a long timeout - Missing locking and refcounting in hf1 ---------------------------------------------------------------- Aharon Landau (2): RDMA/mlx5: Don't remove cache MRs when a delay is needed RDMA/mlx5: Add a missing update of cache->last_add Dennis Dalessandro (1): MAINTAINERS: Update qib and hfi1 related drivers Douglas Miller (1): RDMA/hfi1: Fix use-after-free bug for mm struct Jason Gunthorpe (1): MAINTAINERS: Add Leon Romanovsky to RDMA maintainers Mark Zhang (1): IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD Niels Dossche (1): IB/rdmavt: add lock to call to rvt_error_qp to prevent a race condition MAINTAINERS | 5 +---- drivers/infiniband/core/cm.c | 3 +-- drivers/infiniband/hw/hfi1/mmu_rb.c | 6 ++++++ drivers/infiniband/hw/mlx5/mr.c | 5 ++++- drivers/infiniband/sw/rdmavt/qp.c | 6 +++++- 5 files changed, 17 insertions(+), 8 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
The pull request you sent on Fri, 8 Apr 2022 16:03:26 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/f335af10482a41ad5d28b4a2b0bee3ea35f771ce Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 2529 bytes --] Hi Linus, Small update, still some rxe bugs that need fixing, but that is normal for rxe. Also, I replaced my Yubikey with a newer one that can do the smaller edwards curves and so have a generated a new pgp subkey. I signed the tag with the new key and this message with the old. It should be on the keyservers now, but if you have trouble it is in the kernel.org repo: https://git.kernel.org/pub/scm/docs/kernel/pgpkeys.git/tree/keys/A5F46BDD553C74FA.asc Thanks, Jason The following changes since commit ce522ba9ef7e2d9fb22a39eb3371c0c64e2a433e: Linux 5.18-rc2 (2022-04-10 14:21:36 -1000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to bfdc0edd11f9501b891a069b5bbd3b16731941e1: RDMA/rxe: Change mcg_lock to a _bh lock (2022-05-04 21:29:25 -0300) ---------------------------------------------------------------- v5.18 second rc pull request A few recent regressions in rxe's multicast code, and some old driver bugs: - Error case unwind bug in rxe for rkeys - Dot not call netdev functions under a spinlock in rxe multicast code - Use the proper BH lock type in rxe multicast code - Fix idrma deadlock and crash - Add a missing flush to drain irdma QPs when in error - Fix high userspace latency in irdma during destroy due to synchronize_rcu() - Rare race in siw MPA processing ---------------------------------------------------------------- Bob Pearson (4): RDMA/rxe: Fix "Replace mr by rkey in responder resources" RDMA/rxe: Recheck the MR in when generating a READ reply RDMA/rxe: Do not call dev_mc_add/del() under a spinlock RDMA/rxe: Change mcg_lock to a _bh lock Cheng Xu (1): RDMA/siw: Fix a condition race issue in MPA request processing Duoming Zhou (1): RDMA/irdma: Fix deadlock in irdma_cleanup_cm_core() Mustafa Ismail (1): RDMA/irdma: Fix possible crash due to NULL netdev in notifier Shiraz Saleem (1): RDMA/irdma: Reduce iWARP QP destroy time Tatyana Nikolova (1): RDMA/irdma: Flush iWARP QP if modified to ERR from RTR state drivers/infiniband/hw/irdma/cm.c | 33 ++++-------- drivers/infiniband/hw/irdma/utils.c | 21 ++++---- drivers/infiniband/hw/irdma/verbs.c | 4 +- drivers/infiniband/sw/rxe/rxe_mcast.c | 95 ++++++++++++++++------------------- drivers/infiniband/sw/rxe/rxe_resp.c | 35 +++++++++---- drivers/infiniband/sw/siw/siw_cm.c | 7 +-- 6 files changed, 92 insertions(+), 103 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --]
On Fri, May 6, 2022 at 9:01 AM Jason Gunthorpe <jgg@nvidia.com> wrote:
>
> 6 files changed, 92 insertions(+), 103 deletions(-)
I couldn't for the life of me understand how you got to that diffstat,
since everything I tried gave me
6 files changed, 85 insertions(+), 96 deletions(-)
instead.
Until I realized that you must be using the '--histogram' flag to git
diff. It seems to give quite different results for rxe/rxe_mcast.c.
Better? Worse? I dunno. But it threw me.
Linus
The pull request you sent on Fri, 6 May 2022 13:01:51 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/4df22ca85d3d73f9822b1a354bb56dd1872180cd Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
On Fri, May 06, 2022 at 09:57:07AM -0700, Linus Torvalds wrote:
> On Fri, May 6, 2022 at 9:01 AM Jason Gunthorpe <jgg@nvidia.com> wrote:
> >
> > 6 files changed, 92 insertions(+), 103 deletions(-)
>
> I couldn't for the life of me understand how you got to that diffstat,
> since everything I tried gave me
>
> 6 files changed, 85 insertions(+), 96 deletions(-)
>
> instead.
>
> Until I realized that you must be using the '--histogram' flag to git
> diff. It seems to give quite different results for rxe/rxe_mcast.c.
Huh. That is surprising - I can't say why anymore, but yes this git
tree did have the histrogram setting in the git config.
I took it away
Thanks,
Jason
[-- Attachment #1: Type: text/plain, Size: 10863 bytes --] Hi Linus, The usual batch of RDMA changes, one of the smallest PRs I think possibly ever. There are two new drivers currently posted that are likely to make the next cycle. Thanks, Jason The following changes since commit 4b0986a3613c92f4ec1bdc7f60ec66fea135991f: Linux 5.18 (2022-05-22 09:52:31 -1000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 9c477178a0a187c4718c228cc6e0692564811441: RDMA/rtrs-clt: Fix one kernel-doc comment (2022-05-26 10:54:13 -0300) ---------------------------------------------------------------- v5.19 pull request Small collection of incremental improvement patches: - Minor code cleanup patches, comment improvements, etc from static tools - Clean the some of the kernel caps, reducing the historical stealth uAPI leftovers - Bug fixes and minor changes for rdmavt, hns, rxe, irdma - Remove unimplemented cruft from rxe - Reorganize UMR QP code in mlx5 to avoid going through the IB verbs layer - flush_workqueue(system_unbound_wq) removal - Ensure rxe waits for objects to be unused before allowing the core to free them - Several rc quality bug fixes for hfi1 ---------------------------------------------------------------- Aharon Landau (12): RDMA/mlx5: Move init and cleanup of UMR to umr.c RDMA/mlx5: Move umr checks to umr.h RDMA/mlx5: Move mkey ctrl segment logic to umr.c RDMA/mlx5: Simplify get_umr_update_access_mask() RDMA/mlx5: Expose wqe posting helpers outside of wr.c RDMA/mlx5: Introduce mlx5_umr_post_send_wait() RDMA/mlx5: Use mlx5_umr_post_send_wait() to revoke MRs RDMA/mlx5: Use mlx5_umr_post_send_wait() to rereg pd access RDMA/mlx5: Move creation and free of translation tables to umr.c RDMA/mlx5: Use mlx5_umr_post_send_wait() to update MR pas RDMA/mlx5: Use mlx5_umr_post_send_wait() to update xlt RDMA/mlx5: Clean UMR QP type flow from mlx5_ib_post_send() Bernard Metzler (1): RDMA/siw: Enable siw on tunnel devices Bob Pearson (12): RDMA/rxe: Remove type 2A memory window capability RDMA/rxe: Remove mc_grp_pool from struct rxe_dev RDMA/rxe: Remove support for SMI QPs from rdma_rxe RDMA/rxe: Remove reliable datagram support RDMA/rxe: Replace paylen by payload RDMA/rxe: Remove IB_SRQ_INIT_MASK RDMA/rxe: Add rxe_srq_cleanup() RDMA/rxe: Check rxe_get() return value RDMA/rxe: Move qp cleanup code to rxe_qp_do_cleanup() RDMA/rxe: Move mr cleanup code to rxe_mr_cleanup() RDMA/rxe: Move mw cleanup code to rxe_mw_cleanup() RDMA/rxe: Enforce IBA C11-17 Chengchang Tang (1): RDMA/hns: Remove unnecessary check for the sgid_attr when modifying QP Chengguang Xu (1): RDMA/rxe: Skip adjusting remote addr for write in retry operation Christophe JAILLET (1): RDMA/rxe: Fix an error handling path in rxe_get_mcg() Daisuke Matsuda (1): RDMA/mlx5: Remove duplicate pointer assignment in mlx5_ib_alloc_implicit_mr() Dennis Dalessandro (4): RDMA/hfi1: Fix potential integer multiplication overflow errors RDMA/hfi1: Remove pointless driver version RDMA/hfi1: Consolidate software versions RDMA/hfi1: Remove all traces of diagpkt support Douglas Miller (2): RDMA/hfi1: Prevent use of lock before it is initialized RDMA/hfi1: Prevent panic when SDMA is disabled Guo Zhengkui (1): RDMA/hns: Remove unnecessary ret variable from hns_roce_dereg_mr() Guofeng Yue (1): RDMA/hns: Remove redundant variable "ret" Haoyue Xu (1): RDMA/hns: Init the variable at the suitable place Jakob Koschel (1): IB/SA: Replace usage of found with dedicated list iterator variable Jason Gunthorpe (3): RDMA: Split kernel-only global device caps from uverbs device caps Merge branch 'mlx5-next' of https://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux Merge tag 'v5.18' into rdma.git for-next Julia Lawall (5): IB/iser: Fix typo in comment IB/qib: Fix typo in comment IB/hf1: Fix typo in comment RDMA/core: Fix typo in comment IB/core: Fix typo in comment Leon Romanovsky (1): RDMA/mlx5: Fix flow steering egress flow Li Zhijian (1): RDMA/rxe: Remove useless parameters for update_state() Minghao Chi (1): RDMA/qedr: Remove unnecessary synchronize_irq() before free_irq() Mustafa Ismail (1): RDMA/irdma: Add SW mechanism to generate completions on error Niels Dossche (1): IB/rdmavt: add missing locks in rvt_ruc_loopback Robin Murphy (2): RDMA/usnic: Stop using iommu_present() RDMA/usnic: Refactor usnic_uiom_alloc_pd() Tetsuo Handa (3): RDMA/core: Avoid flush_workqueue(system_unbound_wq) usage IB/isert: Avoid flush_scheduled_work() usage RDMA/mlx4: Avoid flush_scheduled_work() usage Wenpeng Liang (3): RDMA/hns: Add judgment on the execution result of CMDQ that free vf resource RDMA/hns: Use hr_reg_xxx() instead of remaining roce_set_xxx() RDMA/hns: Use hr_reg_read() instead of remaining roce_get_xxx() Xiao Yang (3): IB/uverbs: Move enum ib_raw_packet_caps to uapi IB/uverbs: Move part of enum ib_device_cap_flags to uapi RDMA/rxe: Generate a completion for unsupported/invalid opcode Yang Li (1): RDMA/rtrs-clt: Fix one kernel-doc comment Yangyang Li (1): RDMA/hns: Add the detection for CMDQ status in the device initialization process Yixing Liu (2): RDMA/hns: Remove unused function to_hns_roce_state() RDMA/hns: Remove the num_cqc_timer variable Zhu Yanjun (2): RDMA/irdma: Remove the redundant variable RDMA/rxe: Optimize the mr pool struct drivers/infiniband/core/device.c | 24 +- drivers/infiniband/core/nldev.c | 2 +- drivers/infiniband/core/sa_query.c | 16 +- drivers/infiniband/core/umem_odp.c | 2 +- drivers/infiniband/core/uverbs_cmd.c | 2 +- drivers/infiniband/core/verbs.c | 8 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 2 +- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 1 - drivers/infiniband/hw/cxgb4/provider.c | 8 +- drivers/infiniband/hw/hfi1/common.h | 55 -- drivers/infiniband/hw/hfi1/driver.c | 6 - drivers/infiniband/hw/hfi1/efivar.c | 2 +- drivers/infiniband/hw/hfi1/file_ops.c | 4 +- drivers/infiniband/hw/hfi1/init.c | 2 +- drivers/infiniband/hw/hfi1/sdma.c | 12 +- drivers/infiniband/hw/hfi1/verbs.c | 4 +- drivers/infiniband/hw/hns/hns_roce_device.h | 32 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 451 +++++++---------- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 326 ++++-------- drivers/infiniband/hw/hns/hns_roce_main.c | 2 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 3 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 20 - drivers/infiniband/hw/hns/hns_roce_restrack.c | 49 +- drivers/infiniband/hw/irdma/hw.c | 35 +- drivers/infiniband/hw/irdma/main.h | 1 - drivers/infiniband/hw/irdma/puda.c | 7 +- drivers/infiniband/hw/irdma/utils.c | 147 ++++++ drivers/infiniband/hw/irdma/verbs.c | 60 ++- drivers/infiniband/hw/irdma/verbs.h | 13 +- drivers/infiniband/hw/mlx4/cm.c | 29 +- drivers/infiniband/hw/mlx4/main.c | 18 +- drivers/infiniband/hw/mlx4/mlx4_ib.h | 3 + drivers/infiniband/hw/mlx5/Makefile | 1 + drivers/infiniband/hw/mlx5/fs.c | 5 - drivers/infiniband/hw/mlx5/main.c | 124 +---- drivers/infiniband/hw/mlx5/mlx5_ib.h | 89 +--- drivers/infiniband/hw/mlx5/mr.c | 421 +--------------- drivers/infiniband/hw/mlx5/odp.c | 64 ++- drivers/infiniband/hw/mlx5/qp.c | 1 + drivers/infiniband/hw/mlx5/umr.c | 700 ++++++++++++++++++++++++++ drivers/infiniband/hw/mlx5/umr.h | 97 ++++ drivers/infiniband/hw/mlx5/wr.c | 377 +++----------- drivers/infiniband/hw/mlx5/wr.h | 60 +++ drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +- drivers/infiniband/hw/qedr/main.c | 1 - drivers/infiniband/hw/qedr/verbs.c | 3 +- drivers/infiniband/hw/qib/qib.h | 2 +- drivers/infiniband/hw/usnic/usnic_ib_main.c | 11 +- drivers/infiniband/hw/usnic/usnic_ib_verbs.c | 6 +- drivers/infiniband/hw/usnic/usnic_uiom.c | 15 +- drivers/infiniband/hw/usnic/usnic_uiom.h | 3 +- drivers/infiniband/sw/rdmavt/qp.c | 6 +- drivers/infiniband/sw/rxe/rxe.c | 1 + drivers/infiniband/sw/rxe/rxe_comp.c | 3 +- drivers/infiniband/sw/rxe/rxe_loc.h | 17 +- drivers/infiniband/sw/rxe/rxe_mcast.c | 6 +- drivers/infiniband/sw/rxe/rxe_mr.c | 10 +- drivers/infiniband/sw/rxe/rxe_mw.c | 65 +-- drivers/infiniband/sw/rxe/rxe_opcode.c | 2 - drivers/infiniband/sw/rxe/rxe_param.h | 2 - drivers/infiniband/sw/rxe/rxe_pool.c | 11 +- drivers/infiniband/sw/rxe/rxe_pool.h | 5 - drivers/infiniband/sw/rxe/rxe_qp.c | 36 +- drivers/infiniband/sw/rxe/rxe_recv.c | 1 - drivers/infiniband/sw/rxe/rxe_req.c | 28 +- drivers/infiniband/sw/rxe/rxe_resp.c | 8 +- drivers/infiniband/sw/rxe/rxe_srq.c | 129 +++-- drivers/infiniband/sw/rxe/rxe_verbs.c | 40 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 3 +- drivers/infiniband/sw/siw/siw_main.c | 5 +- drivers/infiniband/sw/siw/siw_verbs.c | 4 +- drivers/infiniband/ulp/ipoib/ipoib.h | 1 + drivers/infiniband/ulp/ipoib/ipoib_main.c | 5 +- drivers/infiniband/ulp/ipoib/ipoib_verbs.c | 6 +- drivers/infiniband/ulp/iser/iscsi_iser.c | 2 +- drivers/infiniband/ulp/iser/iscsi_iser.h | 2 +- drivers/infiniband/ulp/iser/iser_verbs.c | 8 +- drivers/infiniband/ulp/isert/ib_isert.c | 27 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 2 +- drivers/infiniband/ulp/srp/ib_srp.c | 8 +- drivers/nvme/host/rdma.c | 4 +- drivers/nvme/target/rdma.c | 4 +- fs/cifs/smbdirect.c | 2 +- include/rdma/ib_verbs.h | 138 ++--- include/rdma/opa_vnic.h | 3 +- include/uapi/rdma/ib_user_verbs.h | 42 ++ net/rds/ib.c | 4 +- net/sunrpc/xprtrdma/frwr_ops.c | 2 +- 88 files changed, 1968 insertions(+), 2002 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Thu, 26 May 2022 11:46:15 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/780d8ce7162818cfe03e9a5e23b3af192a1d37bc Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1227 bytes --] Hi Linus, Just a few patches that have accumulated in the last 5 weeks Thanks, Jason The following changes since commit f2906aa863381afb0015a9eb7fefad885d4e5a56: Linux 5.19-rc1 (2022-06-05 17:18:54 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 0fe3dbbefb74a8575f61d7801b08dbc50523d60d: linux/dim: Fix divide by 0 in RDMA DIM (2022-06-28 10:37:25 -0300) ---------------------------------------------------------------- First v5.19 rc pull request Three minor bug fixes: - qedr not setting the QP timeout properly toward userspace - Memory leak on error path in ib_cm - Divide by 0 in RDMA interrupt moderation ---------------------------------------------------------------- Kamal Heib (1): RDMA/qedr: Fix reporting QP timeout attribute Miaoqian Lin (1): RDMA/cm: Fix memory leak in ib_cm_insert_listen Tao Liu (1): linux/dim: Fix divide by 0 in RDMA DIM drivers/infiniband/core/cm.c | 4 +++- drivers/infiniband/hw/qedr/qedr.h | 1 + drivers/infiniband/hw/qedr/verbs.c | 4 +++- include/linux/dim.h | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Thu, 30 Jun 2022 09:57:38 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/1a0e93df1e107dc766fdf86ae88076efd9f376e6 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1237 bytes --] Hi Linus, Two small patches for the irdma driver. Thanks, Jason The following changes since commit 32346491ddf24599decca06190ebca03ff9de7f8: Linux 5.19-rc6 (2022-07-10 14:40:51 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to cc0315564d6eec91c716d314b743321be24c70b3: RDMA/irdma: Fix sleep from invalid context BUG (2022-07-11 03:04:16 -0300) ---------------------------------------------------------------- Second v5.19 rc pull request Two bug fixes for irdma: - x722 does not support 1GB pages, trying to configure them will corrupt the dma mapping - Fix a sleep while holding a spinlock ---------------------------------------------------------------- Mustafa Ismail (2): RDMA/irdma: Do not advertise 1GB page size for x722 RDMA/irdma: Fix sleep from invalid context BUG drivers/infiniband/hw/irdma/cm.c | 50 --------------------------------- drivers/infiniband/hw/irdma/i40iw_hw.c | 1 + drivers/infiniband/hw/irdma/icrdma_hw.c | 1 + drivers/infiniband/hw/irdma/irdma.h | 1 + drivers/infiniband/hw/irdma/verbs.c | 4 +-- 5 files changed, 5 insertions(+), 52 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Mon, 18 Jul 2022 20:12:10 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/ca85855bdcae8f84f1512e88b4c75009ea17ea2f Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 13589 bytes --] Hi Linus, This cycle we got a new RDMA driver "ERDMA" for the Alibaba cloud environment. Otherwise the PR is dominated by rxe fixes. There is another RDMA driver on the list that might get merged next cycle, "MANA" for the Azure cloud environment. Thanks, Jason The following changes since commit cdcdce948d64139aea1c6dfea4b04f5c8ad2784e: net/mlx5: Add bits and fields to support enhanced CQE compression (2022-06-13 14:59:06 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 6b822d408b58c3c4f26dae93245c6b7d8b39e0f9: RDMA/ib_srpt: Unify checking rdma_cm_id condition in srpt_cm_req_recv() (2022-08-02 15:10:55 -0300) ---------------------------------------------------------------- v5.20 pull request This PR includes a new RDMA driver for Alibaba Cloud hardware - Bug fixes and small features for irdma, hns, siw, qedr, hfi1, mlx5 - General spelling/grammer fixes - rdma cm can follow changes in neighbours for control packets - Significant amounts of rxe fixes and spec compliance changes - Use the modern NAPI API - Use the bitmap API instead of open coding - Performance improvements for rtrs - Add the ERDMA driver for Alibaba cloud - Fix a use after free bug in SRP ---------------------------------------------------------------- Aharon Landau (6): RDMA/mlx5: Add a umr recovery flow RDMA/mlx5: Replace ent->lock with xa_lock RDMA/mlx5: Replace cache list with Xarray RDMA/mlx5: Store the number of in_use cache mkeys instead of total_mrs RDMA/mlx5: Store in the cache mkeys instead of mrs RDMA/mlx5: Rename the mkey cache variables and functions Andrey Strachuk (1): RDMA: remove useless condition in siw_create_cq() Bart Van Assche (3): RDMA/srpt: Duplicate port name members RDMA/srpt: Introduce a reference count in struct srpt_device RDMA/srpt: Fix a use-after-free Bob Pearson (18): RDMA/rxe: Stop lookup of partially built objects RDMA/rxe: Convert read side locking to rcu RDMA/rxe: Move code to rxe_prepare_atomic_res() RDMA/rxe: Add a responder state for atomic reply RDMA/rxe: Move atomic responder res to atomic_reply RDMA/rxe: Move atomic original value to res RDMA/rxe: Merge normal and retry atomic flows RDMA/rxe: Fix deadlock in rxe_do_local_ops() RDMA/rxe: Convert pr_warn/err to pr_debug in pyverbs RDMA/rxe: Replace include statement RDMA/rxe: Remove unnecessary include statement RDMA/rxe: Fix mw bind to allow any consumer key portion RDMA/rxe: Add rxe_is_fenced() subroutine RDMA/rxe: Fix rnr retry behavior RDMA/rxe: Make the tasklet exits the same RDMA/rxe: Limit the number of calls to each tasklet RDMA/rxe: Replace __rxe_do_task by rxe_run_task RDMA/rxe: Split qp state for requester and completer Cheng Xu (12): RDMA/siw: Fix duplicated reported IW_CM_EVENT_CONNECT_REPLY event RDMA: Add ERDMA to rdma_driver_id definition RDMA/erdma: Add the hardware related definitions RDMA/erdma: Add main include file RDMA/erdma: Add cmdq implementation RDMA/erdma: Add event queue implementation RDMA/erdma: Add verbs header file RDMA/erdma: Add verbs implementation RDMA/erdma: Add connection management (CM) support RDMA/erdma: Add the erdma module RDMA/erdma: Add the ABI definitions RDMA/erdma: Add driver to kernel build environment Christophe JAILLET (5): RDMA/qib: Use the bitmap API when applicable RDMA/qib: Use the bitmap API to allocate bitmaps RDMA/rtrs-clt: Use the bitmap API to allocate bitmaps RDMA/rtrs-clt: Use bitmap_empty() RDMA/irdma: Use the bitmap API to allocate bitmaps Dongliang Mu (1): RDMA/rxe: fix xa_alloc_cycle() error return value check again Ehab Ababneh (1): RDMA/hfi1: Depend on !UML Haoyue Xu (5): RDMA/hns: Remove unused abnormal interrupt of type RAS RDMA/hns: Fix the wrong type of return value of the interrupt handler RDMA/hns: Fix incorrect clearing of interrupt status register RDMA/hns: Refactor the abnormal interrupt handler function RDMA/hns: Recover 1bit-ECC error of RAM on chip Jack Wang (2): RDMA/rtrs-srv: Fix modinfo output for stringify RDMA/rtrs-srv: Do not use mempool for page allocation Jakub Kicinski (3): IB/hfi1: switch to netif_napi_add_tx() IB/hfi1: switch to netif_napi_add_weight() ipoib: switch to netif_napi_add_weight() Jason Gunthorpe (1): Merge branch 'erdma' into rdma.git for-next Jason Wang (1): IB/qib: Fix comment typo Jiang Jian (1): RDMA: Correct duplicated words in comments Jianglei Nie (2): RDMA/qedr: Fix potential memory leak in __qedr_alloc_mr() RDMA/hfi1: fix potential memory leak in setup_base_ctxt() Leon Romanovsky (2): Merge branch 'mlx5-next' into wip/leon-for-next Merge branch 'mlx5-next' into wip/leon-for-next Li Zhijian (4): Revert "RDMA/rxe: Create duplicate mapping tables for FMRs" RDMA/rxe: Update wqe_index for each wqe error completion RDMA/rxe: Generate error completion for error requester QP state RDMA/ib_srpt: Unify checking rdma_cm_id condition in srpt_cm_req_recv() Maor Gottlieb (1): RDMA/mlx5: Add missing check for return value in get namespace flow Mark Bloch (5): net/mlx5: Expose the ability to point to any UID from shared UID net/mlx5: fs, expose flow table ID to users net/mlx5: fs, allow flow table creation with a UID RDMA/mlx5: Refactor get flow table function RDMA/mlx5: Expose steering anchor to userspace Max Gurtovoy (1): IB/iser: Drain the entire QP during destruction flow Md Haris Iqbal (2): RDMA/rtrs-clt: Replace list_next_or_null_rr_rcu with an inline function RDMA/rxe: For invalidate compare according to set keys in mr Mustafa Ismail (6): RDMA/irdma: Add 2 level PBLE support for FMR RDMA/irdma: Add AE source to error log RDMA/irdma: Make CQP invalid state error non-critical RDMA/irdma: Fix a window for use-after-free RDMA/irdma: Fix VLAN connection with wildcard address RDMA/irdma: Fix setting of QP context err_rq_idx_valid field Nayan Kumar (1): RDMA/irdma: Make resource distribution algorithm more QP oriented Patrisious Haddad (2): RDMA/core: Add an rb_tree that stores cm_ids sorted by ifindex and remote IP RDMA/core: Add a netevent notifier to cma Robin Murphy (1): RDMA/usnic: Use device_iommu_capable() Santosh Kumar Pradhan (2): RDMA/rtrs-clt: Use this_cpu_ API for stats RDMA/rtrs-srv: Use per-cpu variables for rdma stats Slark Xiao (1): IB: Fix repeated words 'the the' comments Xiang wangx (1): RDMA/hfi1: Fix typo in comment Xiao Yang (4): RDMA/rxe: Remove useless pkt parameters RDMA/rxe: Add common rxe_prepare_res() RDMA/rxe: Rename rxe_atomic_reply to atomic_reply RDMA/rxe: Remove unused qp parameter Xin Gao (1): RDMA: Fix comment typo Zhang Jiaming (2): IB: Fix spelling of 'writable' RDMA/rxe: Fix spelling mistake in error print Zhu Yanjun (2): RDMA/rxe: Fix BUG: KASAN: null-ptr-deref in rxe_qp_do_cleanup RDMA/rxe: Fix error unwind in rxe_create_qp() lizhijian@fujitsu.com (1): RDMA/rxe: Remove unused mask parameter wangjianli (1): IB/qib: Fix repeated "in" within comments MAINTAINERS | 8 + drivers/infiniband/Kconfig | 15 +- drivers/infiniband/core/cma.c | 230 ++- drivers/infiniband/core/cma_priv.h | 1 + drivers/infiniband/core/rdma_core.c | 2 +- drivers/infiniband/core/roce_gid_mgmt.c | 2 +- drivers/infiniband/hw/Makefile | 1 + drivers/infiniband/hw/bnxt_re/bnxt_re.h | 2 +- drivers/infiniband/hw/erdma/Kconfig | 12 + drivers/infiniband/hw/erdma/Makefile | 4 + drivers/infiniband/hw/erdma/erdma.h | 287 ++++ drivers/infiniband/hw/erdma/erdma_cm.c | 1430 +++++++++++++++++++ drivers/infiniband/hw/erdma/erdma_cm.h | 167 +++ drivers/infiniband/hw/erdma/erdma_cmdq.c | 493 +++++++ drivers/infiniband/hw/erdma/erdma_cq.c | 205 +++ drivers/infiniband/hw/erdma/erdma_eq.c | 329 +++++ drivers/infiniband/hw/erdma/erdma_hw.h | 508 +++++++ drivers/infiniband/hw/erdma/erdma_main.c | 608 ++++++++ drivers/infiniband/hw/erdma/erdma_qp.c | 566 ++++++++ drivers/infiniband/hw/erdma/erdma_verbs.c | 1460 ++++++++++++++++++++ drivers/infiniband/hw/erdma/erdma_verbs.h | 342 +++++ drivers/infiniband/hw/hfi1/Kconfig | 2 +- drivers/infiniband/hw/hfi1/file_ops.c | 4 +- drivers/infiniband/hw/hfi1/ipoib_tx.c | 4 +- drivers/infiniband/hw/hfi1/netdev_rx.c | 2 +- drivers/infiniband/hw/hfi1/pio_copy.c | 2 +- drivers/infiniband/hw/hns/hns_roce_device.h | 1 + drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 248 +++- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 13 +- drivers/infiniband/hw/irdma/cm.c | 11 +- drivers/infiniband/hw/irdma/ctrl.c | 8 +- drivers/infiniband/hw/irdma/hw.c | 33 +- drivers/infiniband/hw/irdma/main.h | 2 +- drivers/infiniband/hw/irdma/utils.c | 1 + drivers/infiniband/hw/irdma/verbs.c | 16 +- drivers/infiniband/hw/mlx5/cq.c | 4 + drivers/infiniband/hw/mlx5/fs.c | 165 ++- drivers/infiniband/hw/mlx5/main.c | 4 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 79 +- drivers/infiniband/hw/mlx5/mr.c | 514 +++---- drivers/infiniband/hw/mlx5/odp.c | 2 +- drivers/infiniband/hw/mlx5/umr.c | 78 +- drivers/infiniband/hw/qedr/verbs.c | 8 +- drivers/infiniband/hw/qib/qib.h | 2 +- drivers/infiniband/hw/qib/qib_file_ops.c | 6 +- drivers/infiniband/hw/qib/qib_iba7220.c | 2 +- drivers/infiniband/hw/qib/qib_iba7322.c | 23 +- drivers/infiniband/hw/qib/qib_init.c | 5 +- drivers/infiniband/hw/qib/qib_sd7220.c | 2 +- drivers/infiniband/hw/usnic/usnic_uiom.c | 2 +- drivers/infiniband/sw/rxe/rxe_comp.c | 49 +- drivers/infiniband/sw/rxe/rxe_cq.c | 8 +- drivers/infiniband/sw/rxe/rxe_loc.h | 5 +- drivers/infiniband/sw/rxe/rxe_mr.c | 213 +-- drivers/infiniband/sw/rxe/rxe_mw.c | 19 +- drivers/infiniband/sw/rxe/rxe_param.h | 6 + drivers/infiniband/sw/rxe/rxe_pool.c | 106 +- drivers/infiniband/sw/rxe/rxe_pool.h | 18 +- drivers/infiniband/sw/rxe/rxe_qp.c | 36 +- drivers/infiniband/sw/rxe/rxe_queue.h | 5 +- drivers/infiniband/sw/rxe/rxe_req.c | 137 +- drivers/infiniband/sw/rxe/rxe_resp.c | 236 ++-- drivers/infiniband/sw/rxe/rxe_task.c | 16 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 78 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 27 +- drivers/infiniband/sw/siw/siw_cm.c | 7 +- drivers/infiniband/sw/siw/siw_verbs.c | 2 +- drivers/infiniband/ulp/ipoib/ipoib_ib.c | 2 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 6 +- drivers/infiniband/ulp/iser/iser_verbs.c | 6 +- drivers/infiniband/ulp/rtrs/rtrs-clt-stats.c | 14 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 50 +- drivers/infiniband/ulp/rtrs/rtrs-pri.h | 21 +- drivers/infiniband/ulp/rtrs/rtrs-srv-stats.c | 32 +- drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 2 + drivers/infiniband/ulp/rtrs/rtrs-srv.c | 32 +- drivers/infiniband/ulp/rtrs/rtrs-srv.h | 15 +- drivers/infiniband/ulp/srpt/ib_srpt.c | 156 ++- drivers/infiniband/ulp/srpt/ib_srpt.h | 18 +- drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c | 16 +- drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.h | 2 +- drivers/net/ethernet/mellanox/mlx5/core/fs_core.c | 8 +- .../ethernet/mellanox/mlx5/core/steering/dr_cmd.c | 1 + .../mellanox/mlx5/core/steering/dr_table.c | 8 +- .../mellanox/mlx5/core/steering/dr_types.h | 1 + .../ethernet/mellanox/mlx5/core/steering/fs_dr.c | 7 +- .../ethernet/mellanox/mlx5/core/steering/mlx5dr.h | 3 +- include/linux/mlx5/driver.h | 6 +- include/linux/mlx5/fs.h | 2 + include/linux/mlx5/mlx5_ifc.h | 6 +- include/rdma/ib_verbs.h | 2 +- include/rdma/rdma_cm.h | 1 + include/uapi/rdma/erdma-abi.h | 49 + include/uapi/rdma/ib_user_ioctl_verbs.h | 1 + include/uapi/rdma/mlx5_user_ioctl_cmds.h | 17 + 95 files changed, 8364 insertions(+), 1003 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Thu, 4 Aug 2022 15:48:57 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/e495274793ea602415d050452088a496abcd9e6c Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1947 bytes --] Hi Linus, 6 patches for the rc release Thanks, Jason The following changes since commit 568035b01cfb107af8d2e4bd2fb9aea22cf5b868: Linux 6.0-rc1 (2022-08-14 15:50:18 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to b16de8b9e7d1aae169d059c3a0dd9a881a3c0d1d: RDMA: Handle the return code from dma_resv_wait_timeout() properly (2022-08-16 17:13:23 +0300) ---------------------------------------------------------------- v6.0 first rc pull request A few minor fixes: - Fix buffer management in SRP to correct a regression with the login authentication feature from v5.17 - Don't iterate over non-present ports in mlx5 - Fix an error introduced by the foritify work in cxgb4 - Two bug fixes for the recently merged ERDMA driver - Unbreak RDMA dmabuf support, a regresion from v5.19 ---------------------------------------------------------------- Cheng Xu (2): RDMA/erdma: Using the key in FMR WR instead of MR structure RDMA/erdma: Correct the max_qp and max_cq capacities of the device Jason Gunthorpe (1): RDMA: Handle the return code from dma_resv_wait_timeout() properly Mark Bloch (1): RDMA/mlx5: Use the proper number of ports Potnuri Bharat Teja (1): RDMA/cxgb4: fix accept failure due to increased cpl_t5_pass_accept_rpl size Sergey Gorenko (1): IB/iser: Fix login with authentication drivers/infiniband/core/umem_dmabuf.c | 8 ++++++- drivers/infiniband/hw/cxgb4/cm.c | 25 ++++++++------------ drivers/infiniband/hw/erdma/erdma_qp.c | 2 +- drivers/infiniband/hw/erdma/erdma_verbs.c | 4 ++-- drivers/infiniband/hw/mlx5/main.c | 34 +++++++++++++--------------- drivers/infiniband/ulp/iser/iser_initiator.c | 7 +++++- drivers/net/ethernet/chelsio/cxgb4/t4_msg.h | 2 +- 7 files changed, 42 insertions(+), 40 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Fri, 19 Aug 2022 15:21:42 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/f31c32efd57c860f2b237a08327840f8444362f3 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 4514 bytes --] Hi Linus, This seems unusually big for the second pull request from RDMA. irdma is the usual new driver fixes, but the rest seems to just be people testing into obscure corners. The out-of-subsystem change to fork.c is to export mmput_async() as we can't do the synchronous put due to held locks and interaction with mmu notifiers. Thanks, Jason The following changes since commit b16de8b9e7d1aae169d059c3a0dd9a881a3c0d1d: RDMA: Handle the return code from dma_resv_wait_timeout() properly (2022-08-16 17:13:23 +0300) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to a261786fdc0a5bed2e5f994dcc0ffeeeb0d662c7: RDMA/irdma: Report RNR NAK generation in device caps (2022-09-07 11:22:18 +0300) ---------------------------------------------------------------- v6.0 second rc pull request Many bug fixes in several drivers: - Fix misuse of the DMA API in rtrs - Several irdma issues: hung task due to SQ flushing, incorrect capability reporting to userspace, improper error handling for MW corners, touching an uninitialized SGL for during invalidation. - hns was using the wrong page size limits for the HW, an incorrect calculation of wqe_shift causing WQE corruption, and mis computed a timer id. - Fix a crash in SRP triggered by blktests - Fix compiler errors by calling virt_to_page() with the proper type in siw - Userspace triggerable deadlock in ODP - mlx5 could use the wrong profile due to some driver loading races, counters were not working in some device configurations, and a crash on error unwind. ---------------------------------------------------------------- Chengchang Tang (1): RDMA/hns: Fix supported page size Chris Mi (1): RDMA/mlx5: Set local port to one when accessing counters Jack Wang (2): RDMA/rtrs-clt: Use the right sg_cnt after ib_dma_map_sg RDMA/rtrs-srv: Pass the correct number of entries for dma mapped SGL Linus Walleij (1): RDMA/siw: Pass a pointer to virt_to_page() Maher Sanalla (1): RDMA/mlx5: Rely on RoCE fw cap instead of devlink when setting profile Maor Gottlieb (1): RDMA/mlx5: Fix UMR cleanup on error flow of driver init Michael Guralnik (1): RDMA/cma: Fix arguments order in net device validation Shiraz Saleem (1): RDMA/irdma: Fix drain SQ hang with no completion Sindhu-Devale (5): RDMA/irdma: Report the correct max cqes from query device RDMA/irdma: Return error on MR deregister CQP failure RDMA/irdma: Return correct WC error for bind operation failure RDMA/irdma: Use s/g array in post send only when its valid RDMA/irdma: Report RNR NAK generation in device caps Wenpeng Liang (2): RDMA/hns: Fix wrong fixed value of qp->rq.wqe_shift MAINTAINERS: Update maintainers of HiSilicon RoCE Yishai Hadas (1): IB/core: Fix a nested dead lock as part of ODP flow Yixing Liu (1): RDMA/hns: Remove the num_qpc_timer variable yangx.jy@fujitsu.com (1): RDMA/srp: Set scmnd->result only when scmnd is not NULL MAINTAINERS | 2 +- drivers/infiniband/core/cma.c | 4 ++-- drivers/infiniband/core/umem_odp.c | 2 +- drivers/infiniband/hw/hns/hns_roce_device.h | 1 - drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 3 +-- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 4 ++-- drivers/infiniband/hw/hns/hns_roce_main.c | 2 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 7 ++----- drivers/infiniband/hw/irdma/uk.c | 7 +++++-- drivers/infiniband/hw/irdma/utils.c | 15 +++++++++------ drivers/infiniband/hw/irdma/verbs.c | 13 ++++++++++--- drivers/infiniband/hw/mlx5/mad.c | 6 ++++++ drivers/infiniband/hw/mlx5/main.c | 2 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 + drivers/infiniband/hw/mlx5/umr.c | 3 +++ drivers/infiniband/sw/siw/siw_qp_tx.c | 18 ++++++++++++++---- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 9 +++++---- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 14 +++++++------- drivers/infiniband/ulp/srp/ib_srp.c | 3 ++- drivers/net/ethernet/mellanox/mlx5/core/main.c | 23 +++++++++++++++++++++-- include/linux/mlx5/driver.h | 19 ++++++++++--------- kernel/fork.c | 1 + 22 files changed, 105 insertions(+), 54 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Fri, 9 Sep 2022 13:17:19 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/0099baa87962799d19b05d12f39ff13600482645 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 13985 bytes --] Hi Linus, Not a big list of changes this cycle, mostly small things. The new MANA rdma driver should come next cycle along with a bunch of work on rxe. The following changes since commit 4fe89d07dcc2804c8b562f6c7896a45643d34b2f: Linux 6.0 (2022-10-02 14:09:07 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 33331a728c83f380e53a3dbf2be0c1893da1d739: Merge tag 'v6.0' into rdma.git for-next (2022-10-06 19:48:45 -0300) ---------------------------------------------------------------- v6.1 merge window pull request - Small bug fixes in mlx5, efa, rxe, hns, irdma, erdma, siw - rts tracing improvements - Code improvements: strlscpy conversion, unused parameter, spelling mistakes, unused variables, flex arrays - restrack device details report for hns - Simplify struct device initialization in SRP - Eliminate the never-used service_mask support in IB CM - Make rxe not print to the console for some kinds of network packets - Asymetric paths and router support in the CM through netlink messages - DMABUF importer support for mlx5devx umem's ---------------------------------------------------------------- Aharon Landau (1): RDMA/mlx5: Don't compare mkey tags in DEVX indirect mkey Bart Van Assche (5): RDMA/srp: Rework the srp_add_port() error path RDMA/srp: Remove the srp_host.released completion RDMA/srp: Handle dev_set_name() failure RDMA/srp: Use the attribute group mechanism for sysfs attributes RDMA/srp: Fix srp_abort() Bernard Metzler (2): RDMA/siw: Always consume all skbuf data in sk_data_ready() upcall. RDMA/siw: Fix QP destroy to wait for all references dropped. Bob Pearson (3): RDMA/rxe: Set pd early in mr alloc routines RDMA/rxe: Fix resize_finish() in rxe_queue.c RDMA/rxe: Remove redundant num_sge fields Bodong Wang (1): IB/mlx5: Support querying eswitch functions from DEVX Cheng Xu (4): RDMA/erdma: Eliminate unnecessary casting for erdma_post_cmd_wait RDMA/erdma: Remove redundant includes RDMA/erdma: Make hardware internal opcodes invisible to driver RDMA/erdma: Support dynamic mtu Chengchang Tang (1): RDMA/hns: Remove redundant 'phy_addr' in hns_roce_hem_list_find_mtt() Daisuke Matsuda (7): IB/mlx5: Remove duplicate header inclusion related to ODP RDMA/rxe: Remove an unused member from struct rxe_mr RDMA/rxe: Delete error messages triggered by incoming Read requests RDMA/mlx5: Remove duplicate assignment in umr_rereg_pas() IB: Set IOVA/LENGTH on IB_MR in core/uverbs layers RDMA/rxe: Use members of generic struct in rxe_mr RDMA/rxe: Remove error/warning messages from packet receiver path Dan Carpenter (1): RDMA/core: Clean up a variable name in ib_create_srq_user() Gaosheng Cui (1): IB/hfi1: remove rc_only_opcode and uc_only_opcode declarations Guofeng Yue (4): RDMA/hns: Cleanup for a spelling error of Asynchronous RDMA/hns: Remove unnecessary braces for single statement blocks RDMA/hns: Remove unnecessary brackets when getting point RDMA/hns: Unified Log Printing Style Guoqing Jiang (4): RDMA/rtrs: Remove 'dir' argument from rnbd_srv_rdma_ev RDMA/rtrs: Update comments for MAX_SESS_QUEUE_DEPTH RDMA/rtrs-clt: Break the loop once one path is connected RDMA/rtrs-clt: Kill xchg_paths Hangyu Hua (1): RDMA/srpt: Use flex array destination for memcpy() Jack Wang (1): RDMA/rtrs-clt: Output sg index when warning on Jason Gunthorpe (6): IB/mlx5: Call io_stop_wc() after writing to WC MMIO net/mlx5: Add IFC bits for mkey ATS RDMA/core: Add UVERBS_ATTR_RAW_FD RDMA/mlx5: Add support for dmabuf to devx umem RDMA/mlx5: Enable ATS support for MRs and umems Merge tag 'v6.0' into rdma.git for-next Leon Romanovsky (1): Merge branch 'mlx5-next' into wip/leon-for-next Li Zhijian (3): RDMA/rxe: use %u to print u32 variables RDMA/rxe: convert pr_warn to pr_debug RDMA/rxe: Add send_common_ack() helper Luoyouming (1): RDMA/hns: Repacing 'dseg_len' by macros in fill_ext_sge_inl_data() Mark Zhang (7): IB/cm: Remove the service_mask parameter from ib_cm_listen() IB/cm: remove cm_id_priv->id.service_mask and service_mask parameter of cm_init_listen() IB/cm: Refactor cm_insert_listen() and cm_find_listen() RDMA/core: Rename rdma_route.num_paths field to num_pri_alt_paths RDMA/cma: Multiple path records support with netlink channel RDMA/cm: Use SLID in the work completion as the DLID in responder side RDMA/cm: Use DLID from inbound/outbound PathRecords as the datapath DLID Michael Margolin (1): RDMA/efa: Support CQ receive entries with source GID Mikhael Goikhman (1): RDMA/srp: Support more than 255 rdma ports Santosh Pradhan (2): RDMA/rtrs-clt: Add event tracing support RDMA/rtrs-srv: Add event tracing support Shang XiaoJing (1): IB/hfi1: Use skb_put_data() instead of skb_put/memcpy pair Shiraz Saleem (1): RDMA/irdma: Validate udata inlen and outlen Sindhu-Devale (1): RDMA/irdma: Align AE id codes to correct flush code and event Tom Talpey (1): RDMA/siw: Add missing Kconfig selections Wenpeng Liang (8): RDMA/hns: Remove redundant DFX file and DFX ops structure RDMA/hns: Add or remove CQ's restrack attributes RDMA/hns: Support CQ's restrack raw ops for hns driver RDMA/hns: Support QP's restrack ops for hns driver RDMA/hns: Support QP's restrack raw ops for hns driver RDMA/hns: Support MR's restrack ops for hns driver RDMA/hns: Support MR's restrack raw ops for hns driver RDMA/hns: Remove redundant member doorbell_qpn of struct hns_roce_qp Wolfram Sang (1): IB: move from strlcpy with unused retval to strscpy Xiu Jianfeng (1): IB/rdmavt: Add __init/__exit annotations to module init/exit funcs Yangyang Li (2): RDMA/hns: Remove redundant 'num_mtt_segs' and 'max_extend_sg' RDMA/hns: Remove redundant 'max_srq_desc_sz' in caps Yixing Liu (2): RDMA/hns: Remove redundant 'attr_mask' in modify_qp_init_to_init() RDMA/hns: Replacing magic number with macros in apply_func_caps() Yunsheng Lin (3): RDMA/core: Remove 'device' argument from rdma_build_skb() RDMA/hns: Remove redundant 'bt_level' for hem_list_alloc_item() RDMA/hns: Remove redundant 'use_lowmem' argument from hns_roce_init_hem_table() Zeng Heng (1): RDMA/usnic: fix set-but-not-unused variable 'flags' warning Zhu Yanjun (3): RDMA/rxe: Fix "kernel NULL pointer dereference" error RDMA/rxe: Fix the error caused by qp->sk RDMA/rxe: Remove the unused variable obj wangjianli (2): RDMA/hfi1: fix repeated words in comments RDMA/qib: fix repeated words in comments ye xingchen (1): RDMA/hfi1: Remove the unneeded result variable drivers/block/rnbd/rnbd-srv.c | 11 +- drivers/infiniband/core/cm.c | 104 ++++---- drivers/infiniband/core/cma.c | 88 +++++-- drivers/infiniband/core/cma_configfs.c | 2 +- drivers/infiniband/core/device.c | 4 +- drivers/infiniband/core/lag.c | 5 +- drivers/infiniband/core/sa_query.c | 235 +++++++++++------ drivers/infiniband/core/ucma.c | 10 +- drivers/infiniband/core/umem_odp.c | 2 - drivers/infiniband/core/uverbs_cmd.c | 5 +- drivers/infiniband/core/uverbs_ioctl.c | 8 + drivers/infiniband/core/verbs.c | 4 +- drivers/infiniband/hw/bnxt_re/main.c | 2 +- drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 6 +- drivers/infiniband/hw/efa/efa_com_cmd.c | 5 +- drivers/infiniband/hw/efa/efa_com_cmd.h | 3 +- drivers/infiniband/hw/efa/efa_io_defs.h | 289 +++++++++++++++++++++ drivers/infiniband/hw/efa/efa_verbs.c | 11 +- drivers/infiniband/hw/erdma/erdma.h | 4 +- drivers/infiniband/hw/erdma/erdma_cm.c | 8 - drivers/infiniband/hw/erdma/erdma_cmdq.c | 8 +- drivers/infiniband/hw/erdma/erdma_cq.c | 4 - drivers/infiniband/hw/erdma/erdma_eq.c | 13 +- drivers/infiniband/hw/erdma/erdma_hw.h | 14 +- drivers/infiniband/hw/erdma/erdma_main.c | 17 +- drivers/infiniband/hw/erdma/erdma_qp.c | 15 +- drivers/infiniband/hw/erdma/erdma_verbs.c | 35 ++- drivers/infiniband/hw/erdma/erdma_verbs.h | 9 +- drivers/infiniband/hw/hfi1/chip.c | 2 +- drivers/infiniband/hw/hfi1/file_ops.c | 2 +- drivers/infiniband/hw/hfi1/firmware.c | 2 +- drivers/infiniband/hw/hfi1/ipoib_rx.c | 5 +- drivers/infiniband/hw/hfi1/verbs.c | 6 +- drivers/infiniband/hw/hfi1/verbs.h | 3 - drivers/infiniband/hw/hns/Makefile | 2 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 6 +- drivers/infiniband/hw/hns/hns_roce_device.h | 25 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 33 +-- drivers/infiniband/hw/hns/hns_roce_hem.h | 5 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 164 +++++++----- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 14 +- drivers/infiniband/hw/hns/hns_roce_hw_v2_dfx.c | 34 --- drivers/infiniband/hw/hns/hns_roce_main.c | 64 +++-- drivers/infiniband/hw/hns/hns_roce_mr.c | 7 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 19 +- drivers/infiniband/hw/hns/hns_roce_restrack.c | 220 ++++++++++++---- drivers/infiniband/hw/irdma/defs.h | 1 + drivers/infiniband/hw/irdma/hw.c | 51 ++-- drivers/infiniband/hw/irdma/type.h | 1 + drivers/infiniband/hw/irdma/user.h | 1 + drivers/infiniband/hw/irdma/utils.c | 3 + drivers/infiniband/hw/irdma/verbs.c | 69 ++++- drivers/infiniband/hw/mlx4/mr.c | 1 - drivers/infiniband/hw/mlx5/devx.c | 57 ++-- drivers/infiniband/hw/mlx5/main.c | 6 +- drivers/infiniband/hw/mlx5/mem.c | 2 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 36 +++ drivers/infiniband/hw/mlx5/mr.c | 8 +- drivers/infiniband/hw/mlx5/odp.c | 4 +- drivers/infiniband/hw/mthca/mthca_cmd.c | 2 +- drivers/infiniband/hw/ocrdma/ocrdma_hw.c | 2 +- drivers/infiniband/hw/qib/qib_iba7322.c | 2 +- drivers/infiniband/hw/qib/qib_pcie.c | 2 +- drivers/infiniband/hw/usnic/usnic_uiom.c | 3 - drivers/infiniband/sw/rdmavt/vt.c | 4 +- drivers/infiniband/sw/rxe/rxe_icrc.c | 12 +- drivers/infiniband/sw/rxe/rxe_loc.h | 6 +- drivers/infiniband/sw/rxe/rxe_mr.c | 22 +- drivers/infiniband/sw/rxe/rxe_mw.c | 6 +- drivers/infiniband/sw/rxe/rxe_net.c | 1 - drivers/infiniband/sw/rxe/rxe_qp.c | 61 ++--- drivers/infiniband/sw/rxe/rxe_queue.c | 12 +- drivers/infiniband/sw/rxe/rxe_recv.c | 106 ++------ drivers/infiniband/sw/rxe/rxe_resp.c | 53 ++-- drivers/infiniband/sw/rxe/rxe_task.c | 3 +- drivers/infiniband/sw/rxe/rxe_task.h | 3 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 19 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 3 - drivers/infiniband/sw/siw/Kconfig | 5 +- drivers/infiniband/sw/siw/siw.h | 1 + drivers/infiniband/sw/siw/siw_qp.c | 2 +- drivers/infiniband/sw/siw/siw_qp_rx.c | 27 +- drivers/infiniband/sw/siw/siw_verbs.c | 3 + drivers/infiniband/ulp/ipoib/ipoib_cm.c | 4 +- drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 4 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 2 +- drivers/infiniband/ulp/opa_vnic/opa_vnic_ethtool.c | 4 +- drivers/infiniband/ulp/rtrs/Makefile | 10 +- drivers/infiniband/ulp/rtrs/rtrs-clt-trace.c | 15 ++ drivers/infiniband/ulp/rtrs/rtrs-clt-trace.h | 86 ++++++ drivers/infiniband/ulp/rtrs/rtrs-clt.c | 26 +- drivers/infiniband/ulp/rtrs/rtrs-pri.h | 7 +- drivers/infiniband/ulp/rtrs/rtrs-srv-trace.c | 16 ++ drivers/infiniband/ulp/rtrs/rtrs-srv-trace.h | 88 +++++++ drivers/infiniband/ulp/rtrs/rtrs-srv.c | 12 +- drivers/infiniband/ulp/rtrs/rtrs-srv.h | 5 + drivers/infiniband/ulp/rtrs/rtrs.c | 2 +- drivers/infiniband/ulp/rtrs/rtrs.h | 3 +- drivers/infiniband/ulp/srp/ib_srp.c | 66 ++--- drivers/infiniband/ulp/srp/ib_srp.h | 3 +- drivers/infiniband/ulp/srpt/ib_srpt.c | 6 +- include/linux/mlx5/mlx5_ifc.h | 11 +- include/rdma/ib_cm.h | 10 +- include/rdma/ib_sa.h | 3 +- include/rdma/rdma_cm.h | 13 +- include/rdma/rdma_vt.h | 2 +- include/rdma/uverbs_ioctl.h | 13 + include/uapi/rdma/efa-abi.h | 4 +- include/uapi/rdma/mlx5-abi.h | 1 + include/uapi/rdma/mlx5_user_ioctl_cmds.h | 1 + include/uapi/rdma/rdma_user_rxe.h | 4 +- 111 files changed, 1693 insertions(+), 862 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Thu, 6 Oct 2022 20:03:04 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/e08466a7c00733a501d3c5328d29ec974478d717 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 2276 bytes --] Hi Linus, Small set of rc fixes The following changes since commit 9abf2313adc1ca1b6180c508c25f22f9395cc780: Linux 6.1-rc1 (2022-10-16 15:36:24 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 7a47e077e503feb73d56e491ce89aa73b67a3972: RDMA/qedr: clean up work queue on failure in qedr_alloc_resources() (2022-10-28 12:59:40 -0300) ---------------------------------------------------------------- v6.1 first rc pull request Fix a few more of the usual sorts of bugs: - Another regression with source route validation in CMA, introduced this merge window - Crash in hfi1 due to faulty list operations - PCI ID updates for EFA - Disable LOCAL_INV in hns because it causes a HW hang - Crash in hns due to missing initialization - Memory leak in rxe - Missing error unwind during ib_core module loading - Missing error handling in qedr around work queue creation during startup ---------------------------------------------------------------- Chen Zhongjin (1): RDMA/core: Fix null-ptr-deref in ib_core_cleanup() Dan Carpenter (1): RDMA/qedr: clean up work queue on failure in qedr_alloc_resources() Dean Luick (1): IB/hfi1: Correctly move list in sc_disable() Håkon Bugge (1): RDMA/cma: Use output interface for net_dev check Li Zhijian (1): RDMA/rxe: Fix mr leak in RESPST_ERR_RNR Michael Margolin (1): RDMA/efa: Add EFA 0xefa2 PCI ID Yangyang Li (1): RDMA/hns: Disable local invalidate operation Yixing Liu (1): RDMA/hns: Fix NULL pointer problem in free_mr_init() drivers/infiniband/core/cma.c | 2 +- drivers/infiniband/core/device.c | 10 +++++++++- drivers/infiniband/core/nldev.c | 2 +- drivers/infiniband/hw/efa/efa_main.c | 4 +++- drivers/infiniband/hw/hfi1/pio.c | 3 +-- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 15 ++++----------- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 2 -- drivers/infiniband/hw/qedr/main.c | 9 ++++++++- drivers/infiniband/sw/rxe/rxe_resp.c | 4 +++- 9 files changed, 30 insertions(+), 21 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Wed, 2 Nov 2022 09:26:47 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/ae13366b177b062b420288c8affe6a513aae56f9 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 17698 bytes --] Hi Linus, This cycle saw a new driver called MANA get merged and more fixing to the other recently merged drivers. rxe continues to see a lot of interest and fixing. Lots more rxe patches already in the works for the next cycle. Thanks, Jason The following changes since commit 76dcd734eca23168cb008912c0f69ff408905235: Linux 6.1-rc8 (2022-12-04 14:48:12 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to dbc94a0fb81771a38733c0e8f2ea8c4fa6934dc1: IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces (2022-12-11 11:04:19 +0200) ---------------------------------------------------------------- v6.2 merge window pull request Usual size of updates, a new driver a most of the bulk focusing on rxe: - Usual typos, style, and language updates - Driver updates for mlx5, irdma, siw, rts, srp, hfi1, hns, erdma, mlx4, srp - Lots of RXE updates * Improve reply error handling for bad MR operations * Code tidying * Debug printing uses common loggers * Remove half implemented RD related stuff * Support IBA's recently defined Atomic Write and Flush operations - erdma support for atomic operations - New driver "mana" for Ethernet HW available in Azure VMs. This driver only supports DPDK ---------------------------------------------------------------- Ajay Sharma (3): net: mana: Set the DMA device max segment size net: mana: Define and process GDMA response code GDMA_STATUS_MORE_ENTRIES net: mana: Define data structures for protection domain and memory registration Arumugam Kolappan (1): RDMA/mlx5: Change debug log level for remote access error syndromes Bernard Metzler (2): RDMA/siw: Fix immediate work request flush to completion queue RDMA/siw: Set defined status for work completion with undefined status Bob Pearson (23): RDMA/rxe: Remove redundant header files RDMA/rxe: Remove init of task locks from rxe_qp.c RDMA/rxe: Removed unused name from rxe_task struct RDMA/rxe: Split rxe_run_task() into two subroutines RDMA/rxe: Make rxe_do_task static RDMA/rxe: Rename task->state_lock to task->lock RDMA/rxe: Add ibdev_dbg macros for rxe RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_comp.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_cq.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_mr.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_mw.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_net.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_qp.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_req.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_resp.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_srq.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_verbs.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_av.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_task.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_icrc.c RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_mmap.c RDMA/rxe: Fix incorrect responder length checking Chao Leng (1): RDMA/cma: Change RoCE packet life time from 18 to 16 Cheng Xu (7): RDMA/erdma: Extend access right field of FRMR and REG MR to support atomic RDMA/erdma: Report atomic capacity when hardware supports atomic feature RDMA/erdma: Implement atomic operations support RDMA/erdma: Fix a typo in annotation RDMA/erdma: Add a workqueue for WRs reflushing RDMA/erdma: Implement the lifecycle of reflushing work for each QP RDMA/erdma: Notify the latest PI to FW for reflushing when necessary Chengchang Tang (5): RDMA/hns: Fix AH attr queried by query_qp RDMA/hns: Fix PBL page MTR find RDMA/hns: Fix page size cap from firmware RDMA/hns: Fix error code of CMD RDMA/hns: Fix XRC caps on HIP08 Colin Ian King (2): RDMA/qib: Remove not-used variable n RDMA/qib: Remove not-used variable freeze_cnt Daisuke Matsuda (4): RDMA/rxe: Make responder handle RDMA Read failures RDMA/rxe: Handle remote errors in the midst of a Read reply sequence RDMA/rxe: Implement packet length validation on responder RDMA/rxe: Fix oops with zero length reads Deming Wang (1): IB/uverbs: fix the typo of optional Dragos Tatulea (1): IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces Guoqing Jiang (8): RDMA/rtrs-srv: Refactor rtrs_srv_rdma_cm_handler RDMA/rtrs-srv: Refactor the handling of failure case in map_cont_bufs RDMA/rtrs-srv: Correct the checking of ib_map_mr_sg RDMA/rtrs-clt: Correct the checking of ib_map_mr_sg RDMA/rtrs-srv: Remove outdated comments from create_con RDMA/rtrs: Clean up rtrs_rdma_dev_pd_ops RDMA/rtrs-srv: Fix several issues in rtrs_srv_destroy_path_files RDMA/rtrs-srv: Remove kobject_del from rtrs_srv_destroy_once_sysfs_root_folders Jason Gunthorpe (4): RDMA/rxe: Do not NULL deref on debugging failure path RDMA: Add netdevice_tracker to ib_device_set_netdev() Merge tag 'v6.1-rc8' into rdma.git for-next RDMA: Add missed netdev_put() for the netdevice_tracker Jiangshan Yi (1): RDMA/opa_vnic: fix spelling typo in comment Kees Cook (1): IB/hfi1: Replace 1-element array with singleton Leon Romanovsky (3): RDMA/core: Fix order of nldev_exit call Merge branch 'mana-shared-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma RDMA/mana: Remove redefinition of basic u64 type Leonid Ravich (1): IB/mad: Don't call to function that might sleep while in atomic context Li Zhijian (15): RDMA/core: return -EOPNOSUPP for ODP unsupported device RDMA/rxe: Remove unnecessary mr testing RDMA/rxe: Make sure requested access is a subset of {mr,mw}->access RDMA/rxe: Fix mr->map double free RDMA/mlx5: no need to kfree NULL pointer RDMA: Extend RDMA user ABI to support flush RDMA: Extend RDMA kernel verbs ABI to support flush RDMA/rxe: Extend rxe user ABI to support flush RDMA/rxe: Allow registering persistent flag for pmem MR only RDMA/rxe: Extend rxe packet format to support flush RDMA/rxe: Implement RC RDMA FLUSH service in requester side RDMA/rxe: Implement flush execution in responder side RDMA/rxe: Implement flush completion RDMA/cm: Make QP FLUSHABLE for supported device RDMA/rxe: Enable RDMA FLUSH capability for rxe device Long Li (9): net: mana: Add support for auxiliary device net: mana: Record the physical address for doorbell page region net: mana: Handle vport sharing between devices net: mana: Export Work Queue functions for use by RDMA driver net: mana: Record port number in netdev net: mana: Move header files to a common location net: mana: Define max values for SGL entries net: mana: Define data structures for allocating doorbell page from GDMA RDMA/mana_ib: Add a driver for Microsoft Azure Network Adapter Luoyouming (2): RDMA/hns: Fix ext_sge num error when post send RDMA/hns: Fix incorrect sge nums calculation Mark Zhang (4): RDMA/restrack: Release MR restrack when delete RDMA/core: Make sure "ib_port" is valid when access sysfs node RDMA/nldev: Return "-EAGAIN" if the cm_id isn't from expected port RDMA/nldev: Fix failure to send large messages Maurizio Lombardi (1): IB/isert: use the ISCSI_LOGIN_CURRENT_STAGE macro Max Gurtovoy (2): IB/iser: add safety checks for state_mutex lock IB/iser: open code iser_disconnected_handler Mustafa Ismail (4): RDMA/irdma: Fix inline for multiple SGE's RDMA/irdma: Fix RQ completion opcode RDMA/irdma: Do not request 2-level PBLEs for CQ alloc RDMA/irdma: Initialize net_type before checking it Or Har-Toov (1): RDMA/nldev: Add NULL check to silence false warnings Randy Dunlap (1): RDMA: Disable IB HW for UML Sergey Gorenko (1): IB/iser: open code iser_conn_state_comp_exch Shiraz Saleem (1): RDMA/irdma: Report the correct link speed Wang Yufen (2): RDMA/hfi1: Fix error return code in parse_platform_config() RDMA/srp: Fix error return code in srp_parse_options() Xiao Yang (9): RDMA/rxe: Remove the duplicate assignment of mr->map_shift RDMA: Extend RDMA user ABI to support atomic write RDMA: Extend RDMA kernel ABI to support atomic write RDMA/rxe: Extend rxe user ABI to support atomic write RDMA/rxe: Extend rxe packet format to support atomic write RDMA/rxe: Make requester support atomic write on RC service RDMA/rxe: Make responder support atomic write on RC service RDMA/rxe: Implement atomic write completion RDMA/rxe: Enable atomic write capability for rxe device Xiongfeng Wang (1): RDMA/hfi: Decrease PCI device reference count in error path Yang Yang (1): IB/hfi1: Switch to netif_napi_add() Yixing Liu (1): RDMA/hns: Fix the gid problem caused by free mr Yuan Can (1): RDMA/nldev: Add checks for nla_nest_start() in fill_stat_counter_qps() Yunsheng Lin (1): RDMA/rxe: cleanup some error handling in rxe_verbs.c Zhang Xiaoxu (1): RDMA/rxe: Fix NULL-ptr-deref in rxe_qp_do_cleanup() when socket create failed Zhengchao Shao (1): RDMA/hns: fix memory leak in hns_roce_alloc_mr() Zhu Yanjun (2): RDMA/rxe: Remove reliable datagram support RDMA/mlx5: Remove not-used IB_FLOW_SPEC_IB define wangjianli (3): RDMA/qib: fix repeated words in comments RDMA/core: fix repeated words in comments RDMA/qedr: fix repeated words in comments yangx.jy@fujitsu.com (1): RDMA/rxe: Remove the member 'type' of struct rxe_mr ye xingchen (1): RDMA/hfi1: use sysfs_emit() to instead of scnprintf() zhang songyi (1): RDMA/mlx4: Remove NULL check before dev_{put, hold} MAINTAINERS | 10 + drivers/infiniband/Kconfig | 3 + drivers/infiniband/core/cache.c | 2 +- drivers/infiniband/core/cm.c | 13 +- drivers/infiniband/core/cma.c | 2 +- drivers/infiniband/core/device.c | 10 +- drivers/infiniband/core/mad.c | 5 - drivers/infiniband/core/nldev.c | 50 +- drivers/infiniband/core/restrack.c | 2 - drivers/infiniband/core/sysfs.c | 17 +- drivers/infiniband/core/uverbs_std_types_qp.c | 2 +- drivers/infiniband/hw/Makefile | 1 + drivers/infiniband/hw/erdma/erdma.h | 4 +- drivers/infiniband/hw/erdma/erdma_cq.c | 2 + drivers/infiniband/hw/erdma/erdma_hw.h | 37 +- drivers/infiniband/hw/erdma/erdma_main.c | 15 +- drivers/infiniband/hw/erdma/erdma_qp.c | 73 ++- drivers/infiniband/hw/erdma/erdma_verbs.c | 25 +- drivers/infiniband/hw/erdma/erdma_verbs.h | 19 +- drivers/infiniband/hw/hfi1/affinity.c | 2 + drivers/infiniband/hw/hfi1/driver.c | 2 +- drivers/infiniband/hw/hfi1/firmware.c | 6 + drivers/infiniband/hw/hfi1/mad.c | 22 +- drivers/infiniband/hw/hfi1/netdev_rx.c | 2 +- drivers/infiniband/hw/hns/hns_roce_device.h | 3 + drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 217 +++++++-- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 13 +- drivers/infiniband/hw/hns/hns_roce_main.c | 18 +- drivers/infiniband/hw/hns/hns_roce_mr.c | 4 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 107 ++++- drivers/infiniband/hw/irdma/uk.c | 170 ++++--- drivers/infiniband/hw/irdma/user.h | 20 +- drivers/infiniband/hw/irdma/utils.c | 2 + drivers/infiniband/hw/irdma/verbs.c | 145 ++---- drivers/infiniband/hw/irdma/verbs.h | 53 +++ drivers/infiniband/hw/mana/Kconfig | 10 + drivers/infiniband/hw/mana/Makefile | 4 + drivers/infiniband/hw/mana/cq.c | 79 ++++ drivers/infiniband/hw/mana/device.c | 117 +++++ drivers/infiniband/hw/mana/main.c | 521 +++++++++++++++++++++ drivers/infiniband/hw/mana/mana_ib.h | 162 +++++++ drivers/infiniband/hw/mana/mr.c | 197 ++++++++ drivers/infiniband/hw/mana/qp.c | 506 ++++++++++++++++++++ drivers/infiniband/hw/mana/wq.c | 115 +++++ drivers/infiniband/hw/mlx4/main.c | 12 +- drivers/infiniband/hw/mlx5/cq.c | 27 +- drivers/infiniband/hw/mlx5/fs.c | 1 - drivers/infiniband/hw/mlx5/mlx5_ib.h | 4 + drivers/infiniband/hw/mlx5/mr.c | 6 +- drivers/infiniband/hw/qedr/main.c | 2 +- drivers/infiniband/hw/qib/qib_iba6120.c | 7 +- drivers/infiniband/hw/qib/qib_tx.c | 5 +- drivers/infiniband/hw/qib/qib_user_sdma.c | 2 +- drivers/infiniband/sw/rxe/rxe.c | 4 +- drivers/infiniband/sw/rxe/rxe.h | 19 + drivers/infiniband/sw/rxe/rxe_av.c | 43 +- drivers/infiniband/sw/rxe/rxe_comp.c | 47 +- drivers/infiniband/sw/rxe/rxe_cq.c | 8 +- drivers/infiniband/sw/rxe/rxe_hdr.h | 48 +- drivers/infiniband/sw/rxe/rxe_icrc.c | 4 +- drivers/infiniband/sw/rxe/rxe_loc.h | 9 +- drivers/infiniband/sw/rxe/rxe_mmap.c | 6 +- drivers/infiniband/sw/rxe/rxe_mr.c | 122 +++-- drivers/infiniband/sw/rxe/rxe_mw.c | 23 +- drivers/infiniband/sw/rxe/rxe_net.c | 42 +- drivers/infiniband/sw/rxe/rxe_opcode.c | 35 ++ drivers/infiniband/sw/rxe/rxe_opcode.h | 17 +- drivers/infiniband/sw/rxe/rxe_param.h | 7 + drivers/infiniband/sw/rxe/rxe_qp.c | 98 ++-- drivers/infiniband/sw/rxe/rxe_req.c | 50 +- drivers/infiniband/sw/rxe/rxe_resp.c | 329 +++++++++++-- drivers/infiniband/sw/rxe/rxe_srq.c | 20 +- drivers/infiniband/sw/rxe/rxe_task.c | 52 +- drivers/infiniband/sw/rxe/rxe_task.h | 19 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 106 ++--- drivers/infiniband/sw/rxe/rxe_verbs.h | 7 +- drivers/infiniband/sw/siw/siw_cq.c | 24 +- drivers/infiniband/sw/siw/siw_verbs.c | 40 +- drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 7 + drivers/infiniband/ulp/iser/iser_verbs.c | 67 ++- drivers/infiniband/ulp/isert/ib_isert.c | 5 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 6 +- drivers/infiniband/ulp/rtrs/rtrs-pri.h | 3 - drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 13 +- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 72 ++- drivers/infiniband/ulp/rtrs/rtrs.c | 22 +- drivers/infiniband/ulp/srp/ib_srp.c | 96 +++- drivers/net/ethernet/microsoft/Kconfig | 1 + drivers/net/ethernet/microsoft/mana/gdma_main.c | 39 +- drivers/net/ethernet/microsoft/mana/hw_channel.c | 6 +- drivers/net/ethernet/microsoft/mana/mana_bpf.c | 2 +- drivers/net/ethernet/microsoft/mana/mana_en.c | 175 ++++++- drivers/net/ethernet/microsoft/mana/mana_ethtool.c | 2 +- drivers/net/ethernet/microsoft/mana/shm_channel.c | 2 +- .../ethernet/microsoft => include/net}/mana/gdma.h | 153 +++++- .../microsoft => include/net}/mana/hw_channel.h | 0 .../ethernet/microsoft => include/net}/mana/mana.h | 23 +- include/net/mana/mana_auxiliary.h | 10 + .../microsoft => include/net}/mana/shm_channel.h | 0 include/rdma/ib_pack.h | 5 + include/rdma/ib_verbs.h | 24 +- include/rdma/opa_vnic.h | 2 +- include/trace/events/ib_mad.h | 13 +- include/uapi/rdma/hns-abi.h | 15 + include/uapi/rdma/ib_user_ioctl_verbs.h | 3 + include/uapi/rdma/ib_user_verbs.h | 21 + include/uapi/rdma/mana-abi.h | 66 +++ include/uapi/rdma/rdma_user_rxe.h | 8 + 108 files changed, 3973 insertions(+), 922 deletions(-) create mode 100644 drivers/infiniband/hw/mana/Kconfig create mode 100644 drivers/infiniband/hw/mana/Makefile create mode 100644 drivers/infiniband/hw/mana/cq.c create mode 100644 drivers/infiniband/hw/mana/device.c create mode 100644 drivers/infiniband/hw/mana/main.c create mode 100644 drivers/infiniband/hw/mana/mana_ib.h create mode 100644 drivers/infiniband/hw/mana/mr.c create mode 100644 drivers/infiniband/hw/mana/qp.c create mode 100644 drivers/infiniband/hw/mana/wq.c rename {drivers/net/ethernet/microsoft => include/net}/mana/gdma.h (82%) rename {drivers/net/ethernet/microsoft => include/net}/mana/hw_channel.h (100%) rename {drivers/net/ethernet/microsoft => include/net}/mana/mana.h (95%) create mode 100644 include/net/mana/mana_auxiliary.h rename {drivers/net/ethernet/microsoft => include/net}/mana/shm_channel.h (100%) create mode 100644 include/uapi/rdma/mana-abi.h [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
在 2022/12/14 5:05, Jason Gunthorpe 写道: > Hi Linus, > > This cycle saw a new driver called MANA get merged and more fixing to > the other recently merged drivers. rxe continues to see a lot of > interest and fixing. Lots more rxe patches already in the works for > the next cycle. > > Thanks, > Jason > > The following changes since commit 76dcd734eca23168cb008912c0f69ff408905235: > > Linux 6.1-rc8 (2022-12-04 14:48:12 -0800) > > are available in the Git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus > > for you to fetch changes up to dbc94a0fb81771a38733c0e8f2ea8c4fa6934dc1: > > IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces (2022-12-11 11:04:19 +0200) > > ---------------------------------------------------------------- > v6.2 merge window pull request > > Usual size of updates, a new driver a most of the bulk focusing on rxe: > > - Usual typos, style, and language updates > > - Driver updates for mlx5, irdma, siw, rts, srp, hfi1, hns, erdma, mlx4, srp > > - Lots of RXE updates > * Improve reply error handling for bad MR operations > * Code tidying > * Debug printing uses common loggers > * Remove half implemented RD related stuff > * Support IBA's recently defined Atomic Write and Flush operations > > - erdma support for atomic operations > > - New driver "mana" for Ethernet HW available in Azure VMs. This driver > only supports DPDK > > ---------------------------------------------------------------- > Ajay Sharma (3): > net: mana: Set the DMA device max segment size > net: mana: Define and process GDMA response code GDMA_STATUS_MORE_ENTRIES > net: mana: Define data structures for protection domain and memory registration > > Arumugam Kolappan (1): > RDMA/mlx5: Change debug log level for remote access error syndromes > > Bernard Metzler (2): > RDMA/siw: Fix immediate work request flush to completion queue > RDMA/siw: Set defined status for work completion with undefined status > > Bob Pearson (23): > RDMA/rxe: Remove redundant header files > RDMA/rxe: Remove init of task locks from rxe_qp.c > RDMA/rxe: Removed unused name from rxe_task struct > RDMA/rxe: Split rxe_run_task() into two subroutines > RDMA/rxe: Make rxe_do_task static > RDMA/rxe: Rename task->state_lock to task->lock > RDMA/rxe: Add ibdev_dbg macros for rxe > RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_comp.c > RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_cq.c > RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_mr.c > RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_mw.c > RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_net.c > RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_qp.c > RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_req.c > RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_resp.c > RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_srq.c > RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_verbs.c > RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_av.c > RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_task.c > RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe.c > RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_icrc.c > RDMA/rxe: Replace pr_xxx by rxe_dbg_xxx in rxe_mmap.c > RDMA/rxe: Fix incorrect responder length checking > > Chao Leng (1): > RDMA/cma: Change RoCE packet life time from 18 to 16 > > Cheng Xu (7): > RDMA/erdma: Extend access right field of FRMR and REG MR to support atomic > RDMA/erdma: Report atomic capacity when hardware supports atomic feature > RDMA/erdma: Implement atomic operations support > RDMA/erdma: Fix a typo in annotation > RDMA/erdma: Add a workqueue for WRs reflushing > RDMA/erdma: Implement the lifecycle of reflushing work for each QP > RDMA/erdma: Notify the latest PI to FW for reflushing when necessary > > Chengchang Tang (5): > RDMA/hns: Fix AH attr queried by query_qp > RDMA/hns: Fix PBL page MTR find > RDMA/hns: Fix page size cap from firmware > RDMA/hns: Fix error code of CMD > RDMA/hns: Fix XRC caps on HIP08 > > Colin Ian King (2): > RDMA/qib: Remove not-used variable n > RDMA/qib: Remove not-used variable freeze_cnt > > Daisuke Matsuda (4): > RDMA/rxe: Make responder handle RDMA Read failures > RDMA/rxe: Handle remote errors in the midst of a Read reply sequence > RDMA/rxe: Implement packet length validation on responder > RDMA/rxe: Fix oops with zero length reads > > Deming Wang (1): > IB/uverbs: fix the typo of optional > > Dragos Tatulea (1): > IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces > > Guoqing Jiang (8): > RDMA/rtrs-srv: Refactor rtrs_srv_rdma_cm_handler > RDMA/rtrs-srv: Refactor the handling of failure case in map_cont_bufs > RDMA/rtrs-srv: Correct the checking of ib_map_mr_sg > RDMA/rtrs-clt: Correct the checking of ib_map_mr_sg > RDMA/rtrs-srv: Remove outdated comments from create_con > RDMA/rtrs: Clean up rtrs_rdma_dev_pd_ops > RDMA/rtrs-srv: Fix several issues in rtrs_srv_destroy_path_files > RDMA/rtrs-srv: Remove kobject_del from rtrs_srv_destroy_once_sysfs_root_folders > > Jason Gunthorpe (4): > RDMA/rxe: Do not NULL deref on debugging failure path > RDMA: Add netdevice_tracker to ib_device_set_netdev() > Merge tag 'v6.1-rc8' into rdma.git for-next > RDMA: Add missed netdev_put() for the netdevice_tracker > > Jiangshan Yi (1): > RDMA/opa_vnic: fix spelling typo in comment > > Kees Cook (1): > IB/hfi1: Replace 1-element array with singleton > > Leon Romanovsky (3): > RDMA/core: Fix order of nldev_exit call > Merge branch 'mana-shared-6.2' of https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma > RDMA/mana: Remove redefinition of basic u64 type > > Leonid Ravich (1): > IB/mad: Don't call to function that might sleep while in atomic context > > Li Zhijian (15): > RDMA/core: return -EOPNOSUPP for ODP unsupported device > RDMA/rxe: Remove unnecessary mr testing > RDMA/rxe: Make sure requested access is a subset of {mr,mw}->access > RDMA/rxe: Fix mr->map double free > RDMA/mlx5: no need to kfree NULL pointer > RDMA: Extend RDMA user ABI to support flush > RDMA: Extend RDMA kernel verbs ABI to support flush > RDMA/rxe: Extend rxe user ABI to support flush > RDMA/rxe: Allow registering persistent flag for pmem MR only > RDMA/rxe: Extend rxe packet format to support flush > RDMA/rxe: Implement RC RDMA FLUSH service in requester side > RDMA/rxe: Implement flush execution in responder side > RDMA/rxe: Implement flush completion > RDMA/cm: Make QP FLUSHABLE for supported device > RDMA/rxe: Enable RDMA FLUSH capability for rxe device > > Long Li (9): > net: mana: Add support for auxiliary device > net: mana: Record the physical address for doorbell page region > net: mana: Handle vport sharing between devices > net: mana: Export Work Queue functions for use by RDMA driver > net: mana: Record port number in netdev > net: mana: Move header files to a common location > net: mana: Define max values for SGL entries > net: mana: Define data structures for allocating doorbell page from GDMA > RDMA/mana_ib: Add a driver for Microsoft Azure Network Adapter > > Luoyouming (2): > RDMA/hns: Fix ext_sge num error when post send > RDMA/hns: Fix incorrect sge nums calculation > > Mark Zhang (4): > RDMA/restrack: Release MR restrack when delete > RDMA/core: Make sure "ib_port" is valid when access sysfs node > RDMA/nldev: Return "-EAGAIN" if the cm_id isn't from expected port > RDMA/nldev: Fix failure to send large messages > > Maurizio Lombardi (1): > IB/isert: use the ISCSI_LOGIN_CURRENT_STAGE macro > > Max Gurtovoy (2): > IB/iser: add safety checks for state_mutex lock > IB/iser: open code iser_disconnected_handler > > Mustafa Ismail (4): > RDMA/irdma: Fix inline for multiple SGE's > RDMA/irdma: Fix RQ completion opcode > RDMA/irdma: Do not request 2-level PBLEs for CQ alloc > RDMA/irdma: Initialize net_type before checking it > > Or Har-Toov (1): > RDMA/nldev: Add NULL check to silence false warnings > > Randy Dunlap (1): > RDMA: Disable IB HW for UML > > Sergey Gorenko (1): > IB/iser: open code iser_conn_state_comp_exch > > Shiraz Saleem (1): > RDMA/irdma: Report the correct link speed > > Wang Yufen (2): > RDMA/hfi1: Fix error return code in parse_platform_config() > RDMA/srp: Fix error return code in srp_parse_options() > > Xiao Yang (9): > RDMA/rxe: Remove the duplicate assignment of mr->map_shift > RDMA: Extend RDMA user ABI to support atomic write > RDMA: Extend RDMA kernel ABI to support atomic write > RDMA/rxe: Extend rxe user ABI to support atomic write > RDMA/rxe: Extend rxe packet format to support atomic write > RDMA/rxe: Make requester support atomic write on RC service > RDMA/rxe: Make responder support atomic write on RC service > RDMA/rxe: Implement atomic write completion > RDMA/rxe: Enable atomic write capability for rxe device > > Xiongfeng Wang (1): > RDMA/hfi: Decrease PCI device reference count in error path > > Yang Yang (1): > IB/hfi1: Switch to netif_napi_add() > > Yixing Liu (1): > RDMA/hns: Fix the gid problem caused by free mr > > Yuan Can (1): > RDMA/nldev: Add checks for nla_nest_start() in fill_stat_counter_qps() > > Yunsheng Lin (1): > RDMA/rxe: cleanup some error handling in rxe_verbs.c > > Zhang Xiaoxu (1): > RDMA/rxe: Fix NULL-ptr-deref in rxe_qp_do_cleanup() when socket create failed > > Zhengchao Shao (1): > RDMA/hns: fix memory leak in hns_roce_alloc_mr() > > Zhu Yanjun (2): > RDMA/rxe: Remove reliable datagram support > RDMA/mlx5: Remove not-used IB_FLOW_SPEC_IB define I do not like this subject. I still like my old one. With the old one, it suggests that IB_FLOW_SPEC is not supported in MLX5 in subject line. Thanks and Regards, Zhu Yanjun > > wangjianli (3): > RDMA/qib: fix repeated words in comments > RDMA/core: fix repeated words in comments > RDMA/qedr: fix repeated words in comments > > yangx.jy@fujitsu.com (1): > RDMA/rxe: Remove the member 'type' of struct rxe_mr > > ye xingchen (1): > RDMA/hfi1: use sysfs_emit() to instead of scnprintf() > > zhang songyi (1): > RDMA/mlx4: Remove NULL check before dev_{put, hold} > > MAINTAINERS | 10 + > drivers/infiniband/Kconfig | 3 + > drivers/infiniband/core/cache.c | 2 +- > drivers/infiniband/core/cm.c | 13 +- > drivers/infiniband/core/cma.c | 2 +- > drivers/infiniband/core/device.c | 10 +- > drivers/infiniband/core/mad.c | 5 - > drivers/infiniband/core/nldev.c | 50 +- > drivers/infiniband/core/restrack.c | 2 - > drivers/infiniband/core/sysfs.c | 17 +- > drivers/infiniband/core/uverbs_std_types_qp.c | 2 +- > drivers/infiniband/hw/Makefile | 1 + > drivers/infiniband/hw/erdma/erdma.h | 4 +- > drivers/infiniband/hw/erdma/erdma_cq.c | 2 + > drivers/infiniband/hw/erdma/erdma_hw.h | 37 +- > drivers/infiniband/hw/erdma/erdma_main.c | 15 +- > drivers/infiniband/hw/erdma/erdma_qp.c | 73 ++- > drivers/infiniband/hw/erdma/erdma_verbs.c | 25 +- > drivers/infiniband/hw/erdma/erdma_verbs.h | 19 +- > drivers/infiniband/hw/hfi1/affinity.c | 2 + > drivers/infiniband/hw/hfi1/driver.c | 2 +- > drivers/infiniband/hw/hfi1/firmware.c | 6 + > drivers/infiniband/hw/hfi1/mad.c | 22 +- > drivers/infiniband/hw/hfi1/netdev_rx.c | 2 +- > drivers/infiniband/hw/hns/hns_roce_device.h | 3 + > drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 217 +++++++-- > drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 13 +- > drivers/infiniband/hw/hns/hns_roce_main.c | 18 +- > drivers/infiniband/hw/hns/hns_roce_mr.c | 4 +- > drivers/infiniband/hw/hns/hns_roce_qp.c | 107 ++++- > drivers/infiniband/hw/irdma/uk.c | 170 ++++--- > drivers/infiniband/hw/irdma/user.h | 20 +- > drivers/infiniband/hw/irdma/utils.c | 2 + > drivers/infiniband/hw/irdma/verbs.c | 145 ++---- > drivers/infiniband/hw/irdma/verbs.h | 53 +++ > drivers/infiniband/hw/mana/Kconfig | 10 + > drivers/infiniband/hw/mana/Makefile | 4 + > drivers/infiniband/hw/mana/cq.c | 79 ++++ > drivers/infiniband/hw/mana/device.c | 117 +++++ > drivers/infiniband/hw/mana/main.c | 521 +++++++++++++++++++++ > drivers/infiniband/hw/mana/mana_ib.h | 162 +++++++ > drivers/infiniband/hw/mana/mr.c | 197 ++++++++ > drivers/infiniband/hw/mana/qp.c | 506 ++++++++++++++++++++ > drivers/infiniband/hw/mana/wq.c | 115 +++++ > drivers/infiniband/hw/mlx4/main.c | 12 +- > drivers/infiniband/hw/mlx5/cq.c | 27 +- > drivers/infiniband/hw/mlx5/fs.c | 1 - > drivers/infiniband/hw/mlx5/mlx5_ib.h | 4 + > drivers/infiniband/hw/mlx5/mr.c | 6 +- > drivers/infiniband/hw/qedr/main.c | 2 +- > drivers/infiniband/hw/qib/qib_iba6120.c | 7 +- > drivers/infiniband/hw/qib/qib_tx.c | 5 +- > drivers/infiniband/hw/qib/qib_user_sdma.c | 2 +- > drivers/infiniband/sw/rxe/rxe.c | 4 +- > drivers/infiniband/sw/rxe/rxe.h | 19 + > drivers/infiniband/sw/rxe/rxe_av.c | 43 +- > drivers/infiniband/sw/rxe/rxe_comp.c | 47 +- > drivers/infiniband/sw/rxe/rxe_cq.c | 8 +- > drivers/infiniband/sw/rxe/rxe_hdr.h | 48 +- > drivers/infiniband/sw/rxe/rxe_icrc.c | 4 +- > drivers/infiniband/sw/rxe/rxe_loc.h | 9 +- > drivers/infiniband/sw/rxe/rxe_mmap.c | 6 +- > drivers/infiniband/sw/rxe/rxe_mr.c | 122 +++-- > drivers/infiniband/sw/rxe/rxe_mw.c | 23 +- > drivers/infiniband/sw/rxe/rxe_net.c | 42 +- > drivers/infiniband/sw/rxe/rxe_opcode.c | 35 ++ > drivers/infiniband/sw/rxe/rxe_opcode.h | 17 +- > drivers/infiniband/sw/rxe/rxe_param.h | 7 + > drivers/infiniband/sw/rxe/rxe_qp.c | 98 ++-- > drivers/infiniband/sw/rxe/rxe_req.c | 50 +- > drivers/infiniband/sw/rxe/rxe_resp.c | 329 +++++++++++-- > drivers/infiniband/sw/rxe/rxe_srq.c | 20 +- > drivers/infiniband/sw/rxe/rxe_task.c | 52 +- > drivers/infiniband/sw/rxe/rxe_task.h | 19 +- > drivers/infiniband/sw/rxe/rxe_verbs.c | 106 ++--- > drivers/infiniband/sw/rxe/rxe_verbs.h | 7 +- > drivers/infiniband/sw/siw/siw_cq.c | 24 +- > drivers/infiniband/sw/siw/siw_verbs.c | 40 +- > drivers/infiniband/ulp/ipoib/ipoib_netlink.c | 7 + > drivers/infiniband/ulp/iser/iser_verbs.c | 67 ++- > drivers/infiniband/ulp/isert/ib_isert.c | 5 +- > drivers/infiniband/ulp/rtrs/rtrs-clt.c | 6 +- > drivers/infiniband/ulp/rtrs/rtrs-pri.h | 3 - > drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 13 +- > drivers/infiniband/ulp/rtrs/rtrs-srv.c | 72 ++- > drivers/infiniband/ulp/rtrs/rtrs.c | 22 +- > drivers/infiniband/ulp/srp/ib_srp.c | 96 +++- > drivers/net/ethernet/microsoft/Kconfig | 1 + > drivers/net/ethernet/microsoft/mana/gdma_main.c | 39 +- > drivers/net/ethernet/microsoft/mana/hw_channel.c | 6 +- > drivers/net/ethernet/microsoft/mana/mana_bpf.c | 2 +- > drivers/net/ethernet/microsoft/mana/mana_en.c | 175 ++++++- > drivers/net/ethernet/microsoft/mana/mana_ethtool.c | 2 +- > drivers/net/ethernet/microsoft/mana/shm_channel.c | 2 +- > .../ethernet/microsoft => include/net}/mana/gdma.h | 153 +++++- > .../microsoft => include/net}/mana/hw_channel.h | 0 > .../ethernet/microsoft => include/net}/mana/mana.h | 23 +- > include/net/mana/mana_auxiliary.h | 10 + > .../microsoft => include/net}/mana/shm_channel.h | 0 > include/rdma/ib_pack.h | 5 + > include/rdma/ib_verbs.h | 24 +- > include/rdma/opa_vnic.h | 2 +- > include/trace/events/ib_mad.h | 13 +- > include/uapi/rdma/hns-abi.h | 15 + > include/uapi/rdma/ib_user_ioctl_verbs.h | 3 + > include/uapi/rdma/ib_user_verbs.h | 21 + > include/uapi/rdma/mana-abi.h | 66 +++ > include/uapi/rdma/rdma_user_rxe.h | 8 + > 108 files changed, 3973 insertions(+), 922 deletions(-) > create mode 100644 drivers/infiniband/hw/mana/Kconfig > create mode 100644 drivers/infiniband/hw/mana/Makefile > create mode 100644 drivers/infiniband/hw/mana/cq.c > create mode 100644 drivers/infiniband/hw/mana/device.c > create mode 100644 drivers/infiniband/hw/mana/main.c > create mode 100644 drivers/infiniband/hw/mana/mana_ib.h > create mode 100644 drivers/infiniband/hw/mana/mr.c > create mode 100644 drivers/infiniband/hw/mana/qp.c > create mode 100644 drivers/infiniband/hw/mana/wq.c > rename {drivers/net/ethernet/microsoft => include/net}/mana/gdma.h (82%) > rename {drivers/net/ethernet/microsoft => include/net}/mana/hw_channel.h (100%) > rename {drivers/net/ethernet/microsoft => include/net}/mana/mana.h (95%) > create mode 100644 include/net/mana/mana_auxiliary.h > rename {drivers/net/ethernet/microsoft => include/net}/mana/shm_channel.h (100%) > create mode 100644 include/uapi/rdma/mana-abi.h
On Wed, Dec 14, 2022 at 10:23:29AM +0800, Yanjun Zhu wrote: > 在 2022/12/14 5:05, Jason Gunthorpe 写道: > > Hi Linus, > > > > This cycle saw a new driver called MANA get merged and more fixing to > > the other recently merged drivers. rxe continues to see a lot of > > interest and fixing. Lots more rxe patches already in the works for > > the next cycle. > > > > Thanks, > > Jason <...> > > Zhu Yanjun (2): > > RDMA/rxe: Remove reliable datagram support > > RDMA/mlx5: Remove not-used IB_FLOW_SPEC_IB define > > I do not like this subject. I still like my old one. > With the old one, it suggests that IB_FLOW_SPEC is not supported in MLX5 in > subject line. Right now, mlx5 doesn't implement this IB_FLOW_SPEC and define is not used. It doesn't mean that it is not supported. Thanks
The pull request you sent on Tue, 13 Dec 2022 17:05:46 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/ab425febda94c7d287ea3433cbd0971771d6aeb4 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
在 2022/12/14 15:40, Leon Romanovsky 写道: > On Wed, Dec 14, 2022 at 10:23:29AM +0800, Yanjun Zhu wrote: >> 在 2022/12/14 5:05, Jason Gunthorpe 写道: >>> Hi Linus, >>> >>> This cycle saw a new driver called MANA get merged and more fixing to >>> the other recently merged drivers. rxe continues to see a lot of >>> interest and fixing. Lots more rxe patches already in the works for >>> the next cycle. >>> >>> Thanks, >>> Jason > <...> > >>> Zhu Yanjun (2): >>> RDMA/rxe: Remove reliable datagram support >>> RDMA/mlx5: Remove not-used IB_FLOW_SPEC_IB define >> I do not like this subject. I still like my old one. >> With the old one, it suggests that IB_FLOW_SPEC is not supported in MLX5 in >> subject line. > Right now, mlx5 doesn't implement this IB_FLOW_SPEC and define is not > used. It doesn't mean that it is not supported. Got you. MLX5 has the capability to support IB_FLOW_SPEC. But no user will use IB_FLOW_SPEC, so it is not implemented on MLX5. Zhu Yanjun > > Thanks
[-- Attachment #1: Type: text/plain, Size: 1298 bytes --] Hi Linus, It seems the linux-next CI and 0-day bot are not testing enough 32 bit configurations, as soon as you merged the PR there were two instant reports of warnings on these sytems that I would have thought should have been covered by time in linux-next Anyhow, here are the fixes so people don't hit problems with -Werror Thanks, Jason The following changes since commit dbc94a0fb81771a38733c0e8f2ea8c4fa6934dc1: IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces (2022-12-11 11:04:19 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 5244ca88671a1981ceec09c5c8809f003e6a62aa: RDMA/siw: Fix pointer cast warning (2022-12-16 16:07:38 -0400) ---------------------------------------------------------------- v6.2 merge window 2nd pull request Fix two build warnings on 32 bit platforms ---------------------------------------------------------------- Arnd Bergmann (1): RDMA/siw: Fix pointer cast warning Jason Gunthorpe (1): RDMA/rxe: Fix compile warnings on 32-bit drivers/infiniband/sw/rxe/rxe_resp.c | 72 +++++++++++++++++++---------------- drivers/infiniband/sw/siw/siw_qp_tx.c | 2 +- 2 files changed, 41 insertions(+), 33 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Fri, 16 Dec 2022 21:05:55 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/ed56954cf5a8b7abb530676a073d14f9de661d69 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1583 bytes --] Hi Linus, Yishai found a big data corruption regression in this merge window due to a scatterlist change. Thanks, Jason The following changes since commit 1b929c02afd37871d5afb9d498426f83432e71c2: Linux 6.2-rc1 (2022-12-25 13:41:39 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to e95d50d74b93a767a026f588e8de0b9718a0105e: lib/scatterlist: Fix to merge contiguous pages into the last SG properly (2023-01-05 16:01:05 -0400) ---------------------------------------------------------------- v6.2 first rc pull request A big data corruption regression due to a change in the scatterlist - Fix compilation warnings on gcc 13 - Oops when using some mlx5 stats - Bad enforcement of atomic responder resources in mlx5 - Do not wrongly combine non-contiguous pages in scatterlist ---------------------------------------------------------------- Jiri Slaby (SUSE) (1): RDMA/srp: Move large values to a new enum for gcc13 Maor Gottlieb (1): RDMA/mlx5: Fix validation of max_rd_atomic caps for DC Shay Drory (1): RDMA/mlx5: Fix mlx5_ib_get_hw_stats when used for device Yishai Hadas (1): lib/scatterlist: Fix to merge contiguous pages into the last SG properly drivers/infiniband/hw/mlx5/counters.c | 6 ++--- drivers/infiniband/hw/mlx5/qp.c | 49 +++++++++++++++++++++++++---------- drivers/infiniband/ulp/srp/ib_srp.h | 8 +++--- lib/scatterlist.c | 2 +- 4 files changed, 44 insertions(+), 21 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Fri, 6 Jan 2023 22:11:59 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/4a4dcea0831394b876ae955ecf49ba072ffbf059 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1858 bytes --] Hi Linus, Small PR for the rc cycle. Thanks, Jason The following changes since commit b7bfaa761d760e72a969d116517eaa12e404c262: Linux 6.2-rc3 (2023-01-08 11:49:43 -0600) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 0f097f08c9b3c1fdb6cc9f2dd423abc17d13f1a2: lib/scatterlist: Fix to calculate the last_pg properly (2023-01-16 12:08:31 -0400) ---------------------------------------------------------------- v6.2 second rc pull request - Several hfi1 patches fixing some long standing driver bugs - Overflow when working with sg lists with elements greater than 4G - An rxe regression with object numbering after the mrs reach their limit - A theoretical problem with the scatterlist merging code ---------------------------------------------------------------- Daisuke Matsuda (2): RDMA/rxe: Fix inaccurate constants in rxe_type_info RDMA/rxe: Prevent faulty rkey generation Dean Luick (5): IB/hfi1: Reject a zero-length user expected buffer IB/hfi1: Reserve user expected TIDs IB/hfi1: Fix expected receive setup error exit issues IB/hfi1: Immediately remove invalid memory from hardware IB/hfi1: Remove user expected buffer invalidate race Yishai Hadas (1): lib/scatterlist: Fix to calculate the last_pg properly Yonatan Nachum (1): RDMA/core: Fix ib block iterator counter overflow drivers/infiniband/core/verbs.c | 7 +- drivers/infiniband/hw/hfi1/user_exp_rcv.c | 200 +++++++++++++++++++++--------- drivers/infiniband/hw/hfi1/user_exp_rcv.h | 3 + drivers/infiniband/sw/rxe/rxe_param.h | 10 +- drivers/infiniband/sw/rxe/rxe_pool.c | 22 ++-- lib/scatterlist.c | 25 ++-- 6 files changed, 179 insertions(+), 88 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Fri, 20 Jan 2023 17:13:31 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/8974efaa3385959e7ea1019a4b63acff28631e6d Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 2070 bytes --] Hi Linus, Usual collection of small driver bug fixes. Thanks, Jason The following changes since commit 0f097f08c9b3c1fdb6cc9f2dd423abc17d13f1a2: lib/scatterlist: Fix to calculate the last_pg properly (2023-01-16 12:08:31 -0400) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 2de49fb1c9bb8bfe283070fef2e9304d9842a30c: RDMA/rtrs: Don't call kobject_del for srv_path->kobj (2023-02-07 11:21:32 +0200) ---------------------------------------------------------------- v6.2 third rc pull request - Fix error unwind bugs in hfi1, irdma rtrs - Old bug with IPoIB children interfaces possibly using the wrong number of queues - Really old bug in usnic calling iommu_map in an atomic context - Recent regression from the DMABUF locking rework - Missing user data validation in MANA ---------------------------------------------------------------- Dan Carpenter (1): RDMA/mana_ib: Prevent array underflow in mana_ib_create_qp_raw() Dean Luick (2): IB/hfi1: Restore allocated resources on failed copyout IB/hfi1: Assign npages earlier Dragos Tatulea (1): IB/IPoIB: Fix legacy IPoIB due to wrong number of queues Li Zhijian (1): RDMA/rtrs: Don't call kobject_del for srv_path->kobj Maor Gottlieb (1): RDMA/umem: Use dma-buf locked API to solve deadlock Nikita Zhandarovich (1): RDMA/irdma: Fix potential NULL-ptr-dereference Yang Yingliang (1): RDMA/usnic: use iommu_map_atomic() under spin_lock() drivers/infiniband/core/umem_dmabuf.c | 8 ++++---- drivers/infiniband/hw/hfi1/file_ops.c | 7 +++++-- drivers/infiniband/hw/hfi1/user_exp_rcv.c | 9 ++------- drivers/infiniband/hw/irdma/cm.c | 3 +++ drivers/infiniband/hw/mana/qp.c | 2 +- drivers/infiniband/hw/usnic/usnic_uiom.c | 8 ++++---- drivers/infiniband/ulp/ipoib/ipoib_main.c | 8 ++++++++ drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 3 +-- 8 files changed, 28 insertions(+), 20 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Thu, 9 Feb 2023 20:35:49 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/1424c3e309bbdcf2d93977bf2840cc00ef9b6208 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 9163 bytes --] Hi Linus, Quite a small cycle this time, even with the rc8. I suppose everyone went to sleep over xmas. Thanks, Jason The following changes since commit 22551e77e5507a06114c0af2b92bbf1a66ec33c5: net/mlx5: Configure IPsec steering for egress RoCEv2 traffic (2023-02-15 11:30:07 +0200) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 66fb1d5df6ace316a4a6e2c31e13fc123ea2b644: IB/mlx5: Extend debug control for CC parameters (2023-02-19 11:50:59 +0200) ---------------------------------------------------------------- v6.3 RDMA pull request Small cycle this time: - Minor driver updates for hfi1, cxgb4, erdma, hns, irdma, mlx5, siw, mana - inline CQE support for hns - Have mlx5 display device error codes - Pinned DMABUF support for irdma - Continued rxe cleanups, particularly converting the MRs to use xarray - Improvements to what can be cached in the mlx5 mkey cache ---------------------------------------------------------------- Aharon Landau (2): RDMA/mlx5: Don't keep umrable 'page_shift' in cache entries RDMA/mlx5: Remove implicit ODP cache entry Alexey Kodanev (1): RDMA/cxgb4: remove unnecessary NULL check in __c4iw_poll_cq_one() Bernard Metzler (1): RDMA/siw: Fix user page pinning accounting Bob Pearson (9): RDMA/rxe: Cleanup mr_check_range RDMA/rxe: Move rxe_map_mr_sg to rxe_mr.c RDMA-rxe: Isolate mr code from atomic_reply() RDMA-rxe: Isolate mr code from atomic_write_reply() RDMA/rxe: Cleanup page variables in rxe_mr.c RDMA/rxe: Replace rxe_map and rxe_phys_buf by xarray Subject: RDMA/rxe: Handle zero length rdma RDMA/rxe: Remove rxe_alloc() RDMA/rxe: Fix missing memory barriers in rxe_queue.h Dan Carpenter (2): RDMA/mlx5: Check reg_create() create for errors iw_cxgb4: Fix potential NULL dereference in c4iw_fill_res_cm_id_entry() Dean Luick (7): IB/hfi1: Remove redundant pageidx variable IB/hfi1: Assign npages earlier IB/hfi1: Consolidate the creation of user TIDs IB/hfi1: Improve TID validity checking IB/hfi1: Split IB counter allocation IB/hfi1: Update RMT size calculation IB/hfi1: Use dma_mmap_coherent for matching buffers Deming Wang (1): RDMA/restrack: Correct spelling Edward Srouji (1): IB/mlx5: Extend debug control for CC parameters Gustavo A. R. Silva (1): RDMA/erdma: Replace zero-length arrays with flexible-array members Jason Gunthorpe (3): RDMA/umem: Remove unused 'work' member from struct ib_umem RDMA/mlx5: Use rdma_umem_for_each_dma_block() Merge mlx5-next into rdma.git for-next Kees Cook (2): RDMA/cxgb4: Replace 0-length arrays with flexible arrays RDMA/cma: Distinguish between sockaddr_in and sockaddr_in6 by size Leon Romanovsky (3): Merge branch 'mlx5-next' into HEAD RDMA/mlx5: Fix MR cache debugfs error in IB representors mode RDMA/mlx5: Remove impossible check of mkey cache cleanup failure Long Li (1): RDMA/mana_ib: Fix a bug when the PF indicates more entries for registering memory on first packet Luoyouming (3): RDMA/hns: Remove rq inline in kernel RDMA/hns: Add compatibility handling for only support userspace rq inline RDMA/hns: Support cqe inline in user space Mark Zhang (2): RDMA/cma: Refactor the inbound/outbound path records process flow RDMA/mlx: Calling qp event handler in workqueue context Miaoqian Lin (3): RDMA/hfi1: Fix doc for hfi1_free_ctxt RDMA/erdma: Fix refcount leak in erdma_mmap RDMA/hns: Fix refcount leak in hns_roce_mmap Michael Guralnik (4): RDMA/mlx5: Change the cache structure to an RB-tree RDMA/mlx5: Introduce mlx5r_cache_rb_key RDMA/mlx5: Cache all user cacheable mkeys on dereg MR flow RDMA/mlx5: Add work to remove temporary entries from the cache Mustafa Ismail (1): RDMA/irdma: Cap MSIX used to online CPUs + 1 Nikita Zhandarovich (2): RDMA/cxgb4: add null-ptr-check after ip_dev_find() RDMA/cxgb4: Fix potential null-ptr-deref in pass_establish() Or Har-Toov (4): net/mlx5: Expose bits for querying special mkeys net/mlx5: Change define name for 0x100 lkey value net/mlx5e: Use query_special_contexts for mkeys RDMA/mlx5: Use query_special_contexts for mkeys Patrick Kelsey (2): IB/hfi1: Fix math bugs in hfi1_can_pin_pages() IB/hfi1: Fix sdma.h tx->num_descs off-by-one errors Patrisious Haddad (2): RDMA/core: Refactor rdma_bind_addr RDMA/mlx5: Print error syndrome in case of fatal QP errors Zhu Yanjun (6): RDMA/irdma: Remove extra ret variable in favor of existing err RDMA/irdma: Split MEM handler into irdma_reg_user_mr_type_mem RDMA/irdma: Split mr alloc and free into new functions RDMA/irdma: Split QP handler into irdma_reg_user_mr_type_qp RDMA/irdma: Split CQ handler into irdma_reg_user_mr_type_cq RDMA/irdma: Add support for dmabuf pin memory regions drivers/infiniband/core/cma.c | 300 ++++++----- drivers/infiniband/core/sa_query.c | 171 ++---- drivers/infiniband/hw/cxgb4/cm.c | 7 + drivers/infiniband/hw/cxgb4/cq.c | 2 +- drivers/infiniband/hw/cxgb4/restrack.c | 2 +- drivers/infiniband/hw/cxgb4/t4fw_ri_api.h | 26 +- drivers/infiniband/hw/erdma/erdma_hw.h | 4 +- drivers/infiniband/hw/erdma/erdma_verbs.c | 4 +- drivers/infiniband/hw/hfi1/chip.c | 59 ++- drivers/infiniband/hw/hfi1/exp_rcv.h | 5 +- drivers/infiniband/hw/hfi1/file_ops.c | 81 ++- drivers/infiniband/hw/hfi1/init.c | 2 +- drivers/infiniband/hw/hfi1/sdma.c | 4 +- drivers/infiniband/hw/hfi1/sdma.h | 15 +- drivers/infiniband/hw/hfi1/user_exp_rcv.c | 46 +- drivers/infiniband/hw/hfi1/user_pages.c | 61 ++- drivers/infiniband/hw/hfi1/verbs.c | 81 ++- drivers/infiniband/hw/hns/hns_roce_device.h | 19 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 109 ++-- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 3 +- drivers/infiniband/hw/hns/hns_roce_main.c | 17 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 66 +-- drivers/infiniband/hw/irdma/hw.c | 2 + drivers/infiniband/hw/irdma/verbs.c | 313 +++++++---- drivers/infiniband/hw/mana/main.c | 22 +- drivers/infiniband/hw/mlx4/main.c | 8 + drivers/infiniband/hw/mlx4/mlx4_ib.h | 3 + drivers/infiniband/hw/mlx4/qp.c | 121 +++-- drivers/infiniband/hw/mlx5/cmd.c | 45 +- drivers/infiniband/hw/mlx5/cmd.h | 3 +- drivers/infiniband/hw/mlx5/cong.c | 28 +- drivers/infiniband/hw/mlx5/main.c | 24 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 51 +- drivers/infiniband/hw/mlx5/mr.c | 490 +++++++++++++---- drivers/infiniband/hw/mlx5/odp.c | 67 +-- drivers/infiniband/hw/mlx5/qp.c | 164 ++++-- drivers/infiniband/hw/mlx5/qp.h | 4 +- drivers/infiniband/hw/mlx5/qpc.c | 7 +- drivers/infiniband/hw/mlx5/srq.c | 2 +- drivers/infiniband/hw/mlx5/umr.c | 4 +- drivers/infiniband/hw/mlx5/wr.c | 2 +- drivers/infiniband/sw/rxe/rxe.h | 38 ++ drivers/infiniband/sw/rxe/rxe_loc.h | 12 +- drivers/infiniband/sw/rxe/rxe_mr.c | 606 ++++++++++++---------- drivers/infiniband/sw/rxe/rxe_pool.c | 46 -- drivers/infiniband/sw/rxe/rxe_pool.h | 3 - drivers/infiniband/sw/rxe/rxe_queue.h | 108 ++-- drivers/infiniband/sw/rxe/rxe_resp.c | 202 +++----- drivers/infiniband/sw/rxe/rxe_verbs.c | 115 ++-- drivers/infiniband/sw/rxe/rxe_verbs.h | 32 +- drivers/infiniband/sw/siw/siw_mem.c | 23 +- drivers/infiniband/ulp/ipoib/ipoib_main.c | 2 +- drivers/infiniband/ulp/srp/ib_srp.c | 2 +- drivers/net/ethernet/mellanox/mlx4/qp.c | 14 +- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 22 +- include/linux/mlx4/qp.h | 1 + include/linux/mlx5/driver.h | 1 - include/linux/mlx5/mlx5_ifc.h | 22 +- include/linux/mlx5/qp.h | 2 +- include/rdma/ib_sa.h | 2 +- include/rdma/ib_umem.h | 1 - include/rdma/ib_verbs.h | 2 +- include/rdma/rdma_cm.h | 1 - include/rdma/restrack.h | 4 +- include/uapi/rdma/hns-abi.h | 4 + 65 files changed, 2112 insertions(+), 1597 deletions(-) (diffstat from tag for-linus-merged) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Thu, 23 Feb 2023 21:27:39 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/8cbd92339db08b19b93d1637e5799ff2a8dddfd2 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 2609 bytes --] Hi Linus, We had a fairly slow cycle on the rc side this time, here are the accumulated fixes, mostly in drivers. Thanks, Jasn The following changes since commit eeac8ede17557680855031c6f305ece2378af326: Linux 6.3-rc2 (2023-03-12 16:36:44 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to aca3b0fa3d04b40c96934d86cc224cccfa7ea8e0: RDMA/core: Fix GID entry ref leak when create_ah fails (2023-04-13 12:17:32 -0300) ---------------------------------------------------------------- v6.3 rc RDMA pull request Driver bug fixes: - irdma should not generate extra completions during flushing - Fix several memory leaks - Do not get confused in irdma's iwarp mode if IPv6 is present - Correct a link speed calculation in mlx5 - Increase the EQ/WQ limits on erdma as they are too small for big applications - Use the right math for erdma's inline mtt feature - Make erdma probing more robust to boot time ordering differences - Fix a KMSAN crash in CMA due to uninitialized qkey ---------------------------------------------------------------- Cheng Xu (4): RDMA/erdma: Fix some typos RDMA/erdma: Update default EQ depth to 4096 and max_send_wr to 8192 RDMA/erdma: Inline mtt entries into WQE if supported RDMA/erdma: Defer probing if netdevice can not be found Maher Sanalla (1): IB/mlx5: Add support for 400G_8X lane speed Mark Zhang (1): RDMA/cma: Allow UD qp_type to join multicast only Mustafa Ismail (3): RDMA/irdma: Do not generate SW completions for NOPs RDMA/irdma: Fix memory leak of PBLE objects RDMA/irdma: Increase iWARP CM default rexmit count Saravanan Vajravel (1): RDMA/core: Fix GID entry ref leak when create_ah fails Tatyana Nikolova (1): RDMA/irdma: Add ipv4 check to irdma_find_listener() drivers/infiniband/core/cma.c | 60 +++++++++++++++++-------------- drivers/infiniband/core/verbs.c | 2 ++ drivers/infiniband/hw/erdma/erdma_cq.c | 2 +- drivers/infiniband/hw/erdma/erdma_hw.h | 4 +-- drivers/infiniband/hw/erdma/erdma_main.c | 2 +- drivers/infiniband/hw/erdma/erdma_qp.c | 4 +-- drivers/infiniband/hw/erdma/erdma_verbs.h | 2 +- drivers/infiniband/hw/irdma/cm.c | 16 +++++---- drivers/infiniband/hw/irdma/cm.h | 2 +- drivers/infiniband/hw/irdma/hw.c | 3 ++ drivers/infiniband/hw/irdma/utils.c | 5 ++- drivers/infiniband/hw/mlx5/main.c | 4 +++ 12 files changed, 65 insertions(+), 41 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Fri, 14 Apr 2023 09:18:52 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/aee3c14e8659b2d14f417422b7eeb8a1e97ced30 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 13641 bytes --] Hi Linus, Here is the RDMA pull request for 6.3 - as is now typical this is mostly a whole range of unrelated changes in drivers. The few notable series are highlighted in the tag. Thanks, Jason The following changes since commit e8d018dd0257f744ca50a729e3d042cf2ec9da65: Linux 6.3-rc3 (2023-03-19 13:27:55 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 531094dc7164718d28ebb581d729807d7e846363: RDMA/efa: Add rdma write capability to device caps (2023-04-21 19:18:58 -0300) ---------------------------------------------------------------- v6.4 merge window RDMA pull request Usual wide collection of unrelated items in drivers: - Driver bug fixes and treewide cleanups in hfi1, siw, qib, mlx5, rxe, usnic, usnic, bnxt_re, ocrdma, iser * Unnecessary NULL checks * kmap obsolescence * pci_enable_pcie_error_reporting() obsolescence * Unused variables and macros * trace event related warnings * casting warnings - Code cleanups for irdm and erdma - EFA reporting of 128 byte PCIe TLP support - mlx5 more agressively uses the out of order HW feature - Big rework of how state machines and tasks work in rxe - Fix a syzkaller found crash netdev refcount leak in siw - bnxt_re revises their HW description header - Congestion control for bnxt_re - Use mmu_notifiers more safely in hfi1 - mlx5 gets better support for PCIe relaxed ordering inside VMs ---------------------------------------------------------------- Avihai Horon (4): RDMA/mlx5: Remove pcie_relaxed_ordering_enabled() check for RO write RDMA/mlx5: Check pcie_relaxed_ordering_enabled() in UMR net/mlx5: Update relaxed ordering read HCA capabilities RDMA/mlx5: Allow relaxed ordering read in VFs and VMs Bjorn Helgaas (2): IB/hfi1: Drop redundant pci_enable_pcie_error_reporting() IB/qib: Drop redundant pci_enable_pcie_error_reporting() Bob Pearson (18): RDMA/rxe: Replace exists by rxe in rxe.c RDMA/rxe: Change rxe_dbg to rxe_dbg_dev RDMA/rxe: Extend dbg log messages to err and info RDMA/rxe: Add error messages RDMA/rxe: Convert tasklet args to queue pairs RDMA/rxe: Cleanup reset state handling in rxe_resp.c RDMA/rxe: Cleanup error state handling in rxe_comp.c RDMA/rxe: Remove qp reference counting in tasks RDMA/rxe: Remove __rxe_do_task() RDMA/rxe: Make tasks schedule each other RDMA/rxe: Rewrite rxe_task.c RDMA/rxe: Remove tasklet call from rxe_cq.c RDMA/rxe: Fix incorrect TASKLET_STATE_SCHED check in rxe_task.c RDMA/rxe: Remove qp->resp.state RDMA/rxe: Remove qp->comp.state RDMA/rxe: Remove qp->req.state RDMA/rxe: Move code to check if drained to subroutine RDMA/rxe: Protect QP state with qp->state_lock Cai Huoqing (1): RDMA/usnic: Remove redundant pci_clear_master Cheng Xu (4): RDMA/erdma: Unify byte ordering APIs usage RDMA/erdma: Eliminate unnecessary casting of EQ doorbells RDMA/erdma: Minor refactor of device init flow RDMA/erdma: Use fixed hardware page size Christophe JAILLET (1): RDMA/irdma: Slightly optimize irdma_form_ah_cm_frame() Daisuke Matsuda (1): RDMA/rxe: Fix spinlock recursion deadlock on requester Dan Carpenter (1): RDMA/mlx4: Prevent shift wrapping in set_user_sq_size() Daniil Dulov (1): RDMA/siw: Fix potential page_array out of range access Dean Luick (1): IB/hfi1: Remove trace newlines Ehab Ababneh (1): IB/hfi1: Suppress useless compiler warnings Gustavo A. R. Silva (1): RDMA/core: Fix multiple -Warray-bounds warnings Ira Weiny (1): RDMA/qib: Remove deprecated kmap() call Jason Gunthorpe (1): RDMA: Add ib_virt_dma_to_page() Kang Chen (1): IB/hifi1: add a null check of kzalloc_node in hfi1_ipoib_txreq_init Kees Cook (1): IB/rdmavt: Fix target union member for rvt_post_one_wr() Krzysztof Czurylo (1): RDMA/irdma: Refactor HW statistics Leon Romanovsky (3): Enable IB out-of-order by default in mlx5 Merge branch 'mlx5-next' into wip/leon-for-next RDMA/rxe: Clean kzalloc failure paths Mark Bloch (1): RDMA/mlx5: Fix flow counter query via DEVX Mark Zhang (2): RDMA/cm: Trace icm_send_rej event before the cm state is reset RDMA/mlx5: Use correct device num_ports when modify DC Max Gurtovoy (3): IB/iser: remove unused macros IB/iser: centralize setting desc type and done callback IB/iser: remove redundant new line Michal Swiatkowski (1): RDMA/irdma: Change name of interrupts Natalia Petrova (1): RDMA/rdmavt: Delete unnecessary NULL check Or Har-Toov (3): net/mlx5: Expose bits for enabling out-of-order by default RDMA/mlx5: Disable out-of-order in integrity enabled QPs net/mlx5: Set out of order (ooo) by default Patrick Kelsey (3): IB/hfi1: Fix SDMA mmu_rb_node not being evicted in LRU order IB/hfi1: Fix bugs with non-PAGE_SIZE-end multi-iovec user SDMA requests IB/hfi1: Place struct mmu_rb_handler on cache line start Patrisious Haddad (2): net/mlx5: Introduce other vport query for Q-counters RDMA/mlx5: Expand switchdev Q-counters to expose representor statistics Rohit Chavan (1): RDMA/mlx5: Coding style fix reported by checkpatch Saravanan Vajravel (1): RDMA/srpt: Add a check for valid 'mad_agent' pointer Selvin Xavier (8): RDMA/bnxt_re: Add resize_cq support RDMA/bnxt_re: Update HW interface headers RDMA/bnxt_re: Remove HW queue mapping from RoCE Driver RDMA/bnxt_re: Convert RCFW_CMD_PREP macro to static inline function RDMA/bnxt_re: Reduce number of argumets to control path command APIs RDMA/bnxt_re: RoCE slow path TLV support RDAM/bnxt_re: Use tlv apis while processing the slow path commands RDMA/bnxt_re: Enable congestion control by default Sindhu Devale (1): RDMA/irdma: Refactor PBLE functions Tatyana Nikolova (1): RDMA/irdma: Remove a redundant irdma_arp_table() call Tejun Heo (1): RDMA/irdma: Drop spurious WQ_UNBOUND from alloc_ordered_workqueue() call Tetsuo Handa (1): RDMA/siw: Remove namespace check from siw_netdev_event() Tom Rix (4): RDMA/bnxt_re: remove unused num_srqne_processed and num_cqne_processed variables RDMA/ocrdma: remove unused discard_cnt variable RDMA/mlx5: Remove unused num_alloc_xa_entries variable IB/qib: Remove unused cnt variable Yang Li (1): RDMA/cma: Remove NULL check before dev_{put, hold} Yixing Liu (1): RDMA/hns: Add new command to support query vf caps Yonatan Nachum (2): RDMA/efa: Add data polling capability feature bit RDMA/efa: Add rdma write capability to device caps Zhu Yanjun (1): RDMA/rxe: Fix the error "trying to register non-static key in rxe_cleanup_task" drivers/infiniband/core/cm.c | 3 +- drivers/infiniband/core/cma.c | 6 +- drivers/infiniband/core/user_mad.c | 23 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 109 + drivers/infiniband/hw/bnxt_re/ib_verbs.h | 3 + drivers/infiniband/hw/bnxt_re/main.c | 103 +- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 211 +- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 5 + drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 97 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 66 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 337 +- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 68 +- drivers/infiniband/hw/bnxt_re/qplib_tlv.h | 162 + drivers/infiniband/hw/bnxt_re/roce_hsi.h | 7423 ++++++++++++-------- drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 17 +- drivers/infiniband/hw/efa/efa_io_defs.h | 42 +- drivers/infiniband/hw/efa/efa_verbs.c | 11 +- drivers/infiniband/hw/erdma/erdma.h | 2 +- drivers/infiniband/hw/erdma/erdma_cm.h | 10 +- drivers/infiniband/hw/erdma/erdma_cmdq.c | 42 +- drivers/infiniband/hw/erdma/erdma_cq.c | 2 +- drivers/infiniband/hw/erdma/erdma_eq.c | 9 +- drivers/infiniband/hw/erdma/erdma_hw.h | 4 + drivers/infiniband/hw/erdma/erdma_main.c | 39 +- drivers/infiniband/hw/erdma/erdma_verbs.c | 17 +- drivers/infiniband/hw/hfi1/chip.c | 18 +- drivers/infiniband/hw/hfi1/driver.c | 2 +- drivers/infiniband/hw/hfi1/file_ops.c | 2 +- drivers/infiniband/hw/hfi1/init.c | 12 +- drivers/infiniband/hw/hfi1/ipoib_tx.c | 6 +- drivers/infiniband/hw/hfi1/mmu_rb.c | 84 +- drivers/infiniband/hw/hfi1/mmu_rb.h | 22 +- drivers/infiniband/hw/hfi1/pcie.c | 2 - drivers/infiniband/hw/hfi1/pio.c | 2 +- drivers/infiniband/hw/hfi1/sdma.c | 21 +- drivers/infiniband/hw/hfi1/sdma.h | 16 +- drivers/infiniband/hw/hfi1/sdma_txreq.h | 1 + drivers/infiniband/hw/hfi1/trace_dbg.h | 7 + drivers/infiniband/hw/hfi1/trace_mmu.h | 4 - drivers/infiniband/hw/hfi1/user_sdma.c | 600 +- drivers/infiniband/hw/hfi1/user_sdma.h | 5 - drivers/infiniband/hw/hfi1/verbs.c | 4 +- drivers/infiniband/hw/hfi1/vnic_sdma.c | 1 + drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 189 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 31 +- drivers/infiniband/hw/irdma/cm.c | 2 +- drivers/infiniband/hw/irdma/ctrl.c | 324 +- drivers/infiniband/hw/irdma/defs.h | 9 +- drivers/infiniband/hw/irdma/hw.c | 17 +- drivers/infiniband/hw/irdma/i40iw_hw.c | 60 +- drivers/infiniband/hw/irdma/icrdma_hw.c | 51 + drivers/infiniband/hw/irdma/irdma.h | 1 + drivers/infiniband/hw/irdma/main.h | 3 + drivers/infiniband/hw/irdma/pble.c | 16 +- drivers/infiniband/hw/irdma/pble.h | 2 +- drivers/infiniband/hw/irdma/protos.h | 8 +- drivers/infiniband/hw/irdma/type.h | 166 +- drivers/infiniband/hw/irdma/utils.c | 172 +- drivers/infiniband/hw/irdma/verbs.c | 200 +- drivers/infiniband/hw/mlx4/qp.c | 8 +- drivers/infiniband/hw/mlx5/counters.c | 171 +- drivers/infiniband/hw/mlx5/devx.c | 33 +- drivers/infiniband/hw/mlx5/mr.c | 12 +- drivers/infiniband/hw/mlx5/qp.c | 19 +- drivers/infiniband/hw/mlx5/umr.c | 7 +- drivers/infiniband/hw/mlx5/umr.h | 3 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 - drivers/infiniband/hw/qib/qib_file_ops.c | 9 +- drivers/infiniband/hw/qib/qib_pcie.c | 8 - drivers/infiniband/hw/qib/qib_user_sdma.c | 11 +- drivers/infiniband/hw/usnic/usnic_ib_main.c | 2 - drivers/infiniband/sw/rdmavt/qp.c | 4 +- drivers/infiniband/sw/rxe/rxe.c | 16 +- drivers/infiniband/sw/rxe/rxe.h | 46 +- drivers/infiniband/sw/rxe/rxe_comp.c | 161 +- drivers/infiniband/sw/rxe/rxe_cq.c | 39 +- drivers/infiniband/sw/rxe/rxe_icrc.c | 4 +- drivers/infiniband/sw/rxe/rxe_loc.h | 7 +- drivers/infiniband/sw/rxe/rxe_mmap.c | 6 +- drivers/infiniband/sw/rxe/rxe_mr.c | 29 +- drivers/infiniband/sw/rxe/rxe_net.c | 11 +- drivers/infiniband/sw/rxe/rxe_qp.c | 263 +- drivers/infiniband/sw/rxe/rxe_queue.c | 5 +- drivers/infiniband/sw/rxe/rxe_recv.c | 15 +- drivers/infiniband/sw/rxe/rxe_req.c | 104 +- drivers/infiniband/sw/rxe/rxe_resp.c | 126 +- drivers/infiniband/sw/rxe/rxe_srq.c | 6 +- drivers/infiniband/sw/rxe/rxe_task.c | 268 +- drivers/infiniband/sw/rxe/rxe_task.h | 23 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 983 ++- drivers/infiniband/sw/rxe/rxe_verbs.h | 14 - drivers/infiniband/sw/siw/siw_main.c | 3 - drivers/infiniband/sw/siw/siw_qp_rx.c | 6 +- drivers/infiniband/sw/siw/siw_qp_tx.c | 21 +- drivers/infiniband/sw/siw/siw_verbs.c | 4 +- drivers/infiniband/ulp/iser/iser_initiator.c | 17 +- drivers/infiniband/ulp/iser/iser_verbs.c | 6 - drivers/infiniband/ulp/srpt/ib_srpt.c | 23 +- drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | 81 + .../net/ethernet/mellanox/mlx5/core/en/params.c | 3 +- .../net/ethernet/mellanox/mlx5/core/en_common.c | 9 +- drivers/net/ethernet/mellanox/mlx5/core/main.c | 3 + include/linux/mlx5/mlx5_ifc.h | 31 +- include/rdma/ib_verbs.h | 25 + include/uapi/rdma/bnxt_re-abi.h | 4 + include/uapi/rdma/efa-abi.h | 4 +- 106 files changed, 8007 insertions(+), 5519 deletions(-) create mode 100644 drivers/infiniband/hw/bnxt_re/qplib_tlv.h [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Fri, 28 Apr 2023 12:34:45 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/af3877265dd88d7e333f94fb37bc09554544adca Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 3427 bytes --] Hi Linus, Usual collection of driver rc bug fixes, other than tha rxe stuff which is a regression this cycle nothing much stands out. Thanks, Jason The following changes since commit ac9a78681b921877518763ba0e89202254349d1b: Linux 6.4-rc1 (2023-05-07 13:34:35 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 5842d1d9c1b0d17e0c29eae65ae1f245f83682dd: RDMA/irdma: Fix Local Invalidate fencing (2023-05-29 14:06:29 -0300) ---------------------------------------------------------------- v6.4 first rc RDMA pull request Small rc bug fixes: - Fix 64K ARM page size support in bnxt_re and efa - bnxt_re fixes for a memory leak, incorrect error handling and a remove a bogus FW failure when running on a VF - Update MAINTAINERS for hns and efa - Fix two rxe regressions added this merge window in error unwind and incorrect spinlock primitives - hns gets a better algorithm for allocating page tables to avoid running out of resources, and a timeout adjustment - Fix a text case failure in hns - Use after free in irdma and fix incorrect construction of a WQE causing mis-execution ---------------------------------------------------------------- Bob Pearson (1): RDMA/rxe: Fix double unlock in rxe_qp.c Chengchang Tang (2): RDMA/hns: Fix timeout attr in query qp for HIP08 RDMA/hns: Fix base address table allocation Guoqing Jiang (1): RDMA/rxe: Convert spin_{lock_bh,unlock_bh} to spin_{lock_irqsave,unlock_irqrestore} Haoyue Xu (1): MAINTAINERS: Update maintainers of HiSilicon RoCE Kalesh AP (3): RDMA/bnxt_re: Fix a possible memory leak RDMA/bnxt_re: Fix return value of bnxt_re_process_raw_qp_pkt_rx RDMA/bnxt_re: Do not enable congestion control on VFs Michael Margolin (1): MAINTAINERS: Update maintainer of Amazon EFA driver Mustafa Ismail (2): RDMA/irdma: Prevent QP use after free RDMA/irdma: Fix Local Invalidate fencing Selvin Xavier (1): RDMA/bnxt_re: Fix the page_size used during the MR creation Yangyang Li (1): RDMA/hns: Modify the value of long message loopback slice Yonatan Nachum (1): RDMA/efa: Fix unsupported page sizes in device MAINTAINERS | 5 ++-- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 4 +-- drivers/infiniband/hw/bnxt_re/main.c | 4 +++ drivers/infiniband/hw/bnxt_re/qplib_fp.c | 11 ++++---- drivers/infiniband/hw/bnxt_re/qplib_res.c | 12 ++------- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 7 +++-- drivers/infiniband/hw/efa/efa_verbs.c | 2 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 25 +++++++++++------ drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 2 ++ drivers/infiniband/hw/hns/hns_roce_mr.c | 43 ++++++++++++++++++++++++++++++ drivers/infiniband/hw/irdma/verbs.c | 12 +++++---- drivers/infiniband/sw/rxe/rxe_comp.c | 26 +++++++++++------- drivers/infiniband/sw/rxe/rxe_net.c | 7 ++--- drivers/infiniband/sw/rxe/rxe_qp.c | 37 ++++++++++++++++--------- drivers/infiniband/sw/rxe/rxe_recv.c | 9 ++++--- drivers/infiniband/sw/rxe/rxe_req.c | 30 ++++++++++++--------- drivers/infiniband/sw/rxe/rxe_resp.c | 14 +++++----- drivers/infiniband/sw/rxe/rxe_verbs.c | 25 ++++++++--------- 18 files changed, 176 insertions(+), 99 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
[-- Attachment #1: Type: text/plain, Size: 4891 bytes --] Hi Linus, This is an unusually large bunch of bug fixes for the later rc cycle, rxe and mlx5 both dumped a lot of things at once. rxe continues to fix itself, and mlx5 is fixing a bunch of "queue counters" related bugs. There is one highly notable bug fix regarding the qkey. This small security check was missed in the original 2005 implementation and it allows some significant issues. Thanks, Jason The following changes since commit 5842d1d9c1b0d17e0c29eae65ae1f245f83682dd: RDMA/irdma: Fix Local Invalidate fencing (2023-05-29 14:06:29 -0300) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 0c7e314a6352664e12ec465f576cf039e95f8369: RDMA/rxe: Fix rxe_cq_post (2023-06-14 14:12:43 -0300) ---------------------------------------------------------------- v6.4 second rc RDMA pull request Many rc bug fixes: - Two rtrs bug fixes for error unwind bugs - Several rxe bug fixes: * Incorrect Rx packet validation * Using memory without a refcount * Syzkaller found use before initialization * Regression fix for missing locking with the tasklet conversion from this merge window - Have bnxt report the correct link properties to userspace, this was a regression in v6.3 - Several mlx5 bug fixes: * Kernel crash triggerable by userspace for the RAW ethernet profile * Defend against steering refcounting issues created by userspace * Incorrect change of QP port affinity parameters in some LAG configurations - Fix mlx5 Q counters: * Do not over allocate Q counters to allow userspace to use the full port capacity * Kernel crash triggered by eswitch due to mis-use of Q counters * Incorrect mlx5_device for Q counters in some LAG configurations - Properly implement the IBA spec restricting privileged qkeys to root - Always an error when reading from a disassociated device's event queue - isert bug fixes: * Avoid a deadlock with the CM handler and CM ID destruction * Correct list corruption due to incorrect locking * Fix a use after free around connection tear down ---------------------------------------------------------------- Bob Pearson (3): RDMA/rxe: Fix packet length checks RDMA/rxe: Fix ref count error in check_rkey() RDMA/rxe: Fix rxe_cq_post Edward Srouji (1): RDMA/uverbs: Restrict usage of privileged QKEYs Kamal Heib (1): RDMA/bnxt_re: Fix reporting active_{speed,width} attributes Li Zhijian (2): RDMA/rtrs: Fix the last iu->buf leak in err path RDMA/rtrs: Fix rxe_dealloc_pd warning Maher Sanalla (1): RDMA/mlx5: Initiate dropless RQ for RAW Ethernet functions Mark Bloch (2): RDMA/mlx5: Create an indirect flow table for steering anchor RDMA/mlx5: Fix affinity assignment Mark Zhang (1): RDMA/cma: Always set static rate to 0 for RoCE Patrisious Haddad (3): RDMA/mlx5: Fix Q-counters per vport allocation RDMA/mlx5: Remove vport Q-counters dependency on normal Q-counters RDMA/mlx5: Fix Q-counters query in LAG mode Saravanan Vajravel (3): IB/isert: Fix dead lock in ib_isert IB/isert: Fix possible list corruption in CMA handler IB/isert: Fix incorrect release of isert connection Yishai Hadas (1): IB/uverbs: Fix to consider event queue closing also upon non-blocking mode Zhu Yanjun (1): RDMA/rxe: Fix the use-before-initialization error of resp_pkts drivers/infiniband/core/cma.c | 4 +- drivers/infiniband/core/uverbs_cmd.c | 7 +- drivers/infiniband/core/uverbs_main.c | 12 +- drivers/infiniband/hw/bnxt_re/bnxt_re.h | 2 - drivers/infiniband/hw/bnxt_re/ib_verbs.c | 7 +- drivers/infiniband/hw/bnxt_re/main.c | 2 - drivers/infiniband/hw/mlx5/counters.c | 89 +++++-- drivers/infiniband/hw/mlx5/fs.c | 276 ++++++++++++++++++++- drivers/infiniband/hw/mlx5/fs.h | 16 ++ drivers/infiniband/hw/mlx5/main.c | 3 + drivers/infiniband/hw/mlx5/mlx5_ib.h | 14 ++ drivers/infiniband/hw/mlx5/qp.c | 3 + drivers/infiniband/sw/rxe/rxe_cq.c | 4 +- drivers/infiniband/sw/rxe/rxe_net.c | 6 + drivers/infiniband/sw/rxe/rxe_qp.c | 7 +- drivers/infiniband/sw/rxe/rxe_resp.c | 3 +- drivers/infiniband/ulp/isert/ib_isert.c | 16 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 55 ++-- drivers/infiniband/ulp/rtrs/rtrs.c | 4 +- .../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 12 - include/linux/mlx5/driver.h | 12 + include/rdma/ib_addr.h | 23 -- 22 files changed, 447 insertions(+), 130 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Thu, 15 Jun 2023 09:39:30 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/93fd8eb053800a241d09c00ef075cae0b5b03ecf Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 9652 bytes --] Hi Linus, Here are the changes for RDMA for this cycle, there was a small rxe conflict with v6.4 that I resolved in the usual way. Thanks, Jason The following changes since commit 6995e2de6891c724bfeb2db33d7b87775f913ad1: Linux 6.4 (2023-06-25 16:29:58 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 5f004bcaee4cb552cf1b46a505f18f08777db7e5: Merge tag 'v6.4' into rdma.git for-next (2023-06-27 14:06:29 -0300) ---------------------------------------------------------------- v6.5 merge window RDMA pull request This cycle saw a focus on rxe and bnxt_re drivers: - Code cleanups for irdma, rxe, rtrs, hns, vmw_pvrdma - rxe uses workqueues instead of tasklets - rxe has better compliance around access checks for MRs and rereg_mr - mana supportst he 'v2' FW interface for RX coalescing - hfi1 bug fix for stale cache entries in its MR cache - mlx5 buf fix to handle FW failures when destroying QPs - erdma HW has a new doorbell allocation mechanism for uverbs that is secure - Lots of small cleanups and rework in bnxt_re * Use the common mmap functions * Support disassociation * Improve FW command flow - bnxt_re support for "low latency push", this allows a packet ---------------------------------------------------------------- Arnd Bergmann (1): RDMA/irdma: avoid fortify-string warning in irdma_clr_wqes Bob Pearson (10): RDMA/rxe: Add workqueue support for rxe tasks RDMA/rxe: Rename IB_ACCESS_REMOTE RDMA//rxe: Optimize send path in rxe_resp.c RDMA/rxe: Fix access checks in rxe_check_bind_mw RDMA/rxe: Introduce rxe access supported flags RDMA/rxe: Let rkey == lkey for local access RDMA/rxe: Implement rereg_user_mr RDMA/rxe: Send last wqe reached event on qp cleanup RDMA/rxe: Fixes mr access supported list RDMA/rxe: Simplify cq->notify code Brendan Cunningham (3): IB/hfi1: Fix wrong mmu_node used for user SDMA packet after invalidate IB/hfi1: Add mmu_rb_node refcount to hfi1_mmu_rb_template tracepoints IB/hfi1: Remove unused struct mmu_rb_ops fields .insert, .invalidate Bryan Tan (1): RDMA/vmw_pvrdma: Remove unnecessary check on wr->opcode Cheng Xu (4): RDMA/erdma: Configure PAGE_SIZE to hardware RDMA/erdma: Allocate doorbell resources from hardware RDMA/erdma: Associate QPs/CQs with doorbells for authorization RDMA/erdma: Refactor the original doorbell allocation mechanism Chengchang Tang (2): RDMA/hns: Fix hns_roce_table_get return value RDMA/hns: Add clear_hem return value to log Colin Ian King (1): RDMA/bnxt_re: Fix spelling mistake "priviledged" -> "privileged" Daisuke Matsuda (1): RDMA/rxe: Fix comments about removed tasklets Dan Carpenter (1): RDMA/bnxt_re: Fix an IS_ERR() vs NULL check Jason Gunthorpe (1): Merge tag 'v6.4' into rdma.git for-next Junxian Huang (1): RDMA/hns: Remove unnecessary QP type checks Kalesh AP (6): RDMA/bnxt_re: Fix to remove unnecessary return labels RDMA/bnxt_re: Use unique names while registering interrupts RDMA/bnxt_re: Remove a redundant check inside bnxt_re_update_gid RDMA/bnxt_re: Fix to remove an unnecessary log RDMA/bnxt_re: Return directly without goto jumps RDMA/bnxt_re: Remove unnecessary checks Kamal Heib (3): RDMA/irdma: Return void from irdma_init_iw_device() RDMA/irdma: Return void from irdma_init_rdma_device() RDMA/irdma: Move iw device ops initialization Kashyap Desai (19): RDMA/bnxt_re: wraparound mbox producer index RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context RDMA/bnxt_re: remove virt_func check while creating RoCE FW channel RDMA/bnxt_re: set fixed command queue depth RDMA/bnxt_re: Enhance the existing functions that wait for FW responses RDMA/bnxt_re: Avoid the command wait if firmware is inactive RDMA/bnxt_re: use shadow qd while posting non blocking rcfw command RDMA/bnxt_re: Simplify the function that sends the FW commands RDMA/bnxt_re: add helper function __poll_for_resp RDMA/bnxt_re: handle command completions after driver detect a timedout RDMA/bnxt_re: Add firmware stall check detection RDMA/bnxt_re: post destroy_ah for delayed completion of AH creation RDMA/bnxt_re: consider timeout of destroy ah as success. RDMA/bnxt_re: cancel all control path command waiters upon error RDMA/bnxt_re: use firmware provided max request timeout RDMA/bnxt_re: remove redundant cmdq_bitmap RDMA/bnxt_re: optimize the parameters passed to helper functions RDMA/bnxt_re: Remove incorrect return check from slow path RDMA/bnxt_re: Refactor code around bnxt_qplib_map_rc() Leon Romanovsky (2): RDMA/mlx5: Reduce QP table exposure RDMA/bnxt_re: Initialize opcode while sending message Li Zhijian (1): RDMA/rtrs: Remove duplicate cq_num assignment Long Li (1): RDMA/mana_ib: Use v2 version of cfg_rx_steer_req to enable RX coalescing Nicolas Morey (1): RDMA/rxe: Remove dangling declaration of rxe_cq_disable() Patrisious Haddad (3): net/mlx5: Nullify qp->dbg pointer post destruction RDMA/mlx5: Handle DCT QP logic separately from low level QP interface RDMA/mlx5: Return the firmware result upon destroying QP/RQ Selvin Xavier (8): RDMA/bnxt_re: Disable/kill tasklet only if it is enabled RDMA/bnxt_re: Use the common mmap helper functions RDMA/bnxt_re: Add disassociate ucontext support RDMA/bnxt_re: Optimize the bnxt_re_init_hwrm_hdr usage RDMA/bnxt_re: Query function capabilities from firmware RDMA/bnxt_re: Move the interface version to chip context structure RDMA/bnxt_re: Reorg the bar mapping RDMA/bnxt_re: Enable low latency push Yang Li (2): RDMA/cma: Remove NULL check before dev_{put, hold} RDMA/bnxt_re: Remove duplicated include in bnxt_re/main.c drivers/infiniband/core/cma.c | 3 +- drivers/infiniband/hw/bnxt_re/bnxt_re.h | 5 + drivers/infiniband/hw/bnxt_re/ib_verbs.c | 292 +++++++++- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 19 + drivers/infiniband/hw/bnxt_re/main.c | 192 +++++-- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 104 ++-- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 2 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 664 +++++++++++++++++----- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 52 +- drivers/infiniband/hw/bnxt_re/qplib_res.c | 177 ++++-- drivers/infiniband/hw/bnxt_re/qplib_res.h | 34 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 19 +- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 5 +- drivers/infiniband/hw/erdma/erdma.h | 16 +- drivers/infiniband/hw/erdma/erdma_hw.h | 64 ++- drivers/infiniband/hw/erdma/erdma_main.c | 53 +- drivers/infiniband/hw/erdma/erdma_verbs.c | 178 +++--- drivers/infiniband/hw/erdma/erdma_verbs.h | 13 +- drivers/infiniband/hw/hfi1/ipoib_tx.c | 4 +- drivers/infiniband/hw/hfi1/mmu_rb.c | 108 ++-- drivers/infiniband/hw/hfi1/mmu_rb.h | 10 +- drivers/infiniband/hw/hfi1/sdma.c | 23 +- drivers/infiniband/hw/hfi1/sdma.h | 47 +- drivers/infiniband/hw/hfi1/sdma_txreq.h | 2 + drivers/infiniband/hw/hfi1/trace_mmu.h | 48 +- drivers/infiniband/hw/hfi1/user_sdma.c | 137 ++--- drivers/infiniband/hw/hfi1/user_sdma.h | 1 - drivers/infiniband/hw/hfi1/vnic_sdma.c | 4 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 51 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 24 +- drivers/infiniband/hw/irdma/uk.c | 10 +- drivers/infiniband/hw/irdma/verbs.c | 41 +- drivers/infiniband/hw/mana/qp.c | 5 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 + drivers/infiniband/hw/mlx5/qp.h | 12 +- drivers/infiniband/hw/mlx5/qpc.c | 93 +-- drivers/infiniband/hw/vmw_pvrdma/pvrdma_qp.c | 8 - drivers/infiniband/sw/rxe/rxe.c | 9 +- drivers/infiniband/sw/rxe/rxe_comp.c | 2 +- drivers/infiniband/sw/rxe/rxe_cq.c | 5 +- drivers/infiniband/sw/rxe/rxe_loc.h | 2 - drivers/infiniband/sw/rxe/rxe_mr.c | 21 +- drivers/infiniband/sw/rxe/rxe_mw.c | 22 +- drivers/infiniband/sw/rxe/rxe_opcode.h | 3 + drivers/infiniband/sw/rxe/rxe_param.h | 2 +- drivers/infiniband/sw/rxe/rxe_qp.c | 7 + drivers/infiniband/sw/rxe/rxe_req.c | 2 +- drivers/infiniband/sw/rxe/rxe_resp.c | 25 +- drivers/infiniband/sw/rxe/rxe_task.c | 110 ++-- drivers/infiniband/sw/rxe/rxe_task.h | 6 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 45 +- drivers/infiniband/sw/rxe/rxe_verbs.h | 21 + drivers/infiniband/ulp/rtrs/rtrs-clt.c | 1 - drivers/net/ethernet/mellanox/mlx5/core/debugfs.c | 6 +- drivers/net/ethernet/microsoft/mana/mana_en.c | 5 +- include/linux/mlx5/driver.h | 10 - include/net/mana/mana.h | 4 +- include/uapi/rdma/bnxt_re-abi.h | 27 + 58 files changed, 1955 insertions(+), 901 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
On Wed, 28 Jun 2023 at 17:46, Jason Gunthorpe <jgg@nvidia.com> wrote: > > Here are the changes for RDMA for this cycle, there was a small rxe > conflict with v6.4 that I resolved in the usual way. Please just don't. I'd rather know about the conflicts. See Documentation/maintainer/rebasing-and-merging.rst and about gazillion emails on the issue. > - Lots of small cleanups and rework in bnxt_re > * Use the common mmap functions > * Support disassociation > * Improve FW command flow > > - bnxt_re support for "low latency push", this allows a packet This allows a packet WHAT? On a positive note, I see that you have a blue checkmark by google now, and Google says "The sender of this email has verified that they own nvidia.com and the logo in the profile image. Learn more" which is lovely. I expect great things from nvidia now that you apparently own it. Congratulations! Champagne all around! Linus
The pull request you sent on Wed, 28 Jun 2023 21:46:48 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/7ede5f78a0d74b574791c7eb0e2ca6e54b80c93c Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
On Thu, Jun 29, 2023 at 09:10:17PM -0700, Linus Torvalds wrote: > On Wed, 28 Jun 2023 at 17:46, Jason Gunthorpe <jgg@nvidia.com> wrote: > > > > Here are the changes for RDMA for this cycle, there was a small rxe > > conflict with v6.4 that I resolved in the usual way. > > Please just don't. I'd rather know about the conflicts. See > > Documentation/maintainer/rebasing-and-merging.rst > > and about gazillion emails on the issue. OK, I thought the release merges were OK, I've sent them this way for a long time now. Easy to change > > - Lots of small cleanups and rework in bnxt_re > > * Use the common mmap functions > > * Support disassociation > > * Improve FW command flow > > > > - bnxt_re support for "low latency push", this allows a packet > > This allows a packet WHAT? Oh it got lost "a packet to be Tx'd without DMA" > On a positive note, I see that you have a blue checkmark by google > now, and Google says > > "The sender of this email has verified that > they own nvidia.com and the logo in the > profile image. Learn more" > > which is lovely. I expect great things from nvidia now that you > apparently own it. Congratulations! Champagne all around! I thought only Twitter did blue checkmarks! Thanks, Jason
[-- Attachment #1: Type: text/plain, Size: 2949 bytes --] Hi Linus, Small rc pull request with the usual set of driver bug fixes Thanks, Jason The following changes since commit 06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5: Linux 6.5-rc1 (2023-07-09 13:53:13 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to ae463563b7a1b7d4a3d0b065b09d37a76b693937: RDMA/irdma: Report correct WC error (2023-07-26 14:58:42 +0300) ---------------------------------------------------------------- v6.5 first rc RDMA pull request Several smaller driver fixes and a core RDMA CM regression fix: - Fix improperly accepting flags from userspace in mlx4 - Add missing DMA barriers for irdma - Fix two kcsan warnings in irdma - Report the correct CQ op code to userspace in irdma - Report the correct MW bind error code for irdma - Load the destination address in RDMA CM to resolve a recent regression - Fix a QP regression in mthca - Remove a race processing completions in bnxt_re resulting in a crash - Fix driver unloading races with interrupts and tasklets in bnxt_re - Fix missing error unwind in rxe ---------------------------------------------------------------- Christophe JAILLET (1): RDMA/rxe: Fix an error handling path in rxe_bind_mw() Dan Carpenter (1): RDMA/mlx4: Make check for invalid flags stricter Kashyap Desai (1): RDMA/bnxt_re: Prevent handling any completions after qp destroy Selvin Xavier (1): RDMA/bnxt_re: Fix hang during driver unload Shiraz Saleem (4): RDMA/irdma: Add missing read barriers RDMA/irdma: Fix data race on CQP completion stats RDMA/irdma: Fix data race on CQP request done RDMA/core: Update CMA destination address on rdma_resolve_addr Sindhu Devale (2): RDMA/irdma: Fix op_type reporting in CQEs RDMA/irdma: Report correct WC error Thomas Bogendoerfer (1): RDMA/mthca: Fix crash when polling CQ for shared QPs drivers/infiniband/core/cma.c | 2 ++ drivers/infiniband/hw/bnxt_re/ib_verbs.c | 12 ++++++++ drivers/infiniband/hw/bnxt_re/qplib_fp.c | 28 ++++++++++++++---- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 1 + drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 9 +++--- drivers/infiniband/hw/irdma/ctrl.c | 31 ++++++++++++-------- drivers/infiniband/hw/irdma/defs.h | 46 ++++++++++++++---------------- drivers/infiniband/hw/irdma/hw.c | 3 +- drivers/infiniband/hw/irdma/main.h | 2 +- drivers/infiniband/hw/irdma/puda.c | 6 ++++ drivers/infiniband/hw/irdma/type.h | 2 ++ drivers/infiniband/hw/irdma/uk.c | 5 +++- drivers/infiniband/hw/irdma/utils.c | 8 +++--- drivers/infiniband/hw/mlx4/qp.c | 18 ++++++------ drivers/infiniband/hw/mthca/mthca_qp.c | 2 +- drivers/infiniband/sw/rxe/rxe_mw.c | 3 +- 16 files changed, 114 insertions(+), 64 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Fri, 28 Jul 2023 15:52:57 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/c06f9091a2913f9f76e68ce3e0a7f781546034b6 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 1576 bytes --] Hi Linus, Small rc update, thanks The following changes since commit ae463563b7a1b7d4a3d0b065b09d37a76b693937: RDMA/irdma: Report correct WC error (2023-07-26 14:58:42 +0300) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 64b632654b97319b253c2c902fe4c11349aaa70f: RDMA/bnxt_re: Initialize dpi_tbl_lock mutex (2023-08-10 16:35:54 -0300) ---------------------------------------------------------------- v6.5 second rc RDMA pull request Few small bugs: - Fix longstanding mlx5 bug where ODP would fail with certain MR alignments - cancel work to prevent a hfi1 UAF - MAINTAINERS update - UAF, missing mutex_init and an error unwind bug in bnxt_re ---------------------------------------------------------------- Douglas Miller (1): IB/hfi1: Fix possible panic during hotplug remove Junxian Huang (1): MAINTAINERS: Remove maintainer of HiSilicon RoCE Kalesh AP (1): RDMA/bnxt_re: Fix error handling in probe failure path Kashyap Desai (1): RDMA/bnxt_re: Initialize dpi_tbl_lock mutex Michael Guralnik (1): RDMA/umem: Set iova in ODP flow Selvin Xavier (1): RDMA/bnxt_re: Properly order ib_device_unalloc() to avoid UAF MAINTAINERS | 1 - drivers/infiniband/core/umem.c | 3 ++- drivers/infiniband/hw/bnxt_re/main.c | 4 +++- drivers/infiniband/hw/bnxt_re/qplib_res.c | 1 + drivers/infiniband/hw/hfi1/chip.c | 1 + 5 files changed, 7 insertions(+), 3 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Fri, 11 Aug 2023 20:55:12 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/9a20704fb40642d5b7d4f1db58f252f6aca563a9 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 12983 bytes --] Hi Linus, Not a big cylce this time, lots of scattered changes. Thanks, Jason The following changes since commit 06c2afb862f9da8dc5efa4b6076a0e48c3fbaaa5: Linux 6.5-rc1 (2023-07-09 13:53:13 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to f5acc36b0714b7b8510a8b436087d33a65cb05f4: IB/hfi1: Reduce printing of errors during driver shut down (2023-08-22 17:31:45 +0300) ---------------------------------------------------------------- v6.6 merge window RDMA pull request Many small changes across the subystem, some highlights: - Usual driver cleanups in qedr, siw, erdma, hfi1, mlx4/5, irdma, mthca, hns, and bnxt_re - siw now works over tunnel and other netdevs with a MAC address by removing assumptions about a MAC/GID from the connection manager - "Doorbell Pacing" for bnxt_re - this is a best effort scheme to allow userspace to slow down the doorbell rings if the HW gets full - irdma egress VLAN priority, better QP/WQ sizing - rxe bug fixes in queue draining and srq resizing - Support more ethernet speed options in the core layer - DMABUF support for bnxt_re - Multi-stage MTT support for erdma to allow much bigger MR registrations - A irdma fix with a CVE that came in too late to go to -rc, missing bounds checking for 0 length MRs ---------------------------------------------------------------- Arnd Bergmann (1): RDMA/irdma: Fix building without IPv6 Bernard Metzler (1): RDMA/siw: Fix tx thread initialization. Bob Pearson (4): RDMA/rxe: Move work queue code to subroutines RDMA/rxe: Fix unsafe drain work queue code RDMA/rxe: Fix rxe_modify_srq RDMA/rxe: Fix incomplete state save in rxe_requester Brendan Cunningham (1): RDMA/hfi1: Move user SDMA system memory pinning code to its own file Chandramohan Akula (11): bnxt_en: Update HW interface headers bnxt_en: Share the bar0 address with the RoCE driver RDMA/bnxt_re: Initialize Doorbell pacing feature RDMA/bnxt_re: Enable pacing support for the user apps RDMA/bnxt_re: Update alloc_page uapi for pacing RDMA/bnxt_re: Implement doorbell pacing algorithm RDMA/bnxt_re: Add a new uapi for driver notification bnxt_re: Reorganize the resource stats bnxt_re: Update the hw counters for resource stats bnxt_re: Expose the missing hw counters bnxt_re: Update the debug counters for doorbell pacing Cheng Xu (3): RDMA/erdma: Renaming variable names and field names of struct erdma_mem RDMA/erdma: Refactor the storage structure of MTT entries RDMA/erdma: Implement hierarchical MTT Chengchang Tang (4): RDMA/hns: Fix port active speed RDMA/hns: Fix CQ and QP cache affinity RDMA/hns: Dump whole QP/CQ/MR resource in raw RDMA/hns: Support hns HW stats Christophe JAILLET (1): IB/hfi1: Use struct_size() Christopher Bednarz (1): RDMA/irdma: Prevent zero-length STAG registration Chuck Lever (4): RDMA/siw: Fabricate a GID on tun and loopback devices RDMA/core: Set gid_attr.ndev for iWARP devices RDMA/cma: Deduplicate error flow in cma_validate_port() RDMA/cma: Avoid GID lookups on iWARP devices Douglas Miller (1): IB/hfi1: Reduce printing of errors during driver shut down Guoqing Jiang (4): RDMA/cxgb4: Set sq_sig_type correctly RDMA/siw: Balance the reference of cep->kref in the error path RDMA/siw: Correct wrong debug message RDMA/siw: Call llist_reverse_order in siw_run_sq Gustavo A. R. Silva (2): RDMA/irdma: Replace one-element array with flexible-array member RDMA/mlx4: Copy union directly Haoyue Xu (1): RDMA/core: Get IB width and speed from netdev Ivan Orlov (1): RDMA: Make all 'class' structures const Jinjie Ruan (1): RDMA/hfi1: Use list_for_each_entry() helper Julia Lawall (3): RDMA/erdma: use vmalloc_array and vcalloc RDMA/siw: use vmalloc_array and vcalloc RDMA/bnxt_re: use vmalloc_array and vcalloc Junxian Huang (3): RDMA/hns: Remove VF extend configuration RDMA/hns: Fix incorrect post-send with direct wqe of wr-list RDMA/hns: Fix inaccurate error label name in init instance Kalesh AP (6): RDMA/bnxt_re: Fix max_qp count for virtual functions RDMA/bnxt_re: Remove a redundant flag RDMA/bnxt_re: Cleanup bnxt_re_process_raw_qp_pkt_rx() function RDMA/bnxt_re: Avoid unnecessary memset RDMA/bnxt_re: Remove unnecessary variable initializations IB/core: Add more speed parsing in ib_get_width_and_speed() Kashyap Desai (1): RDMA/bnxt_re: Initialize mutex dbq_lock Krzysztof Czurylo (1): RDMA/irdma: Add table based lookup for CQ pointer during an event Leon Romanovsky (3): RDMA/irdma: Add missing kernel-doc in irdma_setup_umode_qp() RDMA/bnxt_re: Fix kernel doc errors Revert "IB/isert: Fix incorrect release of isert connection" Luoyouming (1): RDMA/hns: Support get XRCD number from firmware Michael Margolin (1): RDMA/efa: Add RDMA write HW statistics counters Minjie Du (3): RDMA/qedr: Remove a duplicate assignment in irdma_query_ah() RDMA/qedr: Remove a duplicate assignment in qedr_create_gsi_qp() RDMA/qedr: Remove duplicate assignments of va Mustafa Ismail (2): RDMA/irdma: Implement egress VLAN priority RDMA/irdma: Cleanup and rename irdma_netdev_vlan_ipv6() Rohit Chavan (2): RDMA/rxe: Fix redundant break statement in switch-case. RDMA/mlx5: Fix trailing */ formatting in block comment Ruan Jinjie (4): RDMA/mlx: Remove unnecessary variable initializations RDMA/mthca: Remove unnecessary NULL assignments RDMA: Remove unnecessary ternary operators RDMA: Remove unnecessary NULL values Saravanan Vajravel (1): RDMA/bnxt_re: Add support for dmabuf pinned memory regions Selvin Xavier (2): RDMA/bnxt_re: Fix the sideband buffer size handling for FW commands RDMA/bnxt_re: Protect the PD table bitmap Shetu Ayalew (1): IB/mlx5: Add HW counter called rx_dct_connect Shiraz Saleem (1): RDMA/irdma: Drop unused kernel push code Sindhu Devale (4): RDMA/irdma: Drop a local in irdma_sc_get_next_aeqe RDMA/irdma: Refactor error handling in create CQP RDMA/irdma: Allow accurate reporting on QP max send/recv WR RDMA/irdma: Use HW specific minimum WQ size Xiang Yang (1): IB/uverbs: Fix an potential error pointer dereference Yang Li (1): RDMA/irdma: Fix one kernel-doc comment Yonatan Nachum (1): RDMA/efa: Fix wrong resources deallocation order Yuanyuan Zhong (1): RDMA/mlx5: align MR mem allocation size to power-of-two Yue Haibing (3): RDMA/hns: Remove unused function declarations RDMA/hns: Remove unused declaration hns_roce_modify_srq() RDMA Remove unused function declarations drivers/infiniband/core/cache.c | 11 + drivers/infiniband/core/cma.c | 32 +- drivers/infiniband/core/iwpm_util.c | 2 +- drivers/infiniband/core/netlink.c | 2 +- drivers/infiniband/core/uverbs_main.c | 35 +- .../infiniband/core/uverbs_std_types_counters.c | 2 + drivers/infiniband/core/verbs.c | 109 ++++- drivers/infiniband/hw/bnxt_re/bnxt_re.h | 35 +- drivers/infiniband/hw/bnxt_re/hw_counters.c | 84 +++- drivers/infiniband/hw/bnxt_re/hw_counters.h | 55 +++ drivers/infiniband/hw/bnxt_re/ib_verbs.c | 255 +++++++---- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 6 + drivers/infiniband/hw/bnxt_re/main.c | 277 ++++++++++-- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 47 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 66 +-- drivers/infiniband/hw/bnxt_re/qplib_res.c | 38 +- drivers/infiniband/hw/bnxt_re/qplib_res.h | 23 +- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 85 ++-- drivers/infiniband/hw/bnxt_re/qplib_sp.h | 2 +- drivers/infiniband/hw/cxgb4/qp.c | 2 +- drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 13 + drivers/infiniband/hw/efa/efa_com_cmd.c | 8 +- drivers/infiniband/hw/efa/efa_com_cmd.h | 10 +- drivers/infiniband/hw/efa/efa_verbs.c | 24 +- drivers/infiniband/hw/erdma/erdma_hw.h | 18 +- drivers/infiniband/hw/erdma/erdma_qp.c | 2 +- drivers/infiniband/hw/erdma/erdma_verbs.c | 434 ++++++++++++++----- drivers/infiniband/hw/erdma/erdma_verbs.h | 36 +- drivers/infiniband/hw/hfi1/Makefile | 1 + drivers/infiniband/hw/hfi1/affinity.c | 4 +- drivers/infiniband/hw/hfi1/chip.c | 8 +- drivers/infiniband/hw/hfi1/device.c | 72 ++-- drivers/infiniband/hw/hfi1/hfi.h | 4 +- drivers/infiniband/hw/hfi1/pin_system.c | 474 +++++++++++++++++++++ drivers/infiniband/hw/hfi1/pinning.h | 20 + drivers/infiniband/hw/hfi1/pio.c | 9 +- drivers/infiniband/hw/hfi1/user_sdma.c | 441 +------------------ drivers/infiniband/hw/hfi1/user_sdma.h | 17 +- drivers/infiniband/hw/hns/hns_roce_device.h | 35 +- drivers/infiniband/hw/hns/hns_roce_hem.c | 2 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 151 +++---- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 14 +- drivers/infiniband/hw/hns/hns_roce_main.c | 86 +++- drivers/infiniband/hw/hns/hns_roce_qp.c | 28 +- drivers/infiniband/hw/hns/hns_roce_restrack.c | 75 +--- drivers/infiniband/hw/irdma/cm.c | 90 +++- drivers/infiniband/hw/irdma/ctrl.c | 23 +- drivers/infiniband/hw/irdma/hw.c | 63 ++- drivers/infiniband/hw/irdma/i40iw_hw.c | 1 + drivers/infiniband/hw/irdma/i40iw_hw.h | 2 +- drivers/infiniband/hw/irdma/icrdma_hw.c | 1 + drivers/infiniband/hw/irdma/icrdma_hw.h | 1 + drivers/infiniband/hw/irdma/irdma.h | 1 + drivers/infiniband/hw/irdma/main.h | 8 +- drivers/infiniband/hw/irdma/type.h | 3 +- drivers/infiniband/hw/irdma/uk.c | 218 +++++----- drivers/infiniband/hw/irdma/user.h | 19 +- drivers/infiniband/hw/irdma/utils.c | 25 ++ drivers/infiniband/hw/irdma/verbs.c | 259 +++++++---- drivers/infiniband/hw/irdma/verbs.h | 5 +- drivers/infiniband/hw/mlx4/main.c | 47 +- drivers/infiniband/hw/mlx5/counters.c | 2 + drivers/infiniband/hw/mlx5/mad.c | 40 +- drivers/infiniband/hw/mlx5/mr.c | 8 +- drivers/infiniband/hw/mthca/mthca_provider.c | 20 +- drivers/infiniband/hw/ocrdma/ocrdma_verbs.c | 2 +- drivers/infiniband/hw/qedr/qedr_roce_cm.c | 1 - drivers/infiniband/hw/qedr/verbs.c | 2 +- drivers/infiniband/hw/qib/qib_file_ops.c | 17 +- drivers/infiniband/sw/rxe/rxe_comp.c | 4 + drivers/infiniband/sw/rxe/rxe_loc.h | 6 - drivers/infiniband/sw/rxe/rxe_qp.c | 159 ++++--- drivers/infiniband/sw/rxe/rxe_req.c | 45 +- drivers/infiniband/sw/rxe/rxe_resp.c | 4 + drivers/infiniband/sw/rxe/rxe_srq.c | 60 +-- drivers/infiniband/sw/rxe/rxe_verbs.c | 1 - drivers/infiniband/sw/siw/siw.h | 4 +- drivers/infiniband/sw/siw/siw_cm.c | 1 - drivers/infiniband/sw/siw/siw_main.c | 62 +-- drivers/infiniband/sw/siw/siw_qp.c | 4 +- drivers/infiniband/sw/siw/siw_qp_tx.c | 52 ++- drivers/infiniband/sw/siw/siw_verbs.c | 12 +- drivers/infiniband/ulp/isert/ib_isert.c | 2 + drivers/infiniband/ulp/rtrs/rtrs-clt.c | 19 +- drivers/infiniband/ulp/rtrs/rtrs-srv-sysfs.c | 2 +- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 15 +- drivers/infiniband/ulp/rtrs/rtrs-srv.h | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | 54 +++ drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h | 1 + include/rdma/ib_verbs.h | 2 - include/rdma/iw_cm.h | 21 - include/uapi/rdma/bnxt_re-abi.h | 7 + include/uapi/rdma/irdma-abi.h | 9 + 94 files changed, 2892 insertions(+), 1670 deletions(-) create mode 100644 drivers/infiniband/hw/hfi1/pin_system.c create mode 100644 drivers/infiniband/hw/hfi1/pinning.h [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Thu, 31 Aug 2023 21:30:31 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/f7e97ce26972ae7be8bbbae8d819ff311d4c5900 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 3498 bytes --] Hi Linus, Accumulated RC bug fixes - seems like a more serious set of bugs this time. Thanks, Jason The following changes since commit 0bb80ecc33a8fb5a682236443c1e740d5c917d1d: Linux 6.6-rc1 (2023-09-10 16:28:41 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to c38d23a54445f9a8aa6831fafc9af0496ba02f9e: RDMA/core: Require admin capabilities to set system parameters (2023-10-05 20:01:47 +0300) ---------------------------------------------------------------- v6.6 first rc pull request This includes a fix for a significant security miss in checking the RDMA_NLDEV_CMD_SYS_SET operation. - UAF in SRP - Error unwind failure in siw connection management - Missing error checks - NULL/ERR_PTR confusion in erdma - Possible string truncation in CMA configfs and mlx4 - Data ordering issue in bnxt_re - Missing stats decrement on object destroy in bnxt_re - Mlx5 bugs in this merge window: * Incorrect access_flag in the new mkey cache * Missing unlock on error in flow steering * lockdep possible deadlock on new mkey cache destruction Plus a fix for this too - Don't leak kernel stack memory to userspace in the CM - Missing permission validation for RDMA_NLDEV_CMD_SYS_SET ---------------------------------------------------------------- Artem Chernyshev (1): RDMA/cxgb4: Check skb value for failure to allocate Bart Van Assche (1): RDMA/srp: Do not call scsi_done() from srp_abort() Bernard Metzler (1): RDMA/siw: Fix connection failure handling Cheng Xu (1): RDMA/erdma: Fix NULL pointer access in regmr_cmd Christophe JAILLET (1): IB/mlx4: Fix the size of a buffer in add_port_entries() Dan Carpenter (1): RDMA/erdma: Fix error code in erdma_create_scatter_mtt() Hamdan Igbaria (1): RDMA/mlx5: Fix mutex unlocking on error flow for steering anchor creation Konstantin Meskhidze (1): RDMA/uverbs: Fix typo of sizeof argument Leon Romanovsky (3): RDMA/cma: Fix truncation compilation warning in make_cma_ports RDMA/mlx5: Remove not-used cache disable flag RDMA/core: Require admin capabilities to set system parameters Mark Zhang (1): RDMA/cma: Initialize ib_sa_multicast structure to 0 when join Michael Guralnik (1): RDMA/mlx5: Fix assigning access flags to cache mkeys Selvin Xavier (2): RDMA/bnxt_re: Fix the handling of control path response data RDMA/bnxt_re: Decrement resource stats correctly Shay Drory (2): RDMA/mlx5: Fix NULL string error RDMA/mlx5: Fix mkey cache possible deadlock on cleanup drivers/infiniband/core/cma.c | 2 +- drivers/infiniband/core/cma_configfs.c | 2 +- drivers/infiniband/core/nldev.c | 1 + drivers/infiniband/core/uverbs_main.c | 2 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 4 ++++ drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 11 +++++++++-- drivers/infiniband/hw/cxgb4/cm.c | 3 +++ drivers/infiniband/hw/erdma/erdma_verbs.c | 7 +++---- drivers/infiniband/hw/mlx4/sysfs.c | 2 +- drivers/infiniband/hw/mlx5/fs.c | 2 +- drivers/infiniband/hw/mlx5/main.c | 2 +- drivers/infiniband/hw/mlx5/mr.c | 14 +++++++++++--- drivers/infiniband/sw/siw/siw_cm.c | 16 ++++++++++++---- drivers/infiniband/ulp/srp/ib_srp.c | 16 +++++----------- 14 files changed, 54 insertions(+), 30 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Fri, 6 Oct 2023 15:30:28 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/8fea9f8f180b1817316e7501e601426a4a067466 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 16989 bytes --] Hi Linus, Nothing exciting this cycle, most of the diffstat is changing SPDX 'or' to 'OR'. Thanks, Jason The following changes since commit ffc253263a1375a65fa6c9f62a893e9767fbebfa: Linux 6.6 (2023-10-29 16:31:08 -1000) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 2ef422f063b74adcc4a4a9004b0a87bb55e0a836: IB/mlx5: Fix init stage error handling to avoid double free of same QP and UAF (2023-10-31 11:16:05 -0300) ---------------------------------------------------------------- RDMA for v6.7 The usual collection of patches: - Bug fixes for hns, mlx5, and hfi1 - Hardening patches for size_*, counted_by, strscpy - rts fixes from static analysis - Dump SRQ objects in rdma netlink, with hns support - Fix a performance regression in mlx5 MR deregistration - New XDR (200Gb/lane) link speed - SRQ record doorbell latency optimization for hns - IPSEC support for mlx5 multi-port mode - ibv_rereg_mr() support for irdma - Affiliated event support for bnxt_re - Opt out for the spec compliant qkey security enforcement as we discovered SW that breaks under enforcement - Comment and trivial updates ---------------------------------------------------------------- Chandramohan Akula (3): RDMA/bnxt_re: Update HW interface headers RDMA/bnxt_re: Report async events and errors RDMA/bnxt_re: Do not report SRQ error in srq notification Chengchang Tang (3): RDMA/hns: Fix printing level of asynchronous events RDMA/hns: Fix uninitialized ucmd in hns_roce_create_qp_common() RDMA/hns: Fix signed-unsigned mixed comparisons Chengfeng Ye (1): IB/hfi1: Fix potential deadlock on &irq_src_lock and &dd->uctxt_lock Chuck Lever (1): RDMA/core: Fix a couple of obvious typos in comments Colin Ian King (1): RDMA/hfi1: Remove redundant assignment to pointer ppd David Ahern (1): IB/hfi1: Remove open coded reference to skb frag offset George Kennedy (1): IB/mlx5: Fix init stage error handling to avoid double free of same QP and UAF Gustavo A. R. Silva (1): RDMA/core: Use size_{add,sub,mul}() in calls to struct_size() Ilpo Järvinen (1): RDMA/hfi1: Use FIELD_GET() to extract Link Width Jason Gunthorpe (1): Merge tag 'v6.6' into rdma.git for-next Junxian Huang (2): RDMA/hns: Fix unnecessary port_num transition in HW stats allocation RDMA/hns: Fix init failure of RoCE VF and HIP08 Justin Stitt (3): RDMA/irdma: Replace deprecated strncpy IB/hfi1: Replace deprecated strncpy IB/qib: Replace deprecated strncpy Kees Cook (7): RDMA: Annotate struct rdma_hw_stats with __counted_by RDMA/core: Annotate struct ib_pkey_cache with __counted_by RDMA/usnic: Annotate struct usnic_uiom_chunk with __counted_by RDMA/siw: Annotate struct siw_pbl with __counted_by IB/srp: Annotate struct srp_fr_pool with __counted_by IB/mthca: Annotate struct mthca_icm_table with __counted_by IB/hfi1: Annotate struct tid_rb_node with __counted_by Krzysztof Kozlowski (1): IB: Use capital "OR" for multiple licenses in SPDX Leon Romanovsky (2): IPsec packet offload support in multiport RoCE devices RDMA/hfi1: Workaround truncation compilation error Luoyouming (2): RDMA/hns: Add check for SL RDMA/hns: The UD mode can only be configured with DCQCN Moshe Shemesh (1): RDMA/mlx5: Fix mkey cache WQ flush Nathan Chancellor (1): RDMA/bnxt_re: Fix clang -Wimplicit-fallthrough in bnxt_re_handle_cq_async_error() Or Har-Toov (2): IB/core: Add support for XDR link speed IB/mlx5: Expose XDR speed through MAD Patrisious Haddad (7): IB/mlx5: Add support for 800G_8X lane speed IB/mlx5: Rename 400G_8X speed to comply to naming convention IB/mlx5: Adjust mlx5 rate mapping to support 800Gb RDMA/ipoib: Add support for XDR speed in ethtool IB/mlx5: Fix rdma counter binding for RAW QP RDMA/core: Add support to set privileged QKEY parameter RDMA/mlx5: Change the key being sent for MPV device affiliation Rohit Chavan (1): RDMA/core: Fix repeated words in comments Shay Drory (1): RDMA/mlx5: Implement mkeys management via LIFO queue Sindhu Devale (1): RDMA/irdma: Add support to re-register a memory region Yang Li (1): RDMA/core: Remove NULL check before dev_{put, hold} Yangyang Li (1): RDMA/hns: Support SRQ record doorbell Zhu Yanjun (2): RDMA/rtrs: Require holding rcu_read_lock explicitly RDMA/rtrs: Fix the problem of variable not initialized fully wenglianfa (3): RDMA/core: Add dedicated SRQ resource tracker function RDMA/core: Add support to dump SRQ resource in RAW format RDMA/hns: Support SRQ restrack ops for hns driver drivers/infiniband/core/cache.c | 2 +- drivers/infiniband/core/core_priv.h | 1 + drivers/infiniband/core/device.c | 4 +- drivers/infiniband/core/lag.c | 3 +- drivers/infiniband/core/nldev.c | 92 +++++- drivers/infiniband/core/rw.c | 2 +- drivers/infiniband/core/sa_query.c | 4 +- drivers/infiniband/core/sysfs.c | 14 +- drivers/infiniband/core/user_mad.c | 4 +- drivers/infiniband/core/uverbs_cmd.c | 3 +- drivers/infiniband/core/uverbs_std_types_device.c | 3 +- drivers/infiniband/core/verbs.c | 7 +- drivers/infiniband/hw/bnxt_re/main.c | 173 +++++++++++- drivers/infiniband/hw/bnxt_re/qplib_tlv.h | 2 +- drivers/infiniband/hw/bnxt_re/roce_hsi.h | 58 ++++ drivers/infiniband/hw/hfi1/affinity.c | 2 +- drivers/infiniband/hw/hfi1/affinity.h | 2 +- drivers/infiniband/hw/hfi1/aspm.h | 2 +- drivers/infiniband/hw/hfi1/chip.c | 11 +- drivers/infiniband/hw/hfi1/chip.h | 2 +- drivers/infiniband/hw/hfi1/chip_registers.h | 2 +- drivers/infiniband/hw/hfi1/common.h | 2 +- drivers/infiniband/hw/hfi1/debugfs.c | 2 +- drivers/infiniband/hw/hfi1/debugfs.h | 2 +- drivers/infiniband/hw/hfi1/device.c | 2 +- drivers/infiniband/hw/hfi1/device.h | 2 +- drivers/infiniband/hw/hfi1/driver.c | 2 +- drivers/infiniband/hw/hfi1/efivar.c | 4 +- drivers/infiniband/hw/hfi1/efivar.h | 2 +- drivers/infiniband/hw/hfi1/eprom.c | 2 +- drivers/infiniband/hw/hfi1/eprom.h | 2 +- drivers/infiniband/hw/hfi1/exp_rcv.c | 2 +- drivers/infiniband/hw/hfi1/exp_rcv.h | 2 +- drivers/infiniband/hw/hfi1/fault.c | 2 +- drivers/infiniband/hw/hfi1/fault.h | 2 +- drivers/infiniband/hw/hfi1/file_ops.c | 2 +- drivers/infiniband/hw/hfi1/firmware.c | 2 +- drivers/infiniband/hw/hfi1/hfi.h | 2 +- drivers/infiniband/hw/hfi1/init.c | 3 +- drivers/infiniband/hw/hfi1/intr.c | 2 +- drivers/infiniband/hw/hfi1/iowait.h | 2 +- drivers/infiniband/hw/hfi1/ipoib_tx.c | 2 +- drivers/infiniband/hw/hfi1/mad.c | 2 +- drivers/infiniband/hw/hfi1/mad.h | 2 +- drivers/infiniband/hw/hfi1/mmu_rb.c | 2 +- drivers/infiniband/hw/hfi1/mmu_rb.h | 2 +- drivers/infiniband/hw/hfi1/opa_compat.h | 2 +- drivers/infiniband/hw/hfi1/pcie.c | 11 +- drivers/infiniband/hw/hfi1/pio.c | 2 +- drivers/infiniband/hw/hfi1/pio.h | 2 +- drivers/infiniband/hw/hfi1/pio_copy.c | 2 +- drivers/infiniband/hw/hfi1/platform.c | 2 +- drivers/infiniband/hw/hfi1/platform.h | 2 +- drivers/infiniband/hw/hfi1/qp.c | 2 +- drivers/infiniband/hw/hfi1/qp.h | 2 +- drivers/infiniband/hw/hfi1/qsfp.c | 2 +- drivers/infiniband/hw/hfi1/qsfp.h | 2 +- drivers/infiniband/hw/hfi1/rc.c | 2 +- drivers/infiniband/hw/hfi1/ruc.c | 2 +- drivers/infiniband/hw/hfi1/sdma.c | 2 +- drivers/infiniband/hw/hfi1/sdma.h | 2 +- drivers/infiniband/hw/hfi1/sdma_txreq.h | 2 +- drivers/infiniband/hw/hfi1/sysfs.c | 2 +- drivers/infiniband/hw/hfi1/trace.c | 2 +- drivers/infiniband/hw/hfi1/trace.h | 2 +- drivers/infiniband/hw/hfi1/trace_ctxts.h | 2 +- drivers/infiniband/hw/hfi1/trace_dbg.h | 2 +- drivers/infiniband/hw/hfi1/trace_ibhdrs.h | 2 +- drivers/infiniband/hw/hfi1/trace_misc.h | 2 +- drivers/infiniband/hw/hfi1/trace_mmu.h | 2 +- drivers/infiniband/hw/hfi1/trace_rc.h | 2 +- drivers/infiniband/hw/hfi1/trace_rx.h | 2 +- drivers/infiniband/hw/hfi1/trace_tx.h | 2 +- drivers/infiniband/hw/hfi1/uc.c | 2 +- drivers/infiniband/hw/hfi1/ud.c | 2 +- drivers/infiniband/hw/hfi1/user_exp_rcv.c | 2 +- drivers/infiniband/hw/hfi1/user_exp_rcv.h | 4 +- drivers/infiniband/hw/hfi1/user_pages.c | 2 +- drivers/infiniband/hw/hfi1/user_sdma.c | 2 +- drivers/infiniband/hw/hfi1/user_sdma.h | 2 +- drivers/infiniband/hw/hfi1/verbs.c | 2 +- drivers/infiniband/hw/hfi1/verbs.h | 2 +- drivers/infiniband/hw/hfi1/verbs_txreq.c | 2 +- drivers/infiniband/hw/hfi1/verbs_txreq.h | 2 +- drivers/infiniband/hw/hfi1/vnic.h | 2 +- drivers/infiniband/hw/hfi1/vnic_main.c | 2 +- drivers/infiniband/hw/hfi1/vnic_sdma.c | 2 +- drivers/infiniband/hw/hns/hns_roce_ah.c | 13 +- drivers/infiniband/hw/hns/hns_roce_device.h | 6 + drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 90 ++++-- drivers/infiniband/hw/hns/hns_roce_main.c | 24 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 2 +- drivers/infiniband/hw/hns/hns_roce_restrack.c | 49 ++++ drivers/infiniband/hw/hns/hns_roce_srq.c | 85 +++++- drivers/infiniband/hw/irdma/cm.c | 2 +- drivers/infiniband/hw/irdma/cm.h | 2 +- drivers/infiniband/hw/irdma/ctrl.c | 2 +- drivers/infiniband/hw/irdma/defs.h | 2 +- drivers/infiniband/hw/irdma/hmc.c | 2 +- drivers/infiniband/hw/irdma/hmc.h | 2 +- drivers/infiniband/hw/irdma/hw.c | 2 +- drivers/infiniband/hw/irdma/i40iw_hw.c | 2 +- drivers/infiniband/hw/irdma/i40iw_hw.h | 2 +- drivers/infiniband/hw/irdma/i40iw_if.c | 4 +- drivers/infiniband/hw/irdma/icrdma_hw.c | 2 +- drivers/infiniband/hw/irdma/icrdma_hw.h | 2 +- drivers/infiniband/hw/irdma/irdma.h | 2 +- drivers/infiniband/hw/irdma/main.c | 2 +- drivers/infiniband/hw/irdma/main.h | 2 +- drivers/infiniband/hw/irdma/osdep.h | 2 +- drivers/infiniband/hw/irdma/pble.c | 2 +- drivers/infiniband/hw/irdma/pble.h | 2 +- drivers/infiniband/hw/irdma/protos.h | 2 +- drivers/infiniband/hw/irdma/puda.c | 2 +- drivers/infiniband/hw/irdma/puda.h | 2 +- drivers/infiniband/hw/irdma/trace.c | 2 +- drivers/infiniband/hw/irdma/trace.h | 2 +- drivers/infiniband/hw/irdma/trace_cm.h | 2 +- drivers/infiniband/hw/irdma/type.h | 2 +- drivers/infiniband/hw/irdma/uda.c | 2 +- drivers/infiniband/hw/irdma/uda.h | 2 +- drivers/infiniband/hw/irdma/uda_d.h | 2 +- drivers/infiniband/hw/irdma/uk.c | 2 +- drivers/infiniband/hw/irdma/user.h | 2 +- drivers/infiniband/hw/irdma/utils.c | 2 +- drivers/infiniband/hw/irdma/verbs.c | 234 +++++++++++++--- drivers/infiniband/hw/irdma/verbs.h | 4 +- drivers/infiniband/hw/irdma/ws.c | 2 +- drivers/infiniband/hw/irdma/ws.h | 2 +- drivers/infiniband/hw/mlx5/mad.c | 13 + drivers/infiniband/hw/mlx5/main.c | 12 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 21 +- drivers/infiniband/hw/mlx5/mr.c | 326 ++++++++++------------ drivers/infiniband/hw/mlx5/qp.c | 29 +- drivers/infiniband/hw/mlx5/umr.c | 4 +- drivers/infiniband/hw/mthca/mthca_memfree.h | 2 +- drivers/infiniband/hw/qib/qib_iba7322.c | 2 +- drivers/infiniband/hw/usnic/usnic_uiom.h | 2 +- drivers/infiniband/hw/vmw_pvrdma/pvrdma_main.c | 12 +- drivers/infiniband/sw/rdmavt/ah.c | 2 +- drivers/infiniband/sw/rdmavt/ah.h | 2 +- drivers/infiniband/sw/rdmavt/cq.c | 2 +- drivers/infiniband/sw/rdmavt/cq.h | 2 +- drivers/infiniband/sw/rdmavt/mad.c | 2 +- drivers/infiniband/sw/rdmavt/mad.h | 2 +- drivers/infiniband/sw/rdmavt/mcast.c | 2 +- drivers/infiniband/sw/rdmavt/mcast.h | 2 +- drivers/infiniband/sw/rdmavt/mmap.c | 2 +- drivers/infiniband/sw/rdmavt/mmap.h | 2 +- drivers/infiniband/sw/rdmavt/mr.c | 2 +- drivers/infiniband/sw/rdmavt/mr.h | 2 +- drivers/infiniband/sw/rdmavt/pd.c | 2 +- drivers/infiniband/sw/rdmavt/pd.h | 2 +- drivers/infiniband/sw/rdmavt/qp.c | 2 +- drivers/infiniband/sw/rdmavt/qp.h | 2 +- drivers/infiniband/sw/rdmavt/rc.c | 2 +- drivers/infiniband/sw/rdmavt/srq.c | 2 +- drivers/infiniband/sw/rdmavt/srq.h | 2 +- drivers/infiniband/sw/rdmavt/trace.c | 2 +- drivers/infiniband/sw/rdmavt/trace.h | 2 +- drivers/infiniband/sw/rdmavt/trace_cq.h | 2 +- drivers/infiniband/sw/rdmavt/trace_mr.h | 2 +- drivers/infiniband/sw/rdmavt/trace_qp.h | 2 +- drivers/infiniband/sw/rdmavt/trace_rc.h | 2 +- drivers/infiniband/sw/rdmavt/trace_rvt.h | 2 +- drivers/infiniband/sw/rdmavt/trace_tx.h | 2 +- drivers/infiniband/sw/rdmavt/vt.c | 2 +- drivers/infiniband/sw/rdmavt/vt.h | 2 +- drivers/infiniband/sw/siw/iwarp.h | 2 +- drivers/infiniband/sw/siw/siw.h | 4 +- drivers/infiniband/sw/siw/siw_cm.c | 2 +- drivers/infiniband/sw/siw/siw_cm.h | 2 +- drivers/infiniband/sw/siw/siw_cq.c | 2 +- drivers/infiniband/sw/siw/siw_main.c | 2 +- drivers/infiniband/sw/siw/siw_mem.c | 2 +- drivers/infiniband/sw/siw/siw_mem.h | 2 +- drivers/infiniband/sw/siw/siw_qp.c | 2 +- drivers/infiniband/sw/siw/siw_qp_rx.c | 2 +- drivers/infiniband/sw/siw/siw_qp_tx.c | 2 +- drivers/infiniband/sw/siw/siw_verbs.c | 2 +- drivers/infiniband/sw/siw/siw_verbs.h | 2 +- drivers/infiniband/ulp/ipoib/ipoib_ethtool.c | 2 + drivers/infiniband/ulp/ipoib/ipoib_main.c | 3 +- drivers/infiniband/ulp/rtrs/rtrs-clt.c | 7 +- drivers/infiniband/ulp/rtrs/rtrs.c | 2 +- drivers/infiniband/ulp/srp/ib_srp.h | 2 +- drivers/net/ethernet/mellanox/mlx5/core/port.c | 3 +- include/linux/mlx5/port.h | 3 +- include/rdma/ib_mad.h | 2 + include/rdma/ib_verbs.h | 8 +- include/uapi/rdma/hns-abi.h | 12 +- include/uapi/rdma/ib_user_ioctl_verbs.h | 3 +- include/uapi/rdma/rdma_netlink.h | 4 + include/uapi/rdma/siw-abi.h | 2 +- 194 files changed, 1178 insertions(+), 498 deletions(-) (diffstat after merge) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Thu, 2 Nov 2023 20:09:47 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/43468456c95b9e13c0592de51a9a530caa525c1f Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 3178 bytes --] Hi Linus, Batch of RC fixes. Probably the last till next year, thanks The following changes since commit b85ea95d086471afb4ad062012a4d73cd328fa86: Linux 6.7-rc1 (2023-11-12 16:19:07 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to e3e82fcb79eeb3f1a88a89f676831773caff514a: RDMA/irdma: Avoid free the non-cqp_request scratch (2023-12-04 20:02:41 -0400) ---------------------------------------------------------------- RDMA first rc pull for v6.7 Primarily rtrs and irdma fixes: - Fix uninitialized value in ib_get_eth_speed() - Fix hns refusing to work if userspace doesn't select the correct congestion control algorithm - Several irdma fixes - unreliable Send Queue Drain, use after free, 64k page size bugs, device removal races - Several rtrs bug fixes - crashes, memory leaks, use after free, bad credit accounting, bogus WARN_ON - Typos and a MAINTAINER update ---------------------------------------------------------------- Jack Wang (4): RDMA/rtrs-srv: Do not unconditionally enable irq RDMA/rtrs-clt: Start hb after path_up RDMA/rtrs-clt: Fix the max_send_wr setting RDMA/rtrs-clt: Remove the warnings for req in_use check Junxian Huang (2): RDMA/hns: Fix unnecessary err return when using invalid congest control algorithm MAINTAINERS: Add Chengchang Tang as Hisilicon RoCE maintainer Kalesh AP (1): RDMA/bnxt_re: Correct module description string Md Haris Iqbal (3): RDMA/rtrs-srv: Check return values while processing info request RDMA/rtrs-srv: Free srv_mr iu only when always_invalidate is true RDMA/rtrs-srv: Destroy path files after making sure no IOs in-flight Mike Marciniszyn (3): RDMA/core: Fix umem iterator when PAGE_SIZE is greater then HCA pgsz RDMA/irdma: Ensure iWarp QP queue memory is OS paged aligned RDMA/irdma: Fix support for 64k pages Mustafa Ismail (2): RDMA/irdma: Do not modify to SQD on error RDMA/irdma: Add wait for suspend on SQD Shifeng Li (2): RDMA/irdma: Fix UAF in irdma_sc_ccq_get_cqe_info() RDMA/irdma: Avoid free the non-cqp_request scratch Shigeru Yoshida (1): RDMA/core: Fix uninit-value access in ib_get_eth_speed() MAINTAINERS | 1 + drivers/infiniband/core/umem.c | 6 ----- drivers/infiniband/core/verbs.c | 2 +- drivers/infiniband/hw/bnxt_re/main.c | 2 +- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 13 +++++++---- drivers/infiniband/hw/irdma/hw.c | 16 +++++++------ drivers/infiniband/hw/irdma/main.c | 2 +- drivers/infiniband/hw/irdma/main.h | 2 +- drivers/infiniband/hw/irdma/verbs.c | 35 +++++++++++++++++++++------- drivers/infiniband/hw/irdma/verbs.h | 1 + drivers/infiniband/ulp/rtrs/rtrs-clt.c | 7 +++--- drivers/infiniband/ulp/rtrs/rtrs-srv.c | 37 ++++++++++++++++++++++-------- include/rdma/ib_umem.h | 9 +++++++- include/rdma/ib_verbs.h | 1 + 14 files changed, 90 insertions(+), 44 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Fri, 8 Dec 2023 10:19:11 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/8aa74869d2e9d868b1c4598eecc1a89f637a92cf Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 10258 bytes --] Hi Linus, A ordinary pull request for the new year. I think many were off over December. Thanks, Jason The following changes since commit a39b6ac3781d46ba18193c9dbb2110f31e9bffe9: Linux 6.7-rc5 (2023-12-10 14:33:40 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to d24b923f1d696ddacb09f0f2d1b1f4f045cfe65e: RDMA/bnxt_re: Fix error code in bnxt_re_create_cq() (2024-01-08 11:41:49 +0200) ---------------------------------------------------------------- RDMA v6.8 merge window Small cycle, with some typical driver updates - General code tidying in siw, hfi1, idrdma, usnic, hns rtrs and bnxt_re - Many small siw cleanups without an overeaching theme - Debugfs stats for hns - Fix a TX queue timeout in IPoIB and missed locking of the mcast list - Support more features of P7 devices in bnxt_re including a new work submission protocol - CQ interrupts for MANA - netlink stats for erdma - EFA multipath PCI support - Fix Incorrect MR invalidation in iser ---------------------------------------------------------------- Bernard Metzler (1): RDMA/siw: Use ib_umem_get() to pin user pages Chandramohan Akula (2): RDMA/bnxt_re: Refactor the queue index update RDMA/bnxt_re: Remove roundup_pow_of_two depth for all hardware queue resources Cheng Xu (2): RDMA/erdma: Introduce dma pool for hardware responses of CMDQ requests RDMA/erdma: Add hardware statistics support Chengchang Tang (3): RDMA/hns: Rename the interrupts RDMA/hns: Remove unnecessary checks for NULL in mtr_alloc_bufs() RDMA/hns: Fix memory leak in free_mr_init() Dan Carpenter (1): RDMA/bnxt_re: Fix error code in bnxt_re_create_cq() Daniel Vacek (1): IB/ipoib: Fix mcast list locking Eric Biggers (2): RDMA/siw: Use crypto_shash_digest() in siw_qp_prepare_tx() RDMA/irdma: Use crypto_shash_digest() in irdma_ieq_check_mpacrc() Guoqing Jiang (21): RDMA/siw: Introduce siw_get_page RDMA/siw: Introduce siw_update_skb_rcvd RDMA/siw: Use iov.iov_len in kernel_sendmsg RDMA/siw: Remove goto lable in siw_mmap RDMA/siw: Remove rcu from siw_qp RDMA/siw: No need to check term_info.valid before call siw_send_terminate RDMA/siw: Factor out siw_rx_data helper RDMA/siw: Introduce SIW_STAG_MAX_INDEX RDMA/siw: Add one parameter to siw_destroy_cpulist RDMA/siw: Introduce siw_cep_set_free_and_put RDMA/siw: Introduce siw_free_cm_id RDMA/siw: Cleanup siw_accept RDMA/siw: Remove siw_sk_save_upcalls RDMA/siw: Fix typo RDMA/siw: Only check attrs->cap.max_send_wr in siw_create_qp RDMA/siw: Introduce siw_destroy_cep_sock RDMA/siw: Update comments for siw_qp_sq_process RDMA/siw: Move tx_cpu ahead RDMA/siw: Reduce memory usage of struct siw_rx_stream RDMA/siw: Set qp_state in siw_query_qp RDMA/siw: Call orq_get_current if possible Jack Wang (2): RDMA/IPoIB: Fix error code return in ipoib_mcast_join RDMA/IPoIB: Add tx timeout work to recover queue stop situation Junxian Huang (5): RDMA/hns: Fix inappropriate err code for unsupported operations RDMA/hns: Add debugfs to hns RoCE RDMA/hns: Support SW stats with debugfs RDMA/hns: Response dmac to userspace RDMA/hns: Add a max length of gid table Leon Romanovsky (2): RDMA/usnic: Silence uninitialized symbol smatch warnings Expose c0 and SW encap ICM for RDMA Long Li (3): RDMA/mana_ib: register RDMA device with GDMA RDMA/mana_ib: query device capabilities RDMA/mana_ib: Add CQ interrupt support for RAW QP Mark Bloch (2): net/mlx5: E-Switch, expose eswitch manager vport RDMA/mlx5: Expose register c0 for RDMA device Md Haris Iqbal (1): RDMA/rtrs-clt: Add warning logs for RDMA events Michael Margolin (1): RDMA/efa: Add EFA query MR support Philipp Stanner (1): RDMA/hfi1: Copy userspace arrays safely Randy Dunlap (1): IB/iser: iscsi_iser.h: fix kernel-doc warning and spellos Selvin Xavier (10): RDMA/bnxt_re: Support new 5760X P7 devices RDMA/bnxt_re: Update the BAR offsets RDMA/bnxt_re: Update the HW interface definitions RDMA/bnxt_re: Get the toggle bits from CQ completions RDMA/bnxt_re: Doorbell changes RDMA/bnxt_re: Adds MSN table capability for Gen P7 adapters RDMA/bnxt_re: Add UAPI to share a page with user space RDMA/bnxt_re: Share a page to expose per CQ info with userspace RDMA/bnxt_re: Fix the offset for GenP7 adapters for user applications RDMA/bnxt_re: Fix the sparse warnings Sergey Gorenko (1): IB/iser: Prevent invalidating wrong MR Shun Hao (3): net/mlx5: Introduce indirect-sw-encap ICM properties RDMA/mlx5: Support handling of SW encap ICM area net/mlx5: Manage ICM type of SW encap Supriti Singh (2): RDMA/rtrs-clt: Use %pe to print errors RDMA/rtrs: Use %pe to print errors drivers/infiniband/hw/bnxt_re/bnxt_re.h | 3 + drivers/infiniband/hw/bnxt_re/hw_counters.c | 4 +- drivers/infiniband/hw/bnxt_re/ib_verbs.c | 233 +++++++++++++++++++--- drivers/infiniband/hw/bnxt_re/ib_verbs.h | 10 + drivers/infiniband/hw/bnxt_re/main.c | 47 +++-- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 215 +++++++++++++------- drivers/infiniband/hw/bnxt_re/qplib_fp.h | 35 +++- drivers/infiniband/hw/bnxt_re/qplib_rcfw.c | 21 +- drivers/infiniband/hw/bnxt_re/qplib_rcfw.h | 4 +- drivers/infiniband/hw/bnxt_re/qplib_res.c | 4 +- drivers/infiniband/hw/bnxt_re/qplib_res.h | 117 ++++++++--- drivers/infiniband/hw/bnxt_re/qplib_sp.c | 11 +- drivers/infiniband/hw/bnxt_re/roce_hsi.h | 67 ++++++- drivers/infiniband/hw/efa/efa.h | 12 +- drivers/infiniband/hw/efa/efa_admin_cmds_defs.h | 33 ++- drivers/infiniband/hw/efa/efa_com_cmd.c | 11 +- drivers/infiniband/hw/efa/efa_com_cmd.h | 12 +- drivers/infiniband/hw/efa/efa_main.c | 7 +- drivers/infiniband/hw/efa/efa_verbs.c | 71 ++++++- drivers/infiniband/hw/erdma/erdma.h | 2 + drivers/infiniband/hw/erdma/erdma_hw.h | 39 ++++ drivers/infiniband/hw/erdma/erdma_main.c | 26 ++- drivers/infiniband/hw/erdma/erdma_verbs.c | 90 +++++++++ drivers/infiniband/hw/erdma/erdma_verbs.h | 4 + drivers/infiniband/hw/hfi1/user_exp_rcv.c | 4 +- drivers/infiniband/hw/hfi1/user_sdma.c | 4 +- drivers/infiniband/hw/hns/Makefile | 3 +- drivers/infiniband/hw/hns/hns_roce_ah.c | 13 +- drivers/infiniband/hw/hns/hns_roce_cmd.c | 19 +- drivers/infiniband/hw/hns/hns_roce_cq.c | 17 +- drivers/infiniband/hw/hns/hns_roce_debugfs.c | 110 ++++++++++ drivers/infiniband/hw/hns/hns_roce_debugfs.h | 33 +++ drivers/infiniband/hw/hns/hns_roce_device.h | 26 +++ drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 71 +++++-- drivers/infiniband/hw/hns/hns_roce_main.c | 48 ++++- drivers/infiniband/hw/hns/hns_roce_mr.c | 28 ++- drivers/infiniband/hw/hns/hns_roce_pd.c | 12 +- drivers/infiniband/hw/hns/hns_roce_qp.c | 8 +- drivers/infiniband/hw/hns/hns_roce_srq.c | 6 +- drivers/infiniband/hw/irdma/utils.c | 11 +- drivers/infiniband/hw/mana/cq.c | 34 +++- drivers/infiniband/hw/mana/device.c | 31 ++- drivers/infiniband/hw/mana/main.c | 69 +++++-- drivers/infiniband/hw/mana/mana_ib.h | 53 +++++ drivers/infiniband/hw/mana/qp.c | 91 +++++++-- drivers/infiniband/hw/mlx5/dm.c | 5 + drivers/infiniband/hw/mlx5/main.c | 24 +++ drivers/infiniband/hw/mlx5/mr.c | 1 + drivers/infiniband/hw/mthca/mthca_cmd.c | 4 +- drivers/infiniband/hw/mthca/mthca_main.c | 2 +- drivers/infiniband/sw/siw/siw.h | 14 +- drivers/infiniband/sw/siw/siw_cm.c | 145 ++++++-------- drivers/infiniband/sw/siw/siw_main.c | 30 ++- drivers/infiniband/sw/siw/siw_mem.c | 121 +++++------ drivers/infiniband/sw/siw/siw_mem.h | 5 +- drivers/infiniband/sw/siw/siw_qp.c | 2 +- drivers/infiniband/sw/siw/siw_qp_rx.c | 84 +++----- drivers/infiniband/sw/siw/siw_qp_tx.c | 51 ++--- drivers/infiniband/sw/siw/siw_verbs.c | 52 ++--- drivers/infiniband/ulp/ipoib/ipoib.h | 4 + drivers/infiniband/ulp/ipoib/ipoib_ib.c | 26 ++- drivers/infiniband/ulp/ipoib/ipoib_main.c | 33 ++- drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 7 +- drivers/infiniband/ulp/iser/iscsi_iser.h | 7 +- drivers/infiniband/ulp/iser/iser_initiator.c | 5 +- drivers/infiniband/ulp/iser/iser_memory.c | 8 +- drivers/infiniband/ulp/iser/iser_verbs.c | 1 - drivers/infiniband/ulp/rtrs/rtrs-clt.c | 12 +- drivers/infiniband/ulp/rtrs/rtrs.c | 4 +- drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 7 - drivers/net/ethernet/mellanox/mlx5/core/lib/dm.c | 38 +++- drivers/net/ethernet/microsoft/mana/gdma_main.c | 5 + include/linux/mlx5/driver.h | 1 + include/linux/mlx5/eswitch.h | 8 + include/linux/mlx5/mlx5_ifc.h | 9 +- include/net/mana/gdma.h | 5 + include/uapi/rdma/bnxt_re-abi.h | 41 ++++ include/uapi/rdma/efa-abi.h | 21 +- include/uapi/rdma/hns-abi.h | 5 + include/uapi/rdma/mlx5-abi.h | 2 + include/uapi/rdma/mlx5_user_ioctl_verbs.h | 1 + 81 files changed, 1921 insertions(+), 638 deletions(-) create mode 100644 drivers/infiniband/hw/hns/hns_roce_debugfs.c create mode 100644 drivers/infiniband/hw/hns/hns_roce_debugfs.h [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Thu, 11 Jan 2024 21:06:50 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/bf9ca811bbadd7d853469d58284ed87906cc9321 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 3677 bytes --] Hi Linus, Misc collection of rc fixes for rdma. Most irdma and bnxt series. Thanks, Jason The following changes since commit 6613476e225e090cc9aad49be7fa504e290dd33d: Linux 6.8-rc1 (2024-01-21 14:11:32 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to eb5c7465c3240151cd42a55c7ace9da0026308a1: RDMA/srpt: fix function pointer cast warnings (2024-02-14 11:15:54 +0200) ---------------------------------------------------------------- RDMA v6.8 first rc irdma and bnxt_re fixes: - Missing error unwind in hf1 - For bnxt - fix fenching behavior to work on new chips, fail unsupported SRQ resize back to userspace, propogate SRQ FW failure back to userspace. - Correctly fail unsupported SRQ resize back to userspace in bnxt - Adjust a memcpy in mlx5 to not overflow a struct field. - Prevent userspace from triggering mlx5 fw syndrome logging from sysfs - Use the correct access mode for MLX5_IB_METHOD_DEVX_OBJ_MODIFY to avoid a userspace failure on modify - For irdma - Don't UAF a concurrent tasklet during destroy, prevent userspace from issuing invalid QP attrs, fix a possible CQ overflow, capture a missing HW async error event - sendmsg() triggerable memory access crash in hfi1 - Fix the srpt_service_guid parameter to not crash due to missing function pointer - Don't leak objects in error unwind in qedr - Don't weirdly cast function pointers in srpt ---------------------------------------------------------------- Arnd Bergmann (1): RDMA/srpt: fix function pointer cast warnings Bart Van Assche (1): RDMA/srpt: Support specifying the srpt_service_guid parameter Daniel Vacek (1): IB/hfi1: Fix sdma.h tx->num_descs off-by-one error Kalesh AP (5): RDMA/bnxt_re: Avoid creating fence MR for newer adapters RDMA/bnxt_re: Remove a redundant check inside bnxt_re_vf_res_config RDMA/bnxt_re: Fix unconditional fence for newer adapters RDMA/bnxt_re: Return error for SRQ resize RDMA/bnxt_re: Add a missing check in bnxt_qplib_query_srq Kamal Heib (1): RDMA/qedr: Fix qedr_create_user_qp error flow Leon Romanovsky (1): RDMA/mlx5: Fix fortify source warning while accessing Eth segment Mark Zhang (1): IB/mlx5: Don't expose debugfs entries for RRoCE general parameters if not supported Mike Marciniszyn (1): RDMA/irdma: Fix KASAN issue with tasklet Mustafa Ismail (2): RDMA/irdma: Set the CQ read threshold for GEN 1 RDMA/irdma: Add AE for too many RNRS Shiraz Saleem (1): RDMA/irdma: Validate max_send_wr and max_recv_wr Yishai Hadas (1): RDMA/mlx5: Relax DEVX access upon modify commands Zhipeng Lu (1): IB/hfi1: Fix a memleak in init_credit_return drivers/infiniband/hw/bnxt_re/ib_verbs.c | 43 +++++++++++++++++++++----------- drivers/infiniband/hw/bnxt_re/main.c | 3 --- drivers/infiniband/hw/bnxt_re/qplib_fp.c | 3 ++- drivers/infiniband/hw/hfi1/pio.c | 6 ++++- drivers/infiniband/hw/hfi1/sdma.c | 2 +- drivers/infiniband/hw/irdma/defs.h | 1 + drivers/infiniband/hw/irdma/hw.c | 8 ++++++ drivers/infiniband/hw/irdma/verbs.c | 9 ++++--- drivers/infiniband/hw/mlx5/cong.c | 6 +++++ drivers/infiniband/hw/mlx5/devx.c | 2 +- drivers/infiniband/hw/mlx5/wr.c | 2 +- drivers/infiniband/hw/qedr/verbs.c | 11 +++++++- drivers/infiniband/ulp/srpt/ib_srpt.c | 17 ++++++++----- include/linux/mlx5/mlx5_ifc.h | 2 +- include/linux/mlx5/qp.h | 5 +++- 15 files changed, 84 insertions(+), 36 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Tue, 20 Feb 2024 20:12:41 -0400: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/9fc1ccccfd8d53dc7936fe6d633f2373fc9f62e8 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html
[-- Attachment #1: Type: text/plain, Size: 6035 bytes --] Hi Linus, Seems very small this cycle, there are still a few patches on the mailing list but things seem to be getting overall quieter. Thanks, Jason The following changes since commit 6613476e225e090cc9aad49be7fa504e290dd33d: Linux 6.8-rc1 (2024-01-21 14:11:32 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus for you to fetch changes up to 96d9cbe2f2ff7abde021bac75eafaceabe9a51fa: RDMA/cm: add timeout to cm_destroy_id wait (2024-03-10 13:17:54 +0200) ---------------------------------------------------------------- RDMA v6.9 Very small update this cycle: - Minor code improvements in fi, rxe, ipoib, mana, cxgb4, mlx5, irdma, rxe, rtrs, mana - Simplify the hns hem mechanism - Fix EFA's MSI-X allocation in resource constrained configurations - Fix a KASN splat in srpt - Narrow hns's congestion control selection to QPs granularity and allow userspace to select it - Solve a parallel module loading race between the CM module and a driver module - Flexible array cleanup - Dump hns's SCC Conext to 'rdma res' for debugging - Make mana build page lists for HW objects that require a 0 offset correctly - Stuck CM ID debugging ---------------------------------------------------------------- Alexey Dobriyan (2): RDMA/cxgb4: Delete unused c4iw_ep_redirect prototype RDMA/mlx5: Delete unused mlx5_ib_copy_pas prototype Alexey Kodanev (1): RDMA/rtrs-clt: Check strnlen return len in sysfs mpath_policy_store() Chengchang Tang (5): RDMA/hns: Refactor mtr find RDMA/hns: Refactor mtr_init_buf_cfg() RDMA/hns: Alloc MTR memory before alloc_mtt() RDMA/hns: Support flexible umem page size RDMA/hns: Support adaptive PBL hopnum Christian Heusel (1): RDMA/ipoib: Print symbolic error name instead of error code Erick Archer (1): RDMA/uverbs: Remove flexible arrays from struct *_filter Guoqing Jiang (1): RDMA/rxe: Remove unused 'iova' parameter from rxe_mr_init_user Gustavo A. R. Silva (1): RDMA/uverbs: Avoid -Wflex-array-member-not-at-end warnings Junxian Huang (1): RDMA/hns: Support userspace configuring congestion control algorithm with QP granularity Konstantin Taranov (5): RDMA/mana_ib: Introduce mdev_to_gc helper function RDMA/mana_ib: Introduce mana_ib_get_netdev helper function RDMA/mana_ib: Introduce mana_ib_install_cq_cb helper function RDMA/mana_ib: Fix bug in creation of dma regions RDMA/mana_ib: Use virtual address in dma regions for MRs Li Zhijian (2): RDMA/rxe: Improve newline in printing messages RDMA/rxe: Remove rxe_info from rxe_set_mtu Luoyouming (1): RDMA/hns: Fix mis-modifying default congestion control algorithm Manjunath Patil (1): RDMA/cm: add timeout to cm_destroy_id wait Mustafa Ismail (1): RDMA/irdma: Remove duplicate assignment Randy Dunlap (1): IB/hfi1: fix spellos and kernel-doc Shifeng Li (1): RDMA/device: Fix a race between mad_client and cm_client init William Kucharski (1): RDMA/srpt: Do not register event handler until srpt device is fully setup Yonatan Nachum (1): RDMA/efa: Limit EQs to available MSI-X vectors Yunsheng Lin (1): RDMA/hns: Simplify 'struct hns_roce_hem' allocation wenglianfa (1): RDMA/hns: Append SCC context to the raw dump of QPC drivers/infiniband/core/cm.c | 20 +- drivers/infiniband/core/device.c | 37 +-- drivers/infiniband/core/uverbs_cmd.c | 16 +- drivers/infiniband/core/uverbs_ioctl.c | 78 +++--- drivers/infiniband/hw/cxgb4/iw_cxgb4.h | 2 - drivers/infiniband/hw/efa/efa.h | 1 + drivers/infiniband/hw/efa/efa_main.c | 32 ++- drivers/infiniband/hw/hfi1/tid_rdma.c | 25 +- drivers/infiniband/hw/hns/hns_roce_cmd.h | 3 + drivers/infiniband/hw/hns/hns_roce_cq.c | 11 +- drivers/infiniband/hw/hns/hns_roce_device.h | 35 ++- drivers/infiniband/hw/hns/hns_roce_hem.c | 95 ++----- drivers/infiniband/hw/hns/hns_roce_hem.h | 56 +--- drivers/infiniband/hw/hns/hns_roce_hw_v2.c | 154 ++++++----- drivers/infiniband/hw/hns/hns_roce_hw_v2.h | 9 +- drivers/infiniband/hw/hns/hns_roce_main.c | 3 + drivers/infiniband/hw/hns/hns_roce_mr.c | 339 ++++++++++++++++++------- drivers/infiniband/hw/hns/hns_roce_qp.c | 60 +++++ drivers/infiniband/hw/hns/hns_roce_restrack.c | 23 +- drivers/infiniband/hw/irdma/verbs.c | 3 +- drivers/infiniband/hw/mana/cq.c | 29 ++- drivers/infiniband/hw/mana/main.c | 82 +++--- drivers/infiniband/hw/mana/mana_ib.h | 27 +- drivers/infiniband/hw/mana/mr.c | 17 +- drivers/infiniband/hw/mana/qp.c | 94 +++---- drivers/infiniband/hw/mana/wq.c | 4 +- drivers/infiniband/hw/mlx5/mlx5_ib.h | 1 - drivers/infiniband/sw/rxe/rxe.c | 6 +- drivers/infiniband/sw/rxe/rxe.h | 6 +- drivers/infiniband/sw/rxe/rxe_comp.c | 4 +- drivers/infiniband/sw/rxe/rxe_cq.c | 4 +- drivers/infiniband/sw/rxe/rxe_loc.h | 2 +- drivers/infiniband/sw/rxe/rxe_mr.c | 18 +- drivers/infiniband/sw/rxe/rxe_mw.c | 2 +- drivers/infiniband/sw/rxe/rxe_qp.c | 8 +- drivers/infiniband/sw/rxe/rxe_resp.c | 12 +- drivers/infiniband/sw/rxe/rxe_task.c | 4 +- drivers/infiniband/sw/rxe/rxe_verbs.c | 218 ++++++++-------- drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 3 +- drivers/infiniband/ulp/rtrs/rtrs-clt-sysfs.c | 2 +- drivers/infiniband/ulp/srpt/ib_srpt.c | 3 +- include/rdma/ib_verbs.h | 19 +- include/rdma/uverbs_ioctl.h | 14 +- include/uapi/rdma/hns-abi.h | 16 ++ 44 files changed, 899 insertions(+), 698 deletions(-) [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 228 bytes --]
The pull request you sent on Mon, 18 Mar 2024 13:51:11 -0300: > git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git tags/for-linus has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/6207b37eb5c5e48f45f3ffe0a299d2df6b42ed69 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html