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 51207C46CD4 for ; Wed, 27 Dec 2023 10:06:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C378A6B0071; Wed, 27 Dec 2023 05:06:05 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C0E726B0072; Wed, 27 Dec 2023 05:06:05 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AD6D46B0074; Wed, 27 Dec 2023 05:06:05 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 9B21D6B0071 for ; Wed, 27 Dec 2023 05:06:05 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 673301A071C for ; Wed, 27 Dec 2023 10:06:05 +0000 (UTC) X-FDA: 81612167490.17.2895C65 Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) by imf12.hostedemail.com (Postfix) with ESMTP id 8970B40006 for ; Wed, 27 Dec 2023 10:06:03 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="CaKu/kXN"; spf=pass (imf12.hostedemail.com: domain of bagasdotme@gmail.com designates 209.85.214.176 as permitted sender) smtp.mailfrom=bagasdotme@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703671563; a=rsa-sha256; cv=none; b=Y2eNurCxGzV9kcq62GI/TzbIADUjv3RFEpAlLAsIKb51NY2Z6nAMcroqNLWBR4MZpyQ6m/ khptk1F14Mdqzh1HXLgBI5AFxUhU0oR+E9EI7Tkv28qtWTsN+69Wgo5uFpDbeqI9ALNwb9 uRcULXLdH+am7QB6R6FRFGJWeZ5u3GQ= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b="CaKu/kXN"; spf=pass (imf12.hostedemail.com: domain of bagasdotme@gmail.com designates 209.85.214.176 as permitted sender) smtp.mailfrom=bagasdotme@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703671563; 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=XEw1e9XOhK8loeWvp+2JpD1B3sTf7+dz1HWvX7OkY0o=; b=xlX2Zl5zVPlMrbuPdFFsGxwAvGaaX5nvpa7rP/U5L5NkmqQg+ge22agLEd/Zk2D70/fa4W HNyvyz3DwaYAi7ghZWxe8m+CZntzlllmiZjUT1BCNEJ9pD//wKUjQYC2aIfqPxq5Y28i76 kIcovzWHPjILj6Jx9IlqXmSicr9sSq0= Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-1d3ef33e68dso33293175ad.1 for ; Wed, 27 Dec 2023 02:06:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703671562; x=1704276362; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=XEw1e9XOhK8loeWvp+2JpD1B3sTf7+dz1HWvX7OkY0o=; b=CaKu/kXN3Ikwg/3If+2eomDg6ce3Ns0J4VgH/V3C908/4hcgYqjjLRim/TrtN6mM/E PnDUWQA5C3OL9iggocMmB8CMOWA6MmiDnW4rhY4vyz17xdpJDlZHhGZZA5MBOfaX3dTl jMelQlA70Y+N/TQn9JwJtled/8T2dTcyBfngZSmB71F5M2j2X0PFNHfX2MXhnc+XiPcw 6yl2GZRX7HGI7Kj2wgGNJoKPSw1nWw/eEdH1UpuSenzDUOHFJ2/uyZzEriR9n8FD/388 j3yw8ckRjeRsl7MyVjLQ9s9r1AENRk/a8CNSGIvNzE9+2JWcJZAXXJ3Li/AfaOHB7LbF tbxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703671562; x=1704276362; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=XEw1e9XOhK8loeWvp+2JpD1B3sTf7+dz1HWvX7OkY0o=; b=kymd3CMK/MNTw6QvrUUCRGGcljEzDn59tiqtnKNVxZwszhfiErvANgTHUjKQdrMuHx ibSkmfOnaPcPgZ8BIR3uexsiSB7j6FNbr8CM8WR/miU4r7KwEDo63KqPHSMD2DXLoa90 2FTK84b5EbHNTTddzFK7Fl/kAyIR6WjpoPIGNqnBD8svBHtaMpFUo8AVlaBhaUskKixh 0NQpDbD2zjCCX1i9y3o/LJ7exdkZ0Ghqm/ykmxdg+9SxX6IA0RQSJs00/f5zWP0Zoytq AqUv1ymVlO3xuXDexdf3UrnB9Dj+OPIYzJx2nkyjmE28qMUq7nvFjw5M5xN0HTEim9JU 7KKw== X-Gm-Message-State: AOJu0YxqZATyjpuX+EJUr1B1mZno4dNwsVZdNrD9P3exj5ML8UBB3Adj MeQHNLshawA2snSJf7T+rpw= X-Google-Smtp-Source: AGHT+IE0A23XYDmcU01t8+uFS8Gp29gePwIgov5tuUl0DPEmBiz4Ke/Z418pTWmSQ1nONlmsPn7+Xw== X-Received: by 2002:a17:903:2988:b0:1d4:1044:87d4 with SMTP id lm8-20020a170903298800b001d4104487d4mr14263741plb.19.1703671562158; Wed, 27 Dec 2023 02:06:02 -0800 (PST) Received: from archie.me ([103.131.18.64]) by smtp.gmail.com with ESMTPSA id d5-20020a170902cec500b001d07ebef623sm11577837plg.69.2023.12.27.02.06.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 Dec 2023 02:06:01 -0800 (PST) Received: by archie.me (Postfix, from userid 1000) id E15C51221DDFD; Wed, 27 Dec 2023 17:05:57 +0700 (WIB) Date: Wed, 27 Dec 2023 17:05:56 +0700 From: Bagas Sanjaya To: Pasha Tatashin , 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, will@kernel.org, yu-cheng.yu@intel.com, rientjes@google.com Cc: Josh Don , YouHong Li Subject: Re: [PATCH v3 00/10] IOMMU memory observability Message-ID: References: <20231226200205.562565-1-pasha.tatashin@soleen.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="vZmYjWY6Cm0pkfHC" Content-Disposition: inline In-Reply-To: <20231226200205.562565-1-pasha.tatashin@soleen.com> X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 8970B40006 X-Stat-Signature: qr7tmfeitfjzw9unjsp3epngsgg4jc53 X-Rspam-User: X-HE-Tag: 1703671563-980786 X-HE-Meta: U2FsdGVkX1+d4PsgBaa0HRWosHLb6MqKfze0rOVgaGmdMje5zN+ahmSYTbLRvCDNAgOMeB88AMQi+F+h5vbVXGtG7pjENK2CGZYNQ5D6s1HSKfXJ+ovFZOs1mB/BgkWdN8FY5n+0GVUoo/RoTjET4xvn/h0kmGHkKfAqSpa6IB/RqgOIj7yWyDJo2DxwaPrWOzv6gNxCFi3OgUxw/JzxrtSC0H2yBQ+7kN8E+1lx6PL4IIfFN5t/iEte5YDrDk8F12BgY8/hDqRahMAageAfHwbMw/HaFq4GksOgtnSozFC7kS2LKZ2J1cCwT8PpJ9jUMaS2Gxu/aBq91mEvg+2j0CNwlTY+Ele+N5+eXVo5MYtrtfoaf2cuPA4+ZQ0Y8IzlxVgc+0QTJM21psRf/BEfRFtwdtqwPSI+8VY3guyKp+85rBkT4RHU69WdQF0/7Ud5K9g+6YOiaz8dvVWBwrk3iN63wngIqzoNF8b8V69SSH0P1wHzVvMMvVCtHOXiFT2Je1udha+2G6YgAGvEIxe68lUYquwwq2W9u3uVYz7yo74ANlLBlwzR/mLnfr/8sc7o9NWp6AnGrmbZ5J0bVCFKvpwiJOH2oftmwFe02I57r8A6QcMcQT9Hf/8A6fvMY1DUflivcflAF13poEqTz2PTBwO8aHhZkTPJAa0Zvyuw4lcXD1KL+U0fK+NaxmS5BpHVka55Hn8KE2em4KE6VzeK4zv3vfirNXi89YMvMnpN6f+3dKKqt6Q0M/5AhJHDz0RJtZF2s+fGYGZgbRLLS9IqM14jLmE8MV5hUj3ni8Hcg9L8jjxN6Q68463GE1R0ADflX5d43r10jgryaWbqMRVzk0aXLd7BrQm851lUsJOjN2HMf0DUCy3ONExNfmqWqa32npTOPHsJwNNhJWwpIICaZ5yqc3LZsZoG8TwDNe1qaRMcA7usYRPejENUsqwl//+ylDff8e5OcKyZHFUF88M EW51IgPq OfIGuAhBGVD8gIZDJRy6OQ8tXmKDYMha5hWVMLOt6ewl+DsvzTHA4eV6dIo946zSEFP+CB6VRjdqVhgyOfWYtE/1eeTx5pqTfPTp4gi0hVbZisbMVVNSqSN97f9/IAy2Rmg0UAf9xsZaOiG+WDy/gNUZfBTjQRkBMRdnN/ShSD3oKUXiRYjpuZ8MrhvCgyKs7gT2wUY5bRgbx1nFJubeQeFUd2rYSX5eM5GSEm6gu6LRr0IU9xCLIAUZaj2i4IPOquNyi01oTwCb/LxeYf+qA8z9B+PCpVePNG8RwfRgT6nMaQPQLj/XMVTY6w0dVC8cXu+TNnZJvE8WxWzMiMdQ7tem6aqDOCmr+hoC10GQlyq1jt7oxqTtEzBk214p94Lm0fySf7EMKaPivbNw/cxYSRMLD6P9dbHWUXOX74jENQ+Q2Eze1yyXGS1oVMDQhW21ixTaLhiLN50cmR3/1ryyvemmftoRJlOZNAKxFe+Oxa6PFV0ONnesOhzIn9RsjndwVlDe0VoOV9H6QGOKJdE93tBGnpIJvk3OZ6mLTWUbSP2fUo3QAURXRGT4tOeM7sIC/fZgoorGWssNNtGNL+6kK6xktMjQUAi/BK0HkDnTLveb75npVuS3wSu+DRRSBpGhmxiQrLFKm7pLrwbj4ZakhlBio7KIdQs6uv1uknnR6psGyvRaY1IIL5EMgo41XIZFNsaG/A5LHcRLYs1kS4jD5HzwKDzn/uILzpTohISh5gmQ8/WO0fWMhPcGFPK1E63P3qyhsJ6aoVyhDH7EUO6v+Utv6/oC8UjtiNvKfb/osKAIJqf6vhJwRSEYMHMerIOUjEtc9+7DBviFp+pg= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: --vZmYjWY6Cm0pkfHC Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Dec 26, 2023 at 08:01:55PM +0000, Pasha Tatashin wrote: > ---------------------------------------------------------------------- > Changelog > ---------------------------------------------------------------------- > v3: > - Sync with v6.7-rc7 > - Addressed comments from David Rientjes: s/pages/page/, added unlikely()= into > the branches, expanded comment for iommu_free_pages_list(). > - Added Acked-bys: David Rientjes >=20 > v2: > - Added Reviewed-by Janne Grunau > - Sync with 6.7.0-rc3, 3b47bc037bd44f142ac09848e8d3ecccc726be99 > - Separated form the series patches: > vhost-vdpa: account iommu allocations > https://lore.kernel.org/all/20231130200447.2319543-1-pasha.tatashin@solee= n.com > vfio: account iommu allocations > https://lore.kernel.org/all/20231130200900.2320829-1-pasha.tatashin@solee= n.com > as suggested by Jason Gunthorpe > - Fixed SPARC build issue detected by kernel test robot > - Drop the following patches as they do account iommu page tables: > iommu/dma: use page allocation function provided by iommu-pages.h > iommu/fsl: use page allocation function provided by iommu-pages.h > iommu/iommufd: use page allocation function provided by iommu-pages.h > as suggested by Robin Murphy. These patches are not related to IOMMU > page tables. We might need to do a separate work to support DMA > observability. > - Remove support iommu/io-pgtable-arm-v7s as the 2nd level pages are > under a page size, thanks Robin Murphy for pointing this out. >=20 > ---------------------------------------------------------------------- > Description > ---------------------------------------------------------------------- > IOMMU subsystem may contain state that is in gigabytes. Majority of that > state is iommu page tables. Yet, there is currently, no way to observe > how much memory is actually used by the iommu subsystem. >=20 > This patch series solves this problem by adding both observability to > all pages that are allocated by IOMMU, and also accountability, so > admins can limit the amount if via cgroups. >=20 > The system-wide observability is using /proc/meminfo: > SecPageTables: 438176 kB >=20 > Contains IOMMU and KVM memory. >=20 > Per-node observability: > /sys/devices/system/node/nodeN/meminfo > Node N SecPageTables: 422204 kB >=20 > Contains IOMMU and KVM memory memory in the given NUMA node. >=20 > Per-node IOMMU only observability: > /sys/devices/system/node/nodeN/vmstat > nr_iommu_pages 105555 >=20 > Contains number of pages IOMMU allocated in the given node. >=20 > Accountability: using sec_pagetables cgroup-v2 memory.stat entry. >=20 > With the change, iova_stress[1] stops as limit is reached: >=20 > # ./iova_stress > iova space: 0T free memory: 497G > iova space: 1T free memory: 495G > iova space: 2T free memory: 493G > iova space: 3T free memory: 491G >=20 > stops as limit is reached. >=20 > This series encorporates suggestions that came from the discussion > at LPC [2]. > ---------------------------------------------------------------------- > [1] https://github.com/soleen/iova_stress > [2] https://lpc.events/event/17/contributions/1466 > ---------------------------------------------------------------------- > Previous versions > v1: https://lore.kernel.org/all/20231128204938.1453583-1-pasha.tatashin@s= oleen.com > v2: https://lore.kernel.org/linux-mm/20231130201504.2322355-1-pasha.tatas= hin@soleen.com > ---------------------------------------------------------------------- >=20 First of all, Merry Christmas and Happy New Year for all! And for this series, no observable regressions when booting the kernel with the series applied. Tested-by: Bagas Sanjaya --=20 An old man doll... just what I always wanted! - Clara --vZmYjWY6Cm0pkfHC Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEABYKAB0WIQSSYQ6Cy7oyFNCHrUH2uYlJVVFOowUCZYv2+wAKCRD2uYlJVVFO oxMfAP91UU+PRqp8ppjQagfbN7pLlLypEHbSPkqxzjMbovw1xQD7B3ptIVhk9yfz /Uw9Lm3b2HtnyDuZ0vJwXjXM2mBM/AA= =vPeL -----END PGP SIGNATURE----- --vZmYjWY6Cm0pkfHC--