From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8F8562E229E; Thu, 28 Aug 2025 09:27:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756373258; cv=none; b=f2Frc3uMmK2ETn30M2KF98U0YdDP26btcsjQ4L8o4RQZ/6Bk5Vdw2XPnX3zS4keB1bO5NqL/CgjEYIwx1t6N/EkBhRe8BRbHB3vfptDjmqwDlteqm4HUG7WvYuImRV0N4PvUGFawZcpGK6rOM308xxopodWDZojbeR2ZSCgEaY8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756373258; c=relaxed/simple; bh=r/M9f7QJp9Hkjjyl4KwvKc1dnUJA0dXw9egGgYD0RgI=; h=Mime-Version:Content-Type:Date:Message-Id:Subject:Cc:To:From: References:In-Reply-To; b=gBQ01x0YOARoI0PDEr1rYCkRT/zl0zRbF+lPfMyZ3SUYb1hv2xGww/iP9z59o4MqZ5gbAVrBsG+CIhHZjLJTeoTZVXeYLx5+eTWd4ywHREXwgsPzXetrj6LM/75ILSPYnpeMARoU35gcBdZz3cGrj3dH7lm2cCpstY8I7I9kaJY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=WMTyq+k2; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="WMTyq+k2" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1EC04C4CEF4; Thu, 28 Aug 2025 09:27:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756373258; bh=r/M9f7QJp9Hkjjyl4KwvKc1dnUJA0dXw9egGgYD0RgI=; h=Date:Subject:Cc:To:From:References:In-Reply-To:From; b=WMTyq+k2jCs5omx99TLS9vPAOlxhd6rtCZ68Eu+MheAwiGYH54rebvMyh6HMQIFDI f5OZ9weYfDXvjRPDubWjfohiH4s4EEurx6tdQwozVtMQza8EWO0B1/1b/GSGd7ixuY CueaEXLUO8eRXGUta8R8zgVjaSPYZR5GD/xKanv4Kgmv43iAsdqeg+NWh5sQQvgsZl 3lDeAH0ISnZTB9EWFS4BjWr5HFeVoGGkeV8wCRSaQyIV1zyxujJfHe6mmywkGTyCv+ t2l42e7+90zXuqpP/AgdqDukvL6jYCEs0XVHdO+jZwsVQZfS8Ny0wAVbOX/sTrvjr+ FCDfYs4tL7tGg== Precedence: bulk X-Mailing-List: rust-for-linux@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Thu, 28 Aug 2025 11:27:32 +0200 Message-Id: Subject: Re: [PATCH v3 3/3] gpuvm: remove gem.gpuva.lock_dep_map Cc: "Maarten Lankhorst" , "Maxime Ripard" , "Thomas Zimmermann" , "David Airlie" , "Simona Vetter" , "Boris Brezillon" , "Daniel Almeida" , "Steven Price" , "Liviu Dudau" , "Rob Clark" , "Rob Herring" , "Miguel Ojeda" , "Boqun Feng" , "Gary Guo" , =?utf-8?q?Bj=C3=B6rn_Roy_Baron?= , "Benno Lossin" , "Andreas Hindborg" , "Trevor Gross" , , , To: "Alice Ryhl" From: "Danilo Krummrich" References: <20250827-gpuva-mutex-in-gem-v3-0-bd89f5a82c0d@google.com> <20250827-gpuva-mutex-in-gem-v3-3-bd89f5a82c0d@google.com> In-Reply-To: <20250827-gpuva-mutex-in-gem-v3-3-bd89f5a82c0d@google.com> On Wed Aug 27, 2025 at 3:38 PM CEST, Alice Ryhl wrote: > #ifdef CONFIG_LOCKDEP > -/** > - * drm_gem_gpuva_set_lock() - Set the lock protecting accesses to the gp= uva list. > - * @obj: the &drm_gem_object > - * @lock: the lock used to protect the gpuva list. The locking primitive > - * must contain a dep_map field. > - * > - * Call this if you're not proctecting access to the gpuva list with the > - * dma-resv lock, but with a custom lock. > - */ > -#define drm_gem_gpuva_set_lock(obj, lock) \ > - if (!WARN((obj)->gpuva.lock_dep_map, \ > - "GEM GPUVA lock should be set only once.")) \ > - (obj)->gpuva.lock_dep_map =3D &(lock)->dep_map > -#define drm_gem_gpuva_assert_lock_held(obj) \ > - lockdep_assert((obj)->gpuva.lock_dep_map ? \ > - lock_is_held((obj)->gpuva.lock_dep_map) : \ > +#define drm_gem_gpuva_assert_lock_held(gpuvm, obj) \ > + lockdep_assert(drm_gpuvm_immediate_mode(gpuvm) ? \ > + lock_is_held(&(obj)->gpuva.lock.dep_map) : \ NIT: I think this can just be: lockdep_is_held(&(obj)->gpuva.lock) If you want I can fix it up on apply. > dma_resv_held((obj)->resv)) > #else > -#define drm_gem_gpuva_set_lock(obj, lock) do {} while (0) > -#define drm_gem_gpuva_assert_lock_held(obj) do {} while (0) > +#define drm_gem_gpuva_assert_lock_held(gpuvm, obj) do {} while (0) > #endif