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 7D6ACCFC272 for ; Tue, 15 Oct 2024 06:48:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E87FD6B008A; Tue, 15 Oct 2024 02:48:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E0F176B0092; Tue, 15 Oct 2024 02:48:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CAF896B0093; Tue, 15 Oct 2024 02:48:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id AC0CD6B008A for ; Tue, 15 Oct 2024 02:48:06 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 933CA14139C for ; Tue, 15 Oct 2024 06:47:57 +0000 (UTC) X-FDA: 82674906846.04.ADD37D7 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) by imf15.hostedemail.com (Postfix) with ESMTP id 3C00AA0009 for ; Tue, 15 Oct 2024 06:47:57 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=aTgoD2+B; spf=none (imf15.hostedemail.com: domain of BATV+9a7a7393fdffe154be76+7723+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+9a7a7393fdffe154be76+7723+infradead.org+hch@bombadil.srs.infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728974741; 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=7iiE9GUgfXuXfxtqPW3tB//wah5VwkH8yVqAr4/1y8U=; b=Tijiibk20SEsmJO+drcUlqCjUwXe+ON63felgWd4CqHLdpzZk0JrKBuDpF8soWOHa1Ud76 tnDkvK7NjstQW/0ACDSYesgH53k2tQHLNJ5UKdltfiRDMqogTv7oEXZTVBsLfFK7ii/8m5 YQCSaPHKgev3ZHp+JU/WDXxYVeA6c9w= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728974741; a=rsa-sha256; cv=none; b=L+vqJ4q/iz9b2VOrR/2D3mWfZQ37hknGK/nVnWRUlePU1lY2yALXb844G6lHsZdxPaPmiN I0Zy3wgd+MAoto9rSLi8X9enrQM4P3XuNecW9elXDo4a3UjgAqitXnEcJFDeXELc5LLCW5 9yaqbdHtYh0QbXQosM/OYU4Cfg5IpQs= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=infradead.org header.s=bombadil.20210309 header.b=aTgoD2+B; spf=none (imf15.hostedemail.com: domain of BATV+9a7a7393fdffe154be76+7723+infradead.org+hch@bombadil.srs.infradead.org has no SPF policy when checking 198.137.202.133) smtp.mailfrom=BATV+9a7a7393fdffe154be76+7723+infradead.org+hch@bombadil.srs.infradead.org; dmarc=none DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=7iiE9GUgfXuXfxtqPW3tB//wah5VwkH8yVqAr4/1y8U=; b=aTgoD2+Bb+m04v8zcoDMfddmz1 fFfhrKRsAXJQ/xGwQXmyIhe3IAozPFI1gUz4KTtCnFRKTM40NeBuHyAajek2QjisTcDPrKTfr2KrW RA18VZnyuKSdxpRME+B2o1aJc67S1B0AqISP66F5eBrLXaF/l859SSPRGqz+GQ8RhKC25/kswHkY6 nPvUa1g7/Qaq3DTNW6jbjWGbaUQG0vFsTiY7HG1/IMQgS02FSHlyAlf4JIAswJKG+gecu4V0cQjAn d+KK8H5lTtf7sUGAX8F/CdBXOGxVG4wAF1gLw0n7xvpxg4ewXALZL5UjgjO+vtUZRKE2IkuSIeFGX +QwZfsaQ==; Received: from hch by bombadil.infradead.org with local (Exim 4.98 #2 (Red Hat Linux)) id 1t0bLa-00000007FyT-26lU; Tue, 15 Oct 2024 06:47:58 +0000 Date: Mon, 14 Oct 2024 23:47:58 -0700 From: Christoph Hellwig To: Lorenzo Stoakes Cc: Andrew Morton , Suren Baghdasaryan , "Liam R . Howlett" , Matthew Wilcox , Vlastimil Babka , "Paul E . McKenney" , Jann Horn , David Hildenbrand , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Muchun Song , Richard Henderson , Ivan Kokshaysky , Matt Turner , Thomas Bogendoerfer , "James E . J . Bottomley" , Helge Deller , Chris Zankel , Max Filippov , Arnd Bergmann , linux-alpha@vger.kernel.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linux-arch@vger.kernel.org, Shuah Khan , Christian Brauner , linux-kselftest@vger.kernel.org, Sidhartha Kumar Subject: Re: [RFC PATCH 1/4] mm: pagewalk: add the ability to install PTEs Message-ID: References: <59e218670565accf978aeb8cf4745de4c0738773.1727440966.git.lorenzo.stoakes@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <59e218670565accf978aeb8cf4745de4c0738773.1727440966.git.lorenzo.stoakes@oracle.com> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Stat-Signature: w873qkxo7yy9z991huzqapu3qhoc1qsp X-Rspamd-Queue-Id: 3C00AA0009 X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1728974877-73234 X-HE-Meta: U2FsdGVkX186/xKf2WdLNbWAPhte0ouNOzPHVxzG2d+yoy6FGST2yyuN3XVu/cPJgtJqzKYL+UwmRTShhuzdsAS8CYYcMCXXrFvOISskL3Ikwxm4MnkO5WEZ5Thackv+5A/vT74PSSV+MSSSxYvrWqw8cgmS09eYHunXmMAMc48vjMfPTp9ENIEkvNIV5R7/hfUASkh47PA8fV/7daz2V8oMpJSuHRA02E8EtuNFt8ETu/J7Kg5KK1UFZTWeoENLS1OCN8spoM5m/4zdjf/+Ouki1Q/bHalS5zrDd7m23Tt5kFyUJgf9yreCbIhSfOb3ZmWKdAsqNaymRGaumKGiDXYcDm/HlmvLQdr1La/7eutxDmumtX7ziDK3JTbL3FC7XcrO/nKvwlosY55yfUdImZvW1D5rk0FijdGDTJNX08MvUdFE4MZRu63O/PKNxw8sswfS9lc6bvZdCmtB6LgtXmRoMCjMJ1mvqPlYX4zIfNywIEFbQa9bVQuH+9KZ1QNQp9Ehqwj/wuSaMgYziXUcJmvSD9HqyTQ/wGzBtk2f9vDWw1ceRAiO7RxeXsfs0Fv+CjQyDaKy+jwt+uVOsW0hx/jyff2s9RdCDwd8E+Xv3tbD2P/c44vkHM37tR+wD6JEec/T1+GLtkvveD8SS/dv5ffSsFppR1Mkj1OyKVikHOM95G6CrsPBrgaj2dAtpblFySa/Z+0x4H2BjM4dD47ZORDywsZSxH7kTc1iuwaO5wFHeywwzESAnaQBDOqMKtiAzC6Tg9vayPFLBokfNtBosvSlh1hJDTswCzWwqHC+ecnWtTwPJRdhqPNBFNTxZYNOnQLfkNbFzwGWyW+KR6Oco16e9TgFS9LXQEtmnmS4p5Fi3U5arYTO7yb5gkR6nrMVwStDUfX7jsTJu3Re6nDan/1K/TqX9+HpapPrfVkSrbubkfCSzvNc/VkfqXh+lhH51S2PuKhsEcyP09asTYl Lq9HL2Zu k37UNjZX2RLK/um4AYgnPMwYLAatTt8M1z+sjfKuR0qaCsyqTQ1Pz/qR08/yGzMVQsr1ut7lzw73Uwh5j60v/WXyaYQEkK64aWb+lku8krVdhhh9EzG+RvI2ylKP4Y22vZz18ajxiEcsBuOKLfZ504fFT8EBA0wf0yCAwEagME2VpTeLhlE/SzUHLqIN8zO+YGIN9DUv4JmstRUpGU8ySSOtjetloDPte996Jb70lR8dYdbC23h49HS5YYZyfq4q0f69WWCGQgvhAyeFJ0zyRJe73LQpFU53D/Y3w95XwdQCOlrGOGEngePVeDiv8qsLEDZxttMHePvk76+QBRXQkNT447SmYBfrsi5lg6MprxAC/zwiHp797yI8THHLpLvQFoTDv9eps9TfH+4zV07FrcbGT0Pown8whktCRqufhZw45EeW1nRLKFuCn1+x/XmC27MyLFzIBXzIWbmCvrZXv49kJHaTmH/luTLx33QaXoTDcy8k= 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: Hi Lorenzo, sorry for only replying to this so late. On Fri, Sep 27, 2024 at 01:51:11PM +0100, Lorenzo Stoakes wrote: > The existing generic pagewalk logic permits the walking of page tables, > invoking callbacks at individual page table levels via user-provided > mm_walk_ops callbacks. > > This is useful for traversing existing page table entries, but precludes > the ability to establish new ones. > > Existing mechanism for performing a walk which also installs page table > entries if necessary are heavily duplicated throughout the kernel, each > with semantic differences from one another and largely unavailable for use > elsewhere. I do like the idea of having common code for installing page tables! Minor nits below: > +int walk_page_range_mm(struct mm_struct *mm, unsigned long start, > unsigned long end, const struct mm_walk_ops *ops, > void *private) It would be good to have a minimum level of documentation for this function, including how it differs from walk_page_range and why it should remain internal. > + /* For internal use only. */ > + if (ops->install_pte) > + return -EINVAL; And this should probably be expanded a bit, including that no exported symbol should allow inserting arbitrary PTEs. Maybe best done with a helper to share that comment with the other places that have this check.