From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qv1-f43.google.com (mail-qv1-f43.google.com [209.85.219.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 01FC73A7F5F for ; Sat, 9 May 2026 23:29:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778369375; cv=none; b=DWlGdjddZVajFLx5QiO9KfaDtUjXnLFYutHocb81XGuI6JDxq4UVsYzOjCJrXRaojtp9gBUGWDWt9sozZLOeWspH+o9NVAhXANQGVj+PpCOjjObSsRyqhYeOmdREhAMYOHBh0Ua8GEVDHUakVB3bI9Y5s/1v64IyYrtQKxSGOnc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778369375; c=relaxed/simple; bh=sce070X88mUVBdz9b9Y4+DDwl2h8zEkLOKh5Apexnnk=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=ngpA3NDaeuV3gcpD6PL8GB6i7cZd61ZT04iaAMHmDINmlio53XORwDlKcpM8kg5DrD1aEVMMxyUs/6q3n+fmWoR2j2SS1WqtcvaaGp25+czYrdPF+Mag4a5/ueoRHI29qY8Qv231tEGdwlG8hgCHJC1N0P1vQBQ5+szPnYVSo5I= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ziepe.ca; spf=pass smtp.mailfrom=ziepe.ca; dkim=pass (2048-bit key) header.d=ziepe.ca header.i=@ziepe.ca header.b=lYCrpwYs; arc=none smtp.client-ip=209.85.219.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=ziepe.ca Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ziepe.ca Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ziepe.ca header.i=@ziepe.ca header.b="lYCrpwYs" Received: by mail-qv1-f43.google.com with SMTP id 6a1803df08f44-8b81586dff3so36172536d6.1 for ; Sat, 09 May 2026 16:29:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ziepe.ca; s=google; t=1778369373; x=1778974173; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=sce070X88mUVBdz9b9Y4+DDwl2h8zEkLOKh5Apexnnk=; b=lYCrpwYsT7pVOt1HlRF5nT361aT46DNbJJKYFMdq6T/55gAh0t8RIXc9ufC94x3Ogq 7qDwFntdWj6guVL8MnZvdi/Kt62vwjBbE1NlHh/gYO1jbpIiHF2BGQFAApaZc5Syveba CP1es1RBwjn+ChsgWRuXeeCEPSnGWIQ92ctGsvWdQ/peXwKz+oKtH662y1hkFYTyqORh Lhq3imTnPYrH3b4vX4ttElE4iVUeVwdR7Dy2QWfqHhllRwLUg3QQRx15QHfiMdGwrInY to8J4tRQd4b5iAlxIzPsyK20DkbPgDnInAPvNwomssZjmAHQ+IQsf6rW56daKTHWGyzt lCrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778369373; x=1778974173; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sce070X88mUVBdz9b9Y4+DDwl2h8zEkLOKh5Apexnnk=; b=psSEakh2AfuO+Xf4G79o+f+gcZcE5eOb4K048IsDZCKnenmOHbbifVyL+Y6ql3OEod opKjY8c3KegCIHgrxHHjCceJcupVOd2wH45sluVwDitwPYKEL8JhSD+iv7Xvg1JH8bm3 umBxHmaJKCKCHbFeXAzEPNOFQ3VNjdptZ70TNA52kX2N8AWdH0LVDqCzR1zqr9LSowvw jsspD5v+USzI5evX+EITktIkdleAk1dfYH+ri7BRnu3IJHYaOKgSreKSeITIu9Hyt/+9 yHK6VTj2ehxpoIlgEkp+eQ240jJU7KoW4gaY+JxPqP0XAoLLgX71sGGiubNXbSf12DYd dz4g== X-Forwarded-Encrypted: i=1; AFNElJ/nC4pi6Ci1NhZ4zPDkrrpCSvxdrMVZtlidk/3Nbo2GTEEY2MgwxTqb2trq5OV+xwcW5tJjEZ9y4q2p3mY=@vger.kernel.org X-Gm-Message-State: AOJu0Yw7fbekMQovISe9w80ZU5hm+RFDB/NuiufdF/lUw2P+iAzHLdTu fT4m9ANR/19i7dtlmYu2fyYa4IftBBeMoa3MoT5f8A8FzRvIsh+KUOe/v1G+dEjVNro= X-Gm-Gg: Acq92OHWGue4vmLXeihR/wVt4u/68asooxW4n8B3EeCVhTNFueuPBwOKdVETGJzIiuS tyyJfppgSV2HZDmBAewleCvAWzl52W0+X6kZ6+S0JjA1Vj/t4QtlWupzGcGTaTVN8yj/I3qBo8u Ws45JygrYTrY8U0FTdDdMGns+/L49KCOm/niQcCfVvh32p2mTIlamX+wBW8vV5nt5rHK+ZqtxPa Vco8EidXnQeWkjll0rPeB6Df1YXARxFIO+kqznV+wJ3LpsXIWdtTHYO4nTV5VgKov8DNbuppkcs XTMkUUR6HXTQIY3COFZfQ8S+sRHhrqpIKyMkg5j+twT/NHqXMqpexwpVJOWiA+N1/9aMT6lklqE vKWFvKqCmqUtzdHcxv12KjIQSDYo6Y0a4gsq4Et6WGLEhLwBlkbuSldzJxS4baJkQI7UrqyaFlP zZcJ8h6mgkilLYc1BhitxWv/clwGqQQT8tNzJTpUY5C1GzQBRQx1Qg03bD1wmpQRlIAudWorQ6W C+yhw== X-Received: by 2002:a05:6214:3a8a:b0:8bd:de6d:c33a with SMTP id 6a1803df08f44-8bdde6dc799mr202539986d6.21.1778369372915; Sat, 09 May 2026 16:29:32 -0700 (PDT) Received: from ziepe.ca (crbknf0213w-47-54-130-67.pppoe-dynamic.high-speed.nl.bellaliant.net. [47.54.130.67]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-8bf3a33fab4sm53837756d6.23.2026.05.09.16.29.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 09 May 2026 16:29:32 -0700 (PDT) Received: from jgg by wakko with local (Exim 4.97) (envelope-from ) id 1wLr6x-00000002NrB-31tQ; Sat, 09 May 2026 20:29:31 -0300 Date: Sat, 9 May 2026 20:29:31 -0300 From: Jason Gunthorpe To: Mostafa Saleh Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kvmarm@lists.linux.dev, iommu@lists.linux.dev, catalin.marinas@arm.com, will@kernel.org, maz@kernel.org, oliver.upton@linux.dev, joey.gouly@arm.com, suzuki.poulose@arm.com, yuzenghui@huawei.com, joro@8bytes.org, jean-philippe@linaro.org, mark.rutland@arm.com, qperret@google.com, tabba@google.com, vdonnefort@google.com, sebastianene@google.com, keirf@google.com Subject: Re: [PATCH v6 04/25] iommu/arm-smmu-v3: Move TLB range invalidation into common code Message-ID: <20260509232931.GJ9285@ziepe.ca> References: <20260501111928.259252-1-smostafa@google.com> <20260501111928.259252-5-smostafa@google.com> <20260501124143.GB6912@ziepe.ca> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: On Thu, May 07, 2026 at 09:40:00AM +0000, Mostafa Saleh wrote: > But that doesn’t solve the problem, which is: At some point, whether > eagerly from the page table code, through gather sync or a fancy > invalidation array, the driver will need to populate a range > invalidation command (tg, ttl, scale...) and this logic is better > shared with the main driver which is this patch does. My point is this patch doesn't share enough. If you do need to issue invalidations then share everything below the top level tlbi entry point and don't try to make a pkvm version of the entire logic just by ripping out the range logic. There is no reason for pkvm to need a different algorithm here. Especially when you get to supporting ATS and multiple devices and smmus you may as well just use the whole thing. Which is why I suggested to copy the entire call chain into a shared file Jason