Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp22954pxb; Wed, 29 Sep 2021 23:39:07 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyRK4pJEKjnKlCboysVjOJ7gKLk/VnC68/Lo8+67ax82wwrKfieQ4S6TFYXyoywsdHASuAw X-Received: by 2002:a17:90a:1a0a:: with SMTP id 10mr4518627pjk.85.1632983947377; Wed, 29 Sep 2021 23:39:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1632983947; cv=none; d=google.com; s=arc-20160816; b=J5rMv3/nHVGMS2LcFpMmfwvLLYpkOGCJGtRNYtAVBKJwMgnTZdHGfsONgnscm6+5xo 9qh0HZCH0Syhlfw8Axfvdzgmd4dP7NinR0TnEVSeBDhsAImzqhOAy+6c7PT/c+/YLQJu hPpCTnXIFqU4+rhLUUFPd7mKWHvZPXW97e7c0RVmMYn5x43Kdyq/E5ZRJWBmhVuoPKfy 6N8/Y/+kVkj3qE0K6nTXZf9Oe2r+UJ6+jc6Xm+kv3KQHuiFvIGW+GT2F+uo2y7A2fsga DtcX0fziF630/xCcyCm/LxlNh1gkQF63iPtoWkwxxJFmbDi7SgMrMENInepfppn3sdnC /Nbw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=UpCMKte4+xNLfPIEFcorY2txGsUkKL05E8UxngAqFMw=; b=ILNBZscisu5zBwnySgpiuiAFkURUJLv3oHFO206kWy4H/tJNZfnz3+PMjHTbK0mFJq aysYjNGorWrys8VzLJg/R5+5Umf98ofiYGrN7wD8/2rT3tA4jju3lbIB+QD7bM8OXOjy 3MJ5jKeeEARvpJTBq/UzZf7wf5KtQJ56xFH3P8at4Vq/i3yG5VHrZyJMEQnBkZGwkz4j zZZNEHvKq1FgQuj6v+bOdA5gsGU2/7IHXCyvBVIzUWPUqIGRWWRsRaI+BUNtK9f5Ggdg RdqYSmTum0yJrQuR5kyAyA79GcRorHwYdVvK9q2RZRp8HGt05Rynf1xma67eAupGwFVu ptEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=N5ykDUOZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b2si4096676pjl.24.2021.09.29.23.38.54; Wed, 29 Sep 2021 23:39:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=N5ykDUOZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1348273AbhI3GjJ (ORCPT + 99 others); Thu, 30 Sep 2021 02:39:09 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38036 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1348190AbhI3GjI (ORCPT ); Thu, 30 Sep 2021 02:39:08 -0400 Received: from mail-ot1-x32c.google.com (mail-ot1-x32c.google.com [IPv6:2607:f8b0:4864:20::32c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 63E8DC06176C; Wed, 29 Sep 2021 23:37:26 -0700 (PDT) Received: by mail-ot1-x32c.google.com with SMTP id c26-20020a056830349a00b0054d96d25c1eso5995203otu.9; Wed, 29 Sep 2021 23:37:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=UpCMKte4+xNLfPIEFcorY2txGsUkKL05E8UxngAqFMw=; b=N5ykDUOZTUBs2Y5qWszbpDqp88cTbjalX0dj3NmeVUvMuPOrOHLAaN3NqZfr7keKOp njkX/0bdG6+fJIYpSQB+GXnLOZTAOWDwgZ2njIcR0CSDszZCD1NHQKOw0pyiDLCKqXQv 24aJuN/lB9NiuQSfnRcCV3THkBQqxs6wwtZpmIQHk8LihgnPU3ZtLVOTXu9WOwhmmEf1 BCgWe+xyHzPCiNmAtB5nlWFWL4TMO+UCT8H0MAUrvK83dq9VdN6xD6IaqHyG+lMq6B4v kjKHvlOQ/RJwzHgBwe5r/IjMK/ErISKfAuTrZzmvtfckdpqvlZn5eUPQCe/RmRlI78k8 qPQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=UpCMKte4+xNLfPIEFcorY2txGsUkKL05E8UxngAqFMw=; b=rxfQx9eDJDkF0efDm84cPsYRuJAI235srCmnjqyAI6kPTPXVx1S/95fJjcIdLT47ak +qkP7o8lmjug8PAp57QFHsvNHuDoCfbe9BLizM7EpOCjDZMHoXcREHwmu33lQUb7E9CR MXCc41BeZQvG2MxZPmQXErFZeqhtbvbPY54gvubu2VtDvi4vY2waBVwhoXsfiUog3eBt HWgp/9RygXQRNedupseeGSTnFwdJHVdBAl6rz79TIST2zmeKvUchwmnyYtc7k4nnITiZ bwQW2m2lgRf8G7yzIpJZmYtDaczxK3u3U6YRaJN+zb500EF5wkDdGfVkJlC422CZl/H2 zQbA== X-Gm-Message-State: AOAM532F05MLweWecw65mEbtAI/A5EKhGtK7NkkwHUfUn5ynBHrNvxTp J++pOPFnO9kCr1f8q4SxFZKS7hSzffd5sbCNO58= X-Received: by 2002:a05:6830:1089:: with SMTP id y9mr3770951oto.335.1632983845807; Wed, 29 Sep 2021 23:37:25 -0700 (PDT) MIME-Version: 1.0 References: <20210930062014.38200-1-mie@igel.co.jp> <20210930062014.38200-2-mie@igel.co.jp> In-Reply-To: <20210930062014.38200-2-mie@igel.co.jp> From: Zhu Yanjun Date: Thu, 30 Sep 2021 14:37:14 +0800 Message-ID: Subject: Re: [RFC PATCH v2 1/1] Providers/rxe: Add dma-buf support To: Shunsuke Mie Cc: =?UTF-8?Q?Christian_K=C3=B6nig?= , Alex Deucher , Daniel Vetter , Doug Ledford , Jason Gunthorpe , Jianxin Xiong , Leon Romanovsky , Maor Gottlieb , Sean Hefty , Sumit Semwal , dri-devel@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org, linux-media@vger.kernel.org, LKML , RDMA mailing list , dhobsong@igel.co.jp, taki@igel.co.jp, etom@igel.co.jp Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Sep 30, 2021 at 2:20 PM Shunsuke Mie wrote: > > Implement a new provider method for dma-buf base memory registration. > > Signed-off-by: Shunsuke Mie > --- > providers/rxe/rxe.c | 21 +++++++++++++++++++++ > 1 file changed, 21 insertions(+) > > diff --git a/providers/rxe/rxe.c b/providers/rxe/rxe.c > index 3c3ea8bb..84e00e60 100644 > --- a/providers/rxe/rxe.c > +++ b/providers/rxe/rxe.c > @@ -239,6 +239,26 @@ static struct ibv_mr *rxe_reg_mr(struct ibv_pd *pd, void *addr, size_t length, > return &vmr->ibv_mr; > } > > +static struct ibv_mr *rxe_reg_dmabuf_mr(struct ibv_pd *pd, uint64_t offset, > + size_t length, uint64_t iova, int fd, > + int access) > +{ > + struct verbs_mr *vmr; > + int ret; > + > + vmr = malloc(sizeof(*vmr)); > + if (!vmr) > + return NULL; > + Do we need to set vmr to zero like the following? memset(vmr, 0, sizeof(*vmr)); Zhu Yanjun > + ret = ibv_cmd_reg_dmabuf_mr(pd, offset, length, iova, fd, access, vmr); > + if (ret) { > + free(vmr); > + return NULL; > + } > + > + return &vmr->ibv_mr; > +} > + > static int rxe_dereg_mr(struct verbs_mr *vmr) > { > int ret; > @@ -1706,6 +1726,7 @@ static const struct verbs_context_ops rxe_ctx_ops = { > .alloc_pd = rxe_alloc_pd, > .dealloc_pd = rxe_dealloc_pd, > .reg_mr = rxe_reg_mr, > + .reg_dmabuf_mr = rxe_reg_dmabuf_mr, > .dereg_mr = rxe_dereg_mr, > .alloc_mw = rxe_alloc_mw, > .dealloc_mw = rxe_dealloc_mw, > -- > 2.17.1 >