Received: by 2002:a05:7412:419a:b0:f3:1519:9f41 with SMTP id i26csp985996rdh; Fri, 24 Nov 2023 02:48:11 -0800 (PST) X-Google-Smtp-Source: AGHT+IGpo4+fuyfLRKtIk5Qr2qa7COszyiIsf2W2pwRQnAZ+U4auFyN9EapFxjeO1RZQ5z5uLgkw X-Received: by 2002:a05:6830:165a:b0:6cc:d4f7:e37d with SMTP id h26-20020a056830165a00b006ccd4f7e37dmr2034175otr.5.1700822890705; Fri, 24 Nov 2023 02:48:10 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700822890; cv=none; d=google.com; s=arc-20160816; b=TDxCkvwdrZGSAPuedj7x+azSPCx5Hn/B+58YUo7QxSJa/qk9mZ9HO1Nq7b8YoYJ32v GJyGV/at1Q7v+JvnrFy8oE5w50nyEcdXujahx0UD2v7tp1GN0PVPZ7Zs86vjrV6xzXms 1GSpiVlyc0iqbvtEOo7T06fxNLO6MKFsn220uLyEA5YVNwBvsrbr8iLiF5QwimHo8n6O PUwlLNyYdOdEGhUFJDlO7T/bOBCAfHAZSSiNKV6gfVCQ2/WA1Cqgh19+nyJkUV2r/3f/ BqnRbvPH/F7FivB90AT7g6dxV7aojRoNIilguOicRjS5PSy/RSel3cq2vIsTkaNdcxnU psiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=f8k0TLA7D/rcz0YUldcFMxNF2nyq7CAJz0pPrir0Pco=; fh=MssLVuNFfao3hLv//G39nY917/y/Qe6Ek1xqTmQ5e/A=; b=wOSr8doriE1x8Aawc2CcbNZZEd6GSbeNfYkx1zrxxUOk5Dik5EKd1RisY+16Kiq/tV XeGRmsofDtvB07J4xiQxG72BRPPJQgF5PPaXt0O+Hl0Cvk1F7HfYuh/M7YcwAPirTyd+ WXo5CR1Ihj04hgSKTH+tHGaI/93xsSHAKtnlcZXPL3O5vMaALv+wbH2nIFukF9qDn1yA ohWXMZboIprDDTUe2U+RyvkF+6Ru/ofyVusryK8RrolEOuhwlAvImmV3pT+DfpiJ+Rkv PeiYu91ZOj42TQbqfCm6ZiBmCk5VnktgEQV7liLd8BAoJll1kN0iWGNKEqznK2I+8YWv 3N7g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=T1APQeHx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from howler.vger.email (howler.vger.email. [2620:137:e000::3:4]) by mx.google.com with ESMTPS id s13-20020a63e80d000000b005c212ebb55csi3293826pgh.691.2023.11.24.02.48.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 24 Nov 2023 02:48:10 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) client-ip=2620:137:e000::3:4; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=T1APQeHx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:4 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by howler.vger.email (Postfix) with ESMTP id 2856180A2184; Fri, 24 Nov 2023 02:48:08 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at howler.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345637AbjKXKry (ORCPT + 99 others); Fri, 24 Nov 2023 05:47:54 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45724 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1345606AbjKXKrx (ORCPT ); Fri, 24 Nov 2023 05:47:53 -0500 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 639A792 for ; Fri, 24 Nov 2023 02:48:00 -0800 (PST) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B34B5C433C8; Fri, 24 Nov 2023 10:47:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1700822880; bh=LSo0ZQQHC/IsC9xQJ/PVzcvZKxNomMboWXtQ7MmvXeE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=T1APQeHx8vfRJIlPG7GCFaf26wYHmGOanpVv73ATBPXRTYdco3PosME2XpLWX4mus WG3RqeBA0h6xhaUz1FF2VGA+Dd4KqTDlshUwOPsGD2Ru7FLvxwT4rhFnFrZOUQLuk9 x706MGYMsRvtF40qvFhJcUDZ8OfNy9HHbXSIj3UV/gwXqazNAwmqH286hIBptKtgn+ HOC2w3FqnnzPMwpm/iJBbt5vh95z1ALZUExRdQC8Z4YzoEfFH1xhDVhWErhMniP21X cS/HZ/3fSdc3NK4RW1w2jVK/qGxidNoKfAILkBTVjiCw/bbqMSZHcyYLvFTZ2qmxqi baEGyJBJAjMeQ== Date: Fri, 24 Nov 2023 11:47:57 +0100 From: Maxime Ripard To: Dmitry Osipenko Cc: David Airlie , Gerd Hoffmann , Gurchetan Singh , Chia-I Wu , Daniel Vetter , Maarten Lankhorst , Thomas Zimmermann , Christian =?utf-8?B?S8O2bmln?= , Qiang Yu , Steven Price , Boris Brezillon , Emma Anholt , Melissa Wen , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, kernel@collabora.com, virtualization@lists.linux-foundation.org Subject: Re: [PATCH v18 08/26] drm/shmem-helper: Add and use lockless drm_gem_shmem_get_pages() Message-ID: References: <20231029230205.93277-1-dmitry.osipenko@collabora.com> <20231029230205.93277-9-dmitry.osipenko@collabora.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="i4hob2pzcy5qf62n" Content-Disposition: inline In-Reply-To: <20231029230205.93277-9-dmitry.osipenko@collabora.com> X-Spam-Status: No, score=-1.2 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on howler.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (howler.vger.email [0.0.0.0]); Fri, 24 Nov 2023 02:48:08 -0800 (PST) --i4hob2pzcy5qf62n Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Oct 30, 2023 at 02:01:47AM +0300, Dmitry Osipenko wrote: > Add lockless drm_gem_shmem_get_pages() helper that skips taking reservati= on > lock if pages_use_count is non-zero, leveraging from atomicity of the > refcount_t. Make drm_gem_shmem_mmap() to utilize the new helper. >=20 > Reviewed-by: Boris Brezillon > Suggested-by: Boris Brezillon > Signed-off-by: Dmitry Osipenko > --- > drivers/gpu/drm/drm_gem_shmem_helper.c | 19 +++++++++++++++---- > 1 file changed, 15 insertions(+), 4 deletions(-) >=20 > diff --git a/drivers/gpu/drm/drm_gem_shmem_helper.c b/drivers/gpu/drm/drm= _gem_shmem_helper.c > index 6e02643ed87e..41b749bedb11 100644 > --- a/drivers/gpu/drm/drm_gem_shmem_helper.c > +++ b/drivers/gpu/drm/drm_gem_shmem_helper.c > @@ -226,6 +226,20 @@ void drm_gem_shmem_put_pages_locked(struct drm_gem_s= hmem_object *shmem) > } > EXPORT_SYMBOL_GPL(drm_gem_shmem_put_pages_locked); > =20 > +static int drm_gem_shmem_get_pages(struct drm_gem_shmem_object *shmem) > +{ > + int ret; > + > + if (refcount_inc_not_zero(&shmem->pages_use_count)) > + return 0; > + > + dma_resv_lock(shmem->base.resv, NULL); > + ret =3D drm_gem_shmem_get_pages_locked(shmem); > + dma_resv_unlock(shmem->base.resv); > + > + return ret; > +} > + Wait, so the locked suffix is to indicate that we need to take the lock before we call it? I think that's the opposite to all(?) the naming convention we have Especially since the function name doesn't describe what the function does anymore, but the context in which to call it. I'm sure if I was to use it, I would have gotten it wrong, or at the very least been very confused about it. Maxime --i4hob2pzcy5qf62n Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQRcEzekXsqa64kGDp7j7w1vZxhRxQUCZWB/XQAKCRDj7w1vZxhR xTOjAP4kvIUjsI4/bd6ZVYnMdk1Vochj+P/U8iB648tf1v7cIgEAnBJRt077kVOy hzkjMQ1cHLWctzPgwzfxAIRy1scsxQs= =GYdZ -----END PGP SIGNATURE----- --i4hob2pzcy5qf62n--