From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 973BBC48BF6 for ; Thu, 22 Feb 2024 00:27:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EA8406B0085; Wed, 21 Feb 2024 19:27:46 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E57946B0087; Wed, 21 Feb 2024 19:27:46 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D203B6B0088; Wed, 21 Feb 2024 19:27:46 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id C0A936B0085 for ; Wed, 21 Feb 2024 19:27:46 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 8C49480C35 for ; Thu, 22 Feb 2024 00:27:46 +0000 (UTC) X-FDA: 81817551732.19.88C0BAB Received: from mail-qt1-f174.google.com (mail-qt1-f174.google.com [209.85.160.174]) by imf14.hostedemail.com (Postfix) with ESMTP id D025B100005 for ; Thu, 22 Feb 2024 00:27:44 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=soleen-com.20230601.gappssmtp.com header.s=20230601 header.b=OqdKkLQC; dmarc=pass (policy=none) header.from=soleen.com; spf=pass (imf14.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.174 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1708561664; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=aQ94+F18kEzvELBZYdN+dTOkgUJXZz4kfGzznQZui6Y=; b=lJopnPmG4zFC+bIgNaP162ivQFa00hbus3ZjeeHveFi9mpYB++BeJEJ0GW8QC9MrTtgRBw XEUhBu6u00+Ubmp5EtPJvaJ847rWZIFODwtemVmXsLUuT1Gwq6uE2H9twWLoHn9ZrYJIDv ceq8Q8PafpzqAYsQJL9YGom8vXplT6g= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=soleen-com.20230601.gappssmtp.com header.s=20230601 header.b=OqdKkLQC; dmarc=pass (policy=none) header.from=soleen.com; spf=pass (imf14.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.174 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1708561664; a=rsa-sha256; cv=none; b=Zt5Jb/SmkxQCAW4uYicHawkupDPFhCmCnujWXc9NDVFjWDL4E3gXr9CeYGY8yK1MMiVeta 9eNmQBDA2UD4XH6GBRyfgMHoMTbOCUydWeSH+LZOQ0wPBlaBy/RkS26Jj3+UF1QZQizx2a KMgnBi8YFOYtyn3qPVl8ynNxpeCmuOs= Received: by mail-qt1-f174.google.com with SMTP id d75a77b69052e-429f53f0b0bso53122421cf.2 for ; Wed, 21 Feb 2024 16:27:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen-com.20230601.gappssmtp.com; s=20230601; t=1708561664; x=1709166464; darn=kvack.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=aQ94+F18kEzvELBZYdN+dTOkgUJXZz4kfGzznQZui6Y=; b=OqdKkLQCAX90qJh0vfISqqX/6BspTH4kN+H4Z5Ry05EK/qN2vN10p8uoFr4Eg1oFgj pa9qIVcpMCuWX08NPJpM6eDzXMKFqxQrupWo3y1/rDusfyBtXk38ymKui65W5hB6POVE zfZMhEAjASswazlMnKGrTwRS/OEyzvzjwVRo0Iqv2e88bQ3InhlGxpwER/G+e9lhy2b7 PhTiVAKGKYcghZrlHgeSXFeJXrQGYP1Gz+jBCkeruhReqPVDz2KGppGaDT/AWgN+z07S syPhUhxVWAMZN9jr2FbMLCLmthdTTQgP2PwdUQCYgfLEbyyzMeaBHMZ2+4AOUhVnoOKC vQ6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708561664; x=1709166464; h=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=aQ94+F18kEzvELBZYdN+dTOkgUJXZz4kfGzznQZui6Y=; b=r2yNxlaHnn+Rp+E+KFoZf8l3NC69UqWPhuJ6tVkS1nfueC1ukFsIC0zgFYv4dTUMl5 6eGJN0nC2O7Ky+MtmLhnBRkO+Sa2EZ/PNe4uXYw5wSa2NbUlnhlErCrF87HfhIo0NEHT GpruQ0y+AHlo0WF/vBSojsQgBUm6ABesJKUDhFeFa/gBC3DSe+NaIobXVhmefMOKu7ec 524r4beiBVdQCAmS7wHu+sug7hU+4MLTfNgCbyWnkIpGCg7Ce4lmLlRgM5wkceEhBtaB BHz1R2/bdjEv8/glE5mmzHKDbIP3sikaKh+F4Ih/nrR4xfNUfFTx60giqS135augP8mV QebA== X-Forwarded-Encrypted: i=1; AJvYcCXKGvs/9waEkw0WhKUHuHV/HeQ3nR5wKgAHssSrE4xsWix53c57ddNNmvu/RN+GCkLLO+TcxAYtp/1z8eE1IZSm6MQ= X-Gm-Message-State: AOJu0YxI40eDo53H6cSIJhHu4AuxqSVzrxmRH04AftM18KAwTeYGV+Y1 VfDB/2/LgBYgoTB8Sd7XtXMjNC7QfPf3K5VCloe8Tk286ct5EcDFwCTclNyzrNnmEv1LmfqvGb5 aSgD4+7jEaC7V+3xHIUQT4+g/ku8lBDzP378nKQ== X-Google-Smtp-Source: AGHT+IGOmZsSpC2Y4SyYnlcRyS9zDA76SD5RvGLDRLTwS53fSOkMzROnT7IsmFNQ2MsELKRVDDNbuO1hZG2u+Llmnq0= X-Received: by 2002:a05:622a:1391:b0:42c:6fef:90e with SMTP id o17-20020a05622a139100b0042c6fef090emr25244584qtk.65.1708561663980; Wed, 21 Feb 2024 16:27:43 -0800 (PST) MIME-Version: 1.0 References: <20231226200205.562565-1-pasha.tatashin@soleen.com> <20231226200205.562565-11-pasha.tatashin@soleen.com> <20240213131210.GA28926@willie-the-truck> <20240216175752.GB2374@willie-the-truck> <20240222002152.GG13491@ziepe.ca> In-Reply-To: <20240222002152.GG13491@ziepe.ca> From: Pasha Tatashin Date: Wed, 21 Feb 2024 19:27:07 -0500 Message-ID: Subject: Re: [PATCH v3 10/10] iommu: account IOMMU allocated memory To: Jason Gunthorpe Cc: Will Deacon , akpm@linux-foundation.org, alim.akhtar@samsung.com, alyssa@rosenzweig.io, asahi@lists.linux.dev, baolu.lu@linux.intel.com, bhelgaas@google.com, cgroups@vger.kernel.org, corbet@lwn.net, david@redhat.com, dwmw2@infradead.org, hannes@cmpxchg.org, heiko@sntech.de, iommu@lists.linux.dev, jernej.skrabec@gmail.com, jonathanh@nvidia.com, joro@8bytes.org, krzysztof.kozlowski@linaro.org, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-rockchip@lists.infradead.org, linux-samsung-soc@vger.kernel.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, lizefan.x@bytedance.com, marcan@marcan.st, mhiramat@kernel.org, m.szyprowski@samsung.com, paulmck@kernel.org, rdunlap@infradead.org, robin.murphy@arm.com, samuel@sholland.org, suravee.suthikulpanit@amd.com, sven@svenpeter.dev, thierry.reding@gmail.com, tj@kernel.org, tomas.mudrunka@gmail.com, vdumpa@nvidia.com, wens@csie.org, yu-cheng.yu@intel.com, rientjes@google.com Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: D025B100005 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: 6iemn74r6psaxctfo9akd7ijhgdyg1aa X-HE-Tag: 1708561664-791059 X-HE-Meta: U2FsdGVkX1/BmqRu0uC3clFCwisQP8mJzAruHnyumAPGo2eSslT9H7lWvnw9CTu4hlNG1ePnyeeGFVnW5osA8JoDChs7CpMcUEgaX3p2yJnKxow9MCyylXW4ywQWU6A+rrPQvKuOMKIiRQvy39nwhv4RJC7IE7xzmJ3D/IbSHIrh/Wluxdr/SN7eTs/B38KLEgpYX+zLSYKTF7FbIk8apC42j/dL736AxcVyqsxcFQ3h41JoOhn+uDMmCTvTBAsABVBk5e54azbr88UioO5hWB5ckJALwSR/rRxnxlVmsDZ5r59MlcX13qz/MErxNj9HBj/EuxGdpTFJEsmuNjP2mj/QxPzYeSQK76QY5lTYhWgZKd4USHFUTbi3eiyoGZVGjN2dRoq4VtjAoSfSNayKm5D9q1yHZO1voPYe3mqJ08QUHA7w4Ne/0pIZzEJ5E547uonCbdrN8LQtWMSGsX3PSi+gSmTxTOE+b9gXhfMXW8Z/rJEixkec22kLVjMJUeTNtvYtBBlLOrHY93VXEPnQC9myHYbZXm01Ca34lgm9xR00IIUrTMOpIXY4/PO/zeAbFELVnUnA7UbQOAGxfSSavfcNYhdYFf1esbhfgsdLXl9AQ90yOxMitPyk6eVKUEgTkkUMycg5W6E+matfgoWSYczkHrsegg2F18E9hwQwLdhxZW4CS5QzzwYZSOuO0FROtGiAkzePJLw2S0HIcra5QK8aaQOdaOUzdpR4+WD4pbBhR3YsziVyMy58Mq3JjiMqNNdTsD13jzNTER/dXJMzhVhxcihkqU6Pqb3DIJaGj1uo1CT0FKc4ginn/hsizJj34xxfKsDuHv1xYi6U0PCG4yvLVL1Hq3V0R6MWvR6qY2k9FbGEzN1/u8uh1GkNPtGP8I+yTkwpuNBuU+pF9bDTbIl72W2yMkqKfhKt1zC0QDIgbsP3tN/9Rfo6xeS9Mk1FKmxGjvJuegLaxfKgToY 52QMVXJa GPqwvuwt6m9LAXLHgLuQIS7N06krdEJXtOHLrPYMcPIEca16GNoKXKsBQtFHa4fI5FkEzAE/nNw40oNWuzft77AvTLk3RYf1sO1dCde/nKLCsV/Q6B6FoX4FU7JzxJiVGQBN7X+ohL9Qjglfq0ClbXz7cpZ+0g76/gPkED1OxHPrlr3o7t4uttkca/bN6QXqK5hNRPjbKXDe06rQVHxnp3fjNZuT2U5ET8xgoDfyqccfcC8Mp/MIMqpKdPpftTqt2FrC1NodkUev1YWo2ppK4F+VerYeTATYCk4N8eIV0lLgEbfs/W1A6nc7xtw9I++vPKil/u0eWAoYlcWUd6JUr/wNoR2UpJX/At+3w636rz2bUo8E= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: > > > > > While I can see the value in this for IOMMU mappings managed by VFIO, > > > > > doesn't this end up conflating that with the normal case of DMA domains? > > > > > For systems that e.g. rely on an IOMMU for functional host DMA, it seems > > > > > wrong to subject that to accounting constraints. > > > > > > > > The accounting constraints are only applicable when GFP_KERNEL_ACCOUNT > > > > is passed to the iommu mapping functions. We do that from the vfio, > > > > iommufd, and vhost. Without this flag, the memory useage is reported > > > > in /proc/meminfo as part of SecPageTables field, but not constrained > > > > in cgroup. > > > > > > Thanks, Pasha, that explanation makes sense. I still find it bizarre to > > > include IOMMU allocations from the DMA API in SecPageTables though, and > > > I worry that it will confuse people who are using that metric as a way > > > to get a feeling for how much memory is being used by KVM's secondary > > > page-tables. As an extreme example, having a non-zero SecPageTables count > > > without KVM even compiled in is pretty bizarre. > > > > I agree; I also prefer a new field in /proc/meminfo named > > 'IOMMUPageTables'. This is what I proposed at LPC, but I was asked to > > reuse the existing 'SecPageTables' field instead. The rationale was > > that 'secondary' implies not only KVM page tables, but any other > > non-regular page tables. > > Right, SeanC mentioned that the purpose of SecPageTables was to > capture all non-mm page table radix allocations. > > > I would appreciate the opinion of IOMMU maintainers on this: is it > > preferable to bundle the information with 'SecPageTables' or maintain > > a separate field? > > I think you should keep them together. I don't think we should be > introducing new counters, in general. Thanks Jason, I will keep it as-is. I will send a new version soon with your comments addressed. > Detailed memory profile should come from some kind of more dynamic and > universal scheme. Hopefully that other giant thread about profiling > will reach some conclusion. +1! Memory profiling is going to be a very useful addition to the kernel. Pasha