Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp9698894rwd; Wed, 21 Jun 2023 10:36:13 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7ncC2zYv1F/qQ4uyyzM1D3lqj+6tWThE0ooxnasdrGSlnVJp8GIunMv8Ow1Bcaw1FoYjAl X-Received: by 2002:a05:6a21:6d9e:b0:121:f3a2:3a8 with SMTP id wl30-20020a056a216d9e00b00121f3a203a8mr7122900pzb.0.1687368973008; Wed, 21 Jun 2023 10:36:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687368972; cv=none; d=google.com; s=arc-20160816; b=LVrZtSXJmqHw10/Ju3ol0mPeRG6Run3V9CaaJH7lzN4lPSuF+7i0uNzFZ6Vp1tPYh3 mHNNoScoAT7A8pZCylY5hzWCrRoTgCg07944tunpQ98CWPgHkN9OOvMru0W55BVN4ZYE 7PjCo7eSiTE0KN2TT1F9nBNc9Ghs06ZDQFEA4G/VQRmU281d7Oiq514gPRXQNzqdVHEa DlRrmd1T632YTHmr0AwMz6cyu5Yjkff83cAF/nWeDYwMo5zWfrqyVviYtrYdXHuOSP4k gGNkeZpmQpeXbGLo+JDJIYVAn1i72ffoirRhoqEH1X/fPsbG7nj7UYxujk1TmmxuWDow 1jXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=fSAk//p3tdpjYImZmcR5EhVEtjoOajC1V7uGVNMF2Bg=; b=nPcTqS3VTeiZRkcsc7JObIoB6RVIy/i9IK9H4O+SGCpjrboN+LCT7rNSSLCuv0mShy lWBsiFfR6tUVuuUVDrFf/PEHOQdl9gTTE/ThqOFu/R/gDKnp8KpFYw+FKvLvzz/hwUaF Uun9Rsgiic77MC3cp70Fah9nvG4+aMTVvmclaFgdk3rYJgyGpYxs77s7RFePPsYKdqpr P+OyHsSYfF14LqtJwwSHAo2aOLVZUz1QAjn076BVc+qyZK/AIxMRTMdQF0Mj674DBnac pl8OhVfKGNh+hOaV8fwJn7c6GzYcpXiYuDYHUZgQhLIeEy/CTkLnz2Ga18z8PultyCgB LJQg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b="q/QuiXaZ"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id az9-20020a056a02004900b0053fc3bc33e4si4493441pgb.795.2023.06.21.10.36.00; Wed, 21 Jun 2023 10:36:12 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20221208 header.b="q/QuiXaZ"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230493AbjFURVZ (ORCPT + 99 others); Wed, 21 Jun 2023 13:21:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58964 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230145AbjFURVU (ORCPT ); Wed, 21 Jun 2023 13:21:20 -0400 Received: from mail-yb1-xb34.google.com (mail-yb1-xb34.google.com [IPv6:2607:f8b0:4864:20::b34]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E8FB219A9 for ; Wed, 21 Jun 2023 10:21:18 -0700 (PDT) Received: by mail-yb1-xb34.google.com with SMTP id 3f1490d57ef6-bc40d4145feso5925305276.1 for ; Wed, 21 Jun 2023 10:21:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1687368078; x=1689960078; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=fSAk//p3tdpjYImZmcR5EhVEtjoOajC1V7uGVNMF2Bg=; b=q/QuiXaZ88rtUbd3QeAHuuJ5YdEG8Dj33lwUpfxAKx2j6K8dza966+C6Vx9qTjeHAC dvjLDPex73PhJtmsc00qVmNWc81PBSoK5/DqmDEkoQRwZg7wdCgDYwv6KNw7NQHQg0ss QCxMpM2hyzH5EJ0IKPpWTrAOr75BDqkN90Q3p4Z+NGub6vJjdVMSx+/dWrdARkm/qa+K j6nLL7mAq/4hVfWhFluDu/adCBBVVG4zebIR3JHTZ/osWCH9Wbr92Ycmird8V3zgA09l iM+oXXoIN7YX8PqJDsa+yxmqavyepFXWWbCVfvkQEus4wkvqcgdDn/f+isiJhlvZC9Fa qF2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687368078; x=1689960078; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fSAk//p3tdpjYImZmcR5EhVEtjoOajC1V7uGVNMF2Bg=; b=N5Ah3sZod/guF5yBu4mBCEySQzrY4k3dYNgMKU2j5h20BPI7fVbZa5HQOxFfkQ/wcJ FRvqCM71Rtf5efkePLs34K9ZvH6A0O5s9eCd5QFX14Fo0zOfRRBom9CLEMtgh+4uAGnp hItBLTpcNbhr5vL0puRC3Nu9UXQxg5gnoSjtunG2hGh/Ze4GXOeixbxWhh35IHSGLJY/ jy1KtqXiWXNtttwJ7OahzsDlv4qLjMGR5Zs6/YDIHCPdQnW3RlMV/G+aydG4umasSrwK L04SGcJlx31y0fOEZXgoNGtpCuOn5uiXwo4B8DhWiVOFORQD6rllUsckTKEn3EXs0tAR ZjaQ== X-Gm-Message-State: AC+VfDwgaTVhuXLKXHdk/zI1kbzS9WPJnRBBW5T6H3XiS18TJWB9c8np GNeC3/wLib4nzx3XfkN4TINuSv6aJlog8I1xCPmXmA== X-Received: by 2002:a25:d3c6:0:b0:bcb:f3cc:e965 with SMTP id e189-20020a25d3c6000000b00bcbf3cce965mr12582408ybf.11.1687368078014; Wed, 21 Jun 2023 10:21:18 -0700 (PDT) MIME-Version: 1.0 References: <20230529223935.2672495-1-dmitry.osipenko@collabora.com> <20230529223935.2672495-3-dmitry.osipenko@collabora.com> In-Reply-To: <20230529223935.2672495-3-dmitry.osipenko@collabora.com> From: "T.J. Mercier" Date: Wed, 21 Jun 2023 10:21:07 -0700 Message-ID: Subject: Re: [PATCH v4 2/6] dma-buf/heaps: Don't assert held reservation lock for dma-buf mmapping To: Dmitry Osipenko Cc: Sumit Semwal , =?UTF-8?Q?Christian_K=C3=B6nig?= , Benjamin Gaignard , Brian Starkey , John Stultz , Gerd Hoffmann , Daniel Vetter , Jani Nikula , Arnd Bergmann , Thomas Zimmermann , Tomi Valkeinen , Thierry Reding , Tomasz Figa , Marek Szyprowski , Mauro Carvalho Chehab , Emil Velikov , intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org, kernel@collabora.com, linux-media@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 29, 2023 at 3:46=E2=80=AFPM Dmitry Osipenko wrote: > > Don't assert held dma-buf reservation lock on memory mapping of exported > buffer. > > We're going to change dma-buf mmap() locking policy such that exporters > will have to handle the lock. The previous locking policy caused deadlock > problem for DRM drivers in a case of self-imported dma-bufs once these > drivers are moved to use reservation lock universally. The problem > solved by moving the lock down to exporters. This patch prepares dma-buf > heaps for the locking policy update. > Hi Dmitry, I see that in patch 6 of this series calls to dma_resv_lock/dma_resv_unlock have been added to the drm_gem_shmem_helper functions and some exporters. But I'm curious why no dma_resv_lock/dma_resv_unlock calls were added to these two dma-buf heap exporters for mmap? Thanks, T.J. > Reviewed-by: Emil Velikov > Signed-off-by: Dmitry Osipenko > --- > drivers/dma-buf/heaps/cma_heap.c | 3 --- > drivers/dma-buf/heaps/system_heap.c | 3 --- > 2 files changed, 6 deletions(-) > > diff --git a/drivers/dma-buf/heaps/cma_heap.c b/drivers/dma-buf/heaps/cma= _heap.c > index 1131fb943992..28fb04eccdd0 100644 > --- a/drivers/dma-buf/heaps/cma_heap.c > +++ b/drivers/dma-buf/heaps/cma_heap.c > @@ -13,7 +13,6 @@ > #include > #include > #include > -#include > #include > #include > #include > @@ -183,8 +182,6 @@ static int cma_heap_mmap(struct dma_buf *dmabuf, stru= ct vm_area_struct *vma) > { > struct cma_heap_buffer *buffer =3D dmabuf->priv; > > - dma_resv_assert_held(dmabuf->resv); > - > if ((vma->vm_flags & (VM_SHARED | VM_MAYSHARE)) =3D=3D 0) > return -EINVAL; > > diff --git a/drivers/dma-buf/heaps/system_heap.c b/drivers/dma-buf/heaps/= system_heap.c > index e8bd10e60998..fcf836ba9c1f 100644 > --- a/drivers/dma-buf/heaps/system_heap.c > +++ b/drivers/dma-buf/heaps/system_heap.c > @@ -13,7 +13,6 @@ > #include > #include > #include > -#include > #include > #include > #include > @@ -202,8 +201,6 @@ static int system_heap_mmap(struct dma_buf *dmabuf, s= truct vm_area_struct *vma) > struct sg_page_iter piter; > int ret; > > - dma_resv_assert_held(dmabuf->resv); > - > for_each_sgtable_page(table, &piter, vma->vm_pgoff) { > struct page *page =3D sg_page_iter_page(&piter); > > -- > 2.40.1 >