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 AFDD9C46CD3 for ; Tue, 26 Dec 2023 17:58:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id EB7DB8D0002; Tue, 26 Dec 2023 12:58:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id E677A8D0001; Tue, 26 Dec 2023 12:58:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D2EDD8D0002; Tue, 26 Dec 2023 12:58:04 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id C43F28D0001 for ; Tue, 26 Dec 2023 12:58:04 -0500 (EST) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 91511A1772 for ; Tue, 26 Dec 2023 17:58:04 +0000 (UTC) X-FDA: 81609728088.05.1D98E52 Received: from mail-qt1-f173.google.com (mail-qt1-f173.google.com [209.85.160.173]) by imf27.hostedemail.com (Postfix) with ESMTP id C05D340006 for ; Tue, 26 Dec 2023 17:58:02 +0000 (UTC) Authentication-Results: imf27.hostedemail.com; dkim=pass header.d=soleen.com header.s=google header.b=dCZQWfLD; dmarc=none; spf=pass (imf27.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.173 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=1703613482; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=eYH7udRxVOWUuYR1uviT4nzog+O468I+tsZ16QY52lY=; b=dmMPS4HBr24l8qSo+LxD55XSDi7on+h681IAVaKFfu04fH0wLzZRcl2NNnYue49HXjW/Fj 44HgwplNrDOEOfUVnsPCViWc8/hNeKvIaruMr5W3UPwHeREaq6DxhZkQSVOnLbGSut9Fvg JsB8pixt9HZYpWUtAE4ezezjzTNLWQA= ARC-Authentication-Results: i=1; imf27.hostedemail.com; dkim=pass header.d=soleen.com header.s=google header.b=dCZQWfLD; dmarc=none; spf=pass (imf27.hostedemail.com: domain of pasha.tatashin@soleen.com designates 209.85.160.173 as permitted sender) smtp.mailfrom=pasha.tatashin@soleen.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703613482; a=rsa-sha256; cv=none; b=ki3BOxA3PoGnmXUQlrQlJUDbhBEQIh5pWE1gdCSiL5GwgV8CRMPjNhR1R7/ePhYJ+c6s+N NDzNd8Gz/ksutWvmb5X23o5T/isL14D/q1UatEgHn0st3yboCxEIOpH3W1rgPkY4aF/IXt I/ucnoJc0hHnvqx/RV5yXPEBhpT1hVA= Received: by mail-qt1-f173.google.com with SMTP id d75a77b69052e-4277e7146abso42941821cf.1 for ; Tue, 26 Dec 2023 09:58:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; t=1703613482; x=1704218282; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=eYH7udRxVOWUuYR1uviT4nzog+O468I+tsZ16QY52lY=; b=dCZQWfLDarTjEM8yxKBPxGtPEdUxRRXpQKwJdQFBjw1nxyca0+BwCNxDnQS3JkVHWm dKaYQusnZdP32/JgMQSSmDmI6VUjtEvqfGvUWfBWs/dyMSUCyEa5gj41zuPW5lyC10pm 15DcTgmsq+qGhCRkRmUNVvajuqayej1xH7ag3Giz30Tv8ldNHmVQp/Rrwie/OzK3qlH4 2NxZcxouupg67dNwZUAAsF5KDRSFKG/t3Go+0I5cS3SsxtyUwPrdp/Ubqc7o4fWe8QHI tA3zdbUwIq5H8K7OlEEylUarir+POPOewzK1M+oUveDeQBv6rFU/m2dU1AWMUhlrKbNU YepQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703613482; x=1704218282; h=content-transfer-encoding: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=eYH7udRxVOWUuYR1uviT4nzog+O468I+tsZ16QY52lY=; b=GHjzj0wi+YubFcPe1vpkYpQOgg2H/j94oMqgcYPjLhrGcVfvVtXA6L5DmKkBH+dlxJ stUfKDYsDMfvGm6GprXagnoIhBJTg3xtfqvtXZRjfk/JrLZxbenbiudrCls+s57QncLJ 795RTvCN0ZygW9csFnE3HCKQ7ti0kP+GepPAbw0N8ju6oE5DtGe5BzY6HKHoAxhhSEAv nZyhLVu3vM7gWz72TZK9pg2oCelwv5HBZ0qa5hgVyBGn5eVorMgQTaedE3ZMRh7sEcOv RcIR+4HGr5OaQLfR/7l2bNk3SQWV4fh4Hkmhm+WCljM5bxde+qPT2R0PeqcAaXNT6fpC BSMA== X-Gm-Message-State: AOJu0YyEziZxSJvW+eTlpU846KXiGXPelAlGsZwLRBRzgaIYKRoRsTyw H4WcvNHJLfOJwZKBCFWXzJy3aX1obKuzA2oYUna3DMzKC1hM0g== X-Google-Smtp-Source: AGHT+IF1mJ8zM3mxpNM9KsLehfwPoH0iCOIzFR/lBXLAAhZkeLDmK9jCB4DCOG5yTSpoP8aUapffGpK3Rjo+EEYkWKw= X-Received: by 2002:ac8:5915:0:b0:427:9fad:896a with SMTP id 21-20020ac85915000000b004279fad896amr10235427qty.56.1703613481775; Tue, 26 Dec 2023 09:58:01 -0800 (PST) MIME-Version: 1.0 References: <20231130201504.2322355-1-pasha.tatashin@soleen.com> <20231130201504.2322355-2-pasha.tatashin@soleen.com> <776e17af-ae25-16a0-f443-66f3972b00c0@google.com> <1fd66377-030c-2e48-e658-4669bbf037e9@google.com> In-Reply-To: From: Pasha Tatashin Date: Tue, 26 Dec 2023 12:57:25 -0500 Message-ID: Subject: Re: [PATCH v2 01/10] iommu/vt-d: add wrapper functions for page allocations To: Matthew Wilcox Cc: David Rientjes , Andrew Morton , 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 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Stat-Signature: t9jc48bscr9hd8fso41baprbyf35um85 X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: C05D340006 X-HE-Tag: 1703613482-245116 X-HE-Meta: U2FsdGVkX1/edOaJue8cZxt6Qzk/Mwc5u9noaw3aVSTiltJLyZME2rhWiaqMtnmK0LWNLaWmFqcOj/krlp+r7rFnzOwBm8q9CecIaV4sI0KxLRSEBXlVyF4g5PjxAX3AioueRYz+Lz9s1yoAwDuLVha5Gr1Xzt78G8eimFWihz9lyXQ17cc1V/ggbZvLSVZ+wntP9ildnqrhfwvrrUIi+dFs+iF94Z4xmlC2GHJx9V3agj+y5zD568ZAhJec8jcA17t3mswVfbCb4QurNCpOYXXDby0rCIQAR+EwjcTQSoTirYtPdkWz2Nu7iIjCJfLL+c0Oo0g5w+tUvcMTrBrTIg+SDkazGTxU6ckUgyg9uwC18snFnVJsoJPREW8/BZsRQAG7TehjXkeESuqKX511pBgqFQhHoPRByM/YL03Ru2r1eHZRPaHnWJXnT19dP6/izRsqCpjPM1DPYijYCo8Smc8iADIZCGGqUagxPDYX3mW4czMx0daV05NHVq9WtLzUILG8LcWfL1J/vIzrXMTMUqHd+TMoI9zlu2NroIsQCMjoftf7tcRe4bN0XUNqu0ckHCpSWOMMDL7p8uotN9f7k7PM3NIiFQNVW+mKRnGA+wOmc0C1/X556csCwwlT5VgvN3327avBhjcQXp3ro3CAz99hH7uRgACw3BtIitSQCF4kBV/UfH0J4NdfnDZojnUWB1+zW3tnWFvIvgtrlZ1gmpxjL0S4O5F7Dnd7/SngBSQ2zXc9zvnxRN8exOX2heXeNx6E/DR2olGcdMDF9HtbbYZtCeqLvwehtkDK9DLIzYPHam3rTK1z2CRDkNLK/Z88Wf/5LKtWjreFnUDw46rl9zPTiCV/2Fxf98RZtkJszLq8IqPGg3DcqytjHDyIjtAwX5GugcCraXDcmR1AQdu7KT4/Lqk7n2MNi+KWByebNAXCQAjPX815PVrXjZGtNMALsspOtFOqxIrjG9BdHO3 mBtt5kq3 NIAvzQHbP52g2zES0x17qVvjWTHEdVlcIrM+rZfj4c+x+C8h/0g0yZJMN+c8KNy0miQaftoCIE11UJNv9vs23FbvKkoS/XhaWA9PpcK6BcDzJWd8jdk+82gaGJIhpGe96YeQm/ZK/w4QYtSCRJonaeP4hRujxfRaRCEXHHuM61+5FzeUZWyIvKB10LvEc67NjC4tFzRrCdGmLqrH7ZJ4r2eLs+Z/Q75ivDJ12HRL1pT8X0WrSNAaeOCQgXsJc1X2vGIh4CPQ5Z4iZ7uQ+QP1THSoiQaYq6GGI2emrBD//sEcWqLANnona4JF64KHCL3vHII/RwiM/O8h/kcIkKJEHWkqa5A== 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: On Sun, Dec 24, 2023 at 4:48=E2=80=AFPM Matthew Wilcox wrote: > > On Sun, Dec 24, 2023 at 01:30:50PM -0800, David Rientjes wrote: > > > > s/pages/page/ here and later in this file. > > > > > > In this file, where there a page with an "order", I reference it with > > > "pages", when no order (i.e. order =3D 0), I reference it with "page" > > > > > > I.e.: __iommu_alloc_page vs. __iommu_alloc_pages > > > > > > > Eh, the struct page points to a (potentially compound) page, not a set = or > > list of pages. I won't bikeshed on it, but "struct page *pages" never > > makes sense unless it's **pages or *pages[] :) > > I'd suggest that 'pages' also makes sense when _not_ using __GFP_COMP, > as we do in fact allocate an array of pages in that case. > > That said, we shouldn't encourage the use of non-compound allocations. > It would also be good for someone to define a memdesc for iommu memory > like we have already for slab. We'll need it eventually, and it'll work > out better if someone who understands iommus (ie not me) does it. I was thinking of adding an IOMMU page table memdesc, at least by starting with Intel implementation. - For efficient freeing on page-unmap we need a counter. - We might also need a per-page page table locking (aka PTL type lock), if the current approach I am proposing is not scalable enough. - Access to debugfs (I am studying this now). However, iommu memdesc would really make sense, once all the various page table management IOMMU implementations are unified. Pasha