From patchwork Wed Dec 5 13:24:45 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yishai Hadas X-Patchwork-Id: 10714205 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 689E614E2 for ; Wed, 5 Dec 2018 13:25:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 589442CF2E for ; Wed, 5 Dec 2018 13:25:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4CF382CF33; Wed, 5 Dec 2018 13:25:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_HI,UNPARSEABLE_RELAY autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9EBC72CF2E for ; Wed, 5 Dec 2018 13:25:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727501AbeLENZP (ORCPT ); Wed, 5 Dec 2018 08:25:15 -0500 Received: from mail-il-dmz.mellanox.com ([193.47.165.129]:36139 "EHLO mellanox.co.il" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727475AbeLENZP (ORCPT ); Wed, 5 Dec 2018 08:25:15 -0500 Received: from Internal Mail-Server by MTLPINE1 (envelope-from yishaih@mellanox.com) with ESMTPS (AES256-SHA encrypted); 5 Dec 2018 15:31:10 +0200 Received: from vnc17.mtl.labs.mlnx (vnc17.mtl.labs.mlnx [10.7.2.17]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id wB5DP9Mv000818; Wed, 5 Dec 2018 15:25:09 +0200 Received: from vnc17.mtl.labs.mlnx (vnc17.mtl.labs.mlnx [127.0.0.1]) by vnc17.mtl.labs.mlnx (8.13.8/8.13.8) with ESMTP id wB5DP9wF011297; Wed, 5 Dec 2018 15:25:09 +0200 Received: (from yishaih@localhost) by vnc17.mtl.labs.mlnx (8.13.8/8.13.8/Submit) id wB5DP9te011296; Wed, 5 Dec 2018 15:25:09 +0200 From: Yishai Hadas To: linux-rdma@vger.kernel.org Cc: yishaih@mellanox.com, monis@mellanox.com, guyle@mellanox.com, aviadye@mellanox.com, jgg@mellanox.com, majd@mellanox.com Subject: [PATCH rdma-core 0/6] verbs: Introduce ibv_advise_mr() verb Date: Wed, 5 Dec 2018 15:24:45 +0200 Message-Id: <1544016291-10815-1-git-send-email-yishaih@mellanox.com> X-Mailer: git-send-email 1.8.2.3 Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This series from Moni introduces a new verb named ibv_advise_mr(), it includes: - The application interface. - The command interface with the kernel. The purpose of this verb is to give an advice to the kernel about an address range belongs to a memory region. Applications that are aware of future access patterns can use this verb in order to leverage this knowledge to improve system or application performance. One example is for pre-fetching a range part of an on-demand paging MR which is implemented by this series. The series follows a detailed RFC that was proposed to the list a month ago [1] and includes a detailed man page for this new public verb. The kernel part was already sent into rdma-next. PR: https://github.com/linux-rdma/rdma-core/pull/439 Note: The first patch which includes the kernel headers may be adapted before merging to point to the accepted commit ID with the applicable changes by that time. [1] https://www.spinics.net/lists/linux-rdma/msg70592.html Moni Shoua (5): verbs: Add helper for command interface verbs: Introduce ibv_advise_mr verb mlx5: Support advise_mr verb verbs: Device memory cannot be on demand in rc_pingpong verbs: Let caller pre-fetch a sub-region of ODP MR in rc_pingpong Yishai Hadas (1): Update kernel headers kernel-headers/rdma/ib_user_ioctl_cmds.h | 18 +++++ kernel-headers/rdma/ib_user_ioctl_verbs.h | 9 +++ kernel-headers/rdma/ib_user_verbs.h | 2 +- kernel-headers/rdma/mlx5-abi.h | 2 + kernel-headers/rdma/rdma_netlink.h | 14 ++++ libibverbs/CMakeLists.txt | 1 + libibverbs/cmd_ioctl.h | 3 + libibverbs/cmd_mr.c | 54 +++++++++++++ libibverbs/driver.h | 10 +++ libibverbs/dummy_ops.c | 11 +++ libibverbs/examples/rc_pingpong.c | 34 +++++++- libibverbs/libibverbs.map.in | 1 + libibverbs/man/CMakeLists.txt | 1 + libibverbs/man/ibv_advise_mr.3.md | 126 ++++++++++++++++++++++++++++++ libibverbs/man/ibv_rc_pingpong.1 | 7 +- libibverbs/verbs.h | 28 +++++++ libibverbs/verbs_api.h | 6 ++ providers/mlx5/mlx5.c | 1 + providers/mlx5/mlx5.h | 6 +- providers/mlx5/verbs.c | 9 +++ 20 files changed, 338 insertions(+), 5 deletions(-) create mode 100644 libibverbs/cmd_mr.c create mode 100644 libibverbs/man/ibv_advise_mr.3.md