From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,MSGID_FROM_MTA_HEADER,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3CB07C433DF for ; Sat, 17 Oct 2020 05:39:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id F330720714 for ; Sat, 17 Oct 2020 05:39:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=nvidia.com header.i=@nvidia.com header.b="IkMSJFx9" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2411651AbgJQFjT (ORCPT ); Sat, 17 Oct 2020 01:39:19 -0400 Received: from nat-hk.nvidia.com ([203.18.50.4]:21032 "EHLO nat-hk.nvidia.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2411548AbgJQFjT (ORCPT ); Sat, 17 Oct 2020 01:39:19 -0400 Received: from HKMAIL104.nvidia.com (Not Verified[10.18.92.77]) by nat-hk.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Sat, 17 Oct 2020 08:18:03 +0800 Received: from HKMAIL104.nvidia.com (10.18.16.13) by HKMAIL104.nvidia.com (10.18.16.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Sat, 17 Oct 2020 00:17:56 +0000 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.175) by HKMAIL104.nvidia.com (10.18.16.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Sat, 17 Oct 2020 00:17:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j7FT+UHyBM1rXsBxDPdrbgjRqAiFjj/SybQT5xlSAFNt/nW1YTcFdbam75OO1kOJ4rKn5ydQs9fXxry1QDX+700/e9EdNZVQrtc9ynP+GTGbHA+XaZXrScmIce+17HlgdtxVQe4Zsc5FAyjPnoFPhaOOFh1xLkKzczrkHxwgdAtJGKL1WrDZSHPAYWeVjlM5Q/ds/7l67KkHlIHQV8wuX7hLJMLSUOZk2qIZBZiKKlJpjKnRxAuHUEmV0jr728wfzCfrJ0Ugf1Xa0dJQkL/LYu0VwncK7qDrnf9jGmhWILzVxTzsn4JzG0fFwBn4x7H/YP+ruZcH4AdCh4huQizLLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hDC+cLdTvDs7cePMhIVkbmioJWl/ykLyDE/oZnOBvmE=; b=dBe/wnLaGcO2du2RrOJV9ipBUFb7jESNxMWINJTTEXMe1ygdScFU3OVu2cCMDj93htDHA4F/MtqT22JzjH1UtCqSHnfRb9WsCLt1F36RAfNhkySxli5dYctxnThN4m6PdPbQxFwhn3f9MZBECo5JouMPAwK0KJa+nuunAlYd979b9YHufWjWJhqOY+ym02Za32lB0ozRLrA9Bp0DsTiJTy2+ZowCn2hperNCEsfrjhgxXVcLHoEareIvlMcPGphN91x38yeFycGyUwdlcrz8+MHGf+ysZMxk5N65GAXYQZD7qT8Uu9PiDfZFHpc7b8SJ8wjud3BAXDWfEQYhil73xg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none Received: from DM6PR12MB3834.namprd12.prod.outlook.com (2603:10b6:5:14a::12) by DM6PR12MB3019.namprd12.prod.outlook.com (2603:10b6:5:3d::30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.21; Sat, 17 Oct 2020 00:17:53 +0000 Received: from DM6PR12MB3834.namprd12.prod.outlook.com ([fe80::cdbe:f274:ad65:9a78]) by DM6PR12MB3834.namprd12.prod.outlook.com ([fe80::cdbe:f274:ad65:9a78%7]) with mapi id 15.20.3477.027; Sat, 17 Oct 2020 00:17:53 +0000 Date: Fri, 16 Oct 2020 21:17:51 -0300 From: Jason Gunthorpe To: Jianxin Xiong CC: , , "Doug Ledford" , Leon Romanovsky , "Sumit Semwal" , Christian Koenig , Daniel Vetter Subject: Re: [PATCH v5 3/5] RDMA/uverbs: Add uverbs command for dma-buf based MR registration Message-ID: <20201017001751.GA334582@nvidia.com> References: <1602799375-138277-1-git-send-email-jianxin.xiong@intel.com> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <1602799375-138277-1-git-send-email-jianxin.xiong@intel.com> X-ClientProxiedBy: BL0PR02CA0029.namprd02.prod.outlook.com (2603:10b6:207:3c::42) To DM6PR12MB3834.namprd12.prod.outlook.com (2603:10b6:5:14a::12) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from mlx.ziepe.ca (156.34.48.30) by BL0PR02CA0029.namprd02.prod.outlook.com (2603:10b6:207:3c::42) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3477.21 via Frontend Transport; Sat, 17 Oct 2020 00:17:52 +0000 Received: from jgg by mlx with local (Exim 4.94) (envelope-from ) id 1kTZux-001P58-Gy; Fri, 16 Oct 2020 21:17:51 -0300 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1602893883; bh=hDC+cLdTvDs7cePMhIVkbmioJWl/ykLyDE/oZnOBvmE=; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:Date: From:To:CC:Subject:Message-ID:References:Content-Type: Content-Disposition:In-Reply-To:X-ClientProxiedBy:MIME-Version: X-MS-Exchange-MessageSentRepresentingType; b=IkMSJFx9RllQvIvNQT9oDT0UxX3jU//md25XDWl2SxWeOrWponQSR+deEUDi3ztD7 L+kWWrGy3jjICaDQOTBQLERBeRNmOBBJutc8EuBH0EGS4APVHcvUO+j5giLvzlYw8g gp7nEudtxxTTduRg5PSbQx4BoQ5nPejrJaYVHauTq6lZB8bhV0m32dyJLhjcHV8Z/R G9jqokvQuIpduewyroDiXFrtBlivMH5WpoTAXX4tarW/4AWF4bdQc56pEtq94QG2HN aXGxPlMF4HOEGT8mB8m4JxaDA3BSe5EHcppcKltfue7YCJNfxXTDDiZth5uW1oeNlv fa34YPpOjsqNQ== Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org On Thu, Oct 15, 2020 at 03:02:55PM -0700, Jianxin Xiong wrote: > Implement a new uverbs ioctl method for memory registration with file > descriptor as an extra parameter. > > Signed-off-by: Jianxin Xiong > Reviewed-by: Sean Hefty > Acked-by: Michael J. Ruhl > Acked-by: Christian Koenig > Acked-by: Daniel Vetter > drivers/infiniband/core/uverbs_std_types_mr.c | 112 ++++++++++++++++++++++++++ > include/uapi/rdma/ib_user_ioctl_cmds.h | 14 ++++ > 2 files changed, 126 insertions(+) > > diff --git a/drivers/infiniband/core/uverbs_std_types_mr.c b/drivers/infiniband/core/uverbs_std_types_mr.c > index 9b22bb5..e54459f 100644 > +++ b/drivers/infiniband/core/uverbs_std_types_mr.c > @@ -1,5 +1,6 @@ > /* > * Copyright (c) 2018, Mellanox Technologies inc. All rights reserved. > + * Copyright (c) 2020, Intel Corporation. All rights reserved. > * > * This software is available to you under a choice of one of two > * licenses. You may choose to be licensed under the terms of the GNU > @@ -178,6 +179,85 @@ static int UVERBS_HANDLER(UVERBS_METHOD_QUERY_MR)( > return IS_UVERBS_COPY_ERR(ret) ? ret : 0; > } > > +static int UVERBS_HANDLER(UVERBS_METHOD_REG_DMABUF_MR)( > + struct uverbs_attr_bundle *attrs) > +{ > + struct ib_uobject *uobj = > + uverbs_attr_get_uobject(attrs, UVERBS_ATTR_REG_DMABUF_MR_HANDLE); > + struct ib_pd *pd = > + uverbs_attr_get_obj(attrs, UVERBS_ATTR_REG_DMABUF_MR_PD_HANDLE); > + struct ib_device *ib_dev = pd->device; > + > + u64 start, length, virt_addr; > + u32 fd, access_flags; > + struct ib_mr *mr; > + int ret; > + > + if (!ib_dev->ops.reg_user_mr_dmabuf) > + return -EOPNOTSUPP; > + > + ret = uverbs_copy_from(&start, attrs, > + UVERBS_ATTR_REG_DMABUF_MR_ADDR); This should be called OFFSET uniformly here and in all the call chain below. Not start and not addr. > + if (ret) > + return ret; > + > + ret = uverbs_copy_from(&length, attrs, > + UVERBS_ATTR_REG_DMABUF_MR_LENGTH); > + if (ret) > + return ret; > + > + ret = uverbs_copy_from(&virt_addr, attrs, > + UVERBS_ATTR_REG_DMABUF_MR_HCA_VA); I've been trying to call this IOVA Jason