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 32C9834F46D; Thu, 16 Apr 2026 21:45:46 +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=1776375947; cv=none; b=iD2ZrB6HLH2zvwOKs5M2rZPhUPcUA2ALAXfBD5J0z35QsLmOXSn6/OZkBeMa1VUYUkeqhi3+XUUBwXii2YMgLJgIRqr91bkSp+0HxviCt1q1fh7L5bXFjSMp7gQOhPY6zMaAslijiS3yegtzk2eV4/HErtBZVDFYbr+4UVpTA40= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776375947; c=relaxed/simple; bh=/AIHtk5dGaoSaB87dJf/1eE9xbVWkZ5BUf/GM/VtbXg=; h=Mime-Version:Content-Type:Date:Message-Id:Subject:Cc:To:From: References:In-Reply-To; b=tsW+12fbnqsNEu5q9+QHDwlKQB575F4eQ2RId4hXBNjC8I1tThmUM0xWFOtK1c2ARpEL1JMF1SoksetjmM99qKojU4rX4J+7J3WRAAadhDGuETZWN7Zm+qvGZIXPsWQHdVRTTXe4nMHoObymN7Yo9mb5vVSNraU8xLUIjnHbkLg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kshxNV/M; 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="kshxNV/M" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E6DB3C2BCAF; Thu, 16 Apr 2026 21:45:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1776375946; bh=/AIHtk5dGaoSaB87dJf/1eE9xbVWkZ5BUf/GM/VtbXg=; h=Date:Subject:Cc:To:From:References:In-Reply-To:From; b=kshxNV/Mf/SAOfzwvPLHm/KFEujozISoNfYRy6l3ouTWw9jmEQXcjQ+iGPsd6zP5c ZEAWOkywRdxIlMW1KuPs1t3NkXIMbaKjh29VPqTvcbgocmGxgcTswvkFoPSc3KWS8W 08CZV0yL+7c0ow8wCZhluF2S/K8P/wzyAW999r0xg/l1Ubd3AId9oLABnxMLA4X/Sh MkxiGhj9qoMuWpHjVGAjnZS/L0O6cxr8QUFQ+NCutGBi2wJLWRkNiZAt0Wi5RNZuKC nDAW7K/hGMdCp2YooKNSgWuIXcFCuILbKSQ4ltxO5bkZC5EHEzCXvs4V1eqR+afVGz SP/rfsLzw0Avg== Precedence: bulk X-Mailing-List: linux-doc@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, 16 Apr 2026 23:45:35 +0200 Message-Id: Subject: Re: [PATCH v11 07/20] gpu: nova-core: mm: Add TLB flush support Cc: , "Miguel Ojeda" , "Boqun Feng" , "Gary Guo" , "Bjorn Roy Baron" , "Benno Lossin" , "Andreas Hindborg" , "Alice Ryhl" , "Trevor Gross" , "Dave Airlie" , "Daniel Almeida" , "Koen Koning" , , , "Nikola Djukic" , "Maarten Lankhorst" , "Maxime Ripard" , "Thomas Zimmermann" , "David Airlie" , "Simona Vetter" , "Jonathan Corbet" , "Alex Deucher" , "Christian Koenig" , "Jani Nikula" , "Joonas Lahtinen" , "Rodrigo Vivi" , "Tvrtko Ursulin" , "Huang Rui" , "Matthew Auld" , "Lucas De Marchi" , "Thomas Hellstrom" , "Helge Deller" , "Alex Gaynor" , "Boqun Feng" , "John Hubbard" , "Alistair Popple" , "Timur Tabi" , "Edwin Peer" , "Alexandre Courbot" , "Andrea Righi" , "Andy Ritger" , "Zhi Wang" , "Balbir Singh" , "Philipp Stanner" , "Elle Rhumsaa" , , "Eliot Courtney" , , , , , , To: "Joel Fernandes" From: "Danilo Krummrich" References: <20260415210548.3776595-1-joelagnelf@nvidia.com> <20260415210548.3776595-7-joelagnelf@nvidia.com> <20260416212312.GA667928@joelbox2> In-Reply-To: <20260416212312.GA667928@joelbox2> On Thu Apr 16, 2026 at 11:23 PM CEST, Joel Fernandes wrote: > Btw, I changed this to doing it in 2 phases to avoid holding the RCU read= lock > across read_poll_timeout, which can sleep. Will squash it in for v12. Why do we need the try_access() dance in the first place? I assume this end= s up being called from the BarAccess destructor? If so, I think this is solvable. Gary and me are currently working on higher-ranked types and a chained Devres type. With that, such use-cases should be cleanly solvable without the need for try_access(). Besides that, I can't find where BarAccess is ever constructed. It already has a lifetime 'a for &'a Bar1, so I don't see why you can't do = the same for Bar0. But again, I don't see this being constructed and I'm not sure the whole construct works in the first place.