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 36891C27C65 for ; Tue, 11 Jun 2024 21:43:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9A9386B00E1; Tue, 11 Jun 2024 17:43:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 930446B00E3; Tue, 11 Jun 2024 17:43:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 782726B00E4; Tue, 11 Jun 2024 17:43:53 -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 573136B00E1 for ; Tue, 11 Jun 2024 17:43:53 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id B233EA1A5E for ; Tue, 11 Jun 2024 21:43:52 +0000 (UTC) X-FDA: 82219935504.07.1894230 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf12.hostedemail.com (Postfix) with ESMTP id 92FD040016 for ; Tue, 11 Jun 2024 21:43:50 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Xy5AzKOw; spf=pass (imf12.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718142230; 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=hTou1qm81TgVNA2Djt+o16mxlwm2tQTw5dfTSjdkG/I=; b=7CPSqAjeeE6BaExQdJ4FIZ4DsRPvdF+JsLDfDbYinYta2nfVQAVYrks1gOIXxtZ9Unrkpv SxXM1LjfZlNU2UR50vwVAi3xXxP0HIkA11jDeVcEcwSud158Pl7yVX7wppYP5hKW/Wl8D/ IlmrakUi7CL6uh6d/PyY5HgLuh1m85o= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718142230; a=rsa-sha256; cv=none; b=i1v9/ROal8lE8hv8twIEmkGr2ENEM7vCtxSZKswrs8ISIxK6aZDGrmRXqEG2wmbiDiEldS Bl6iq+mKPCrx4O6GF6gxMq80MBAy8b/Vnd6gnQbV89HCWmCtM3+uYkaduiNB68ZG+DPu9/ qcJ40Gwmig8W8RBj0pbc1mareLq/iiQ= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Xy5AzKOw; spf=pass (imf12.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1718142229; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=hTou1qm81TgVNA2Djt+o16mxlwm2tQTw5dfTSjdkG/I=; b=Xy5AzKOwcRto83bhZi11MuyEqv2a6xuWF5UhzhobZSQUhl3HC8XzSeHN9PMIupzH2GXEUn N7zGAWicqg35VdOXeAJn7sKu6+2rosWYxctx2tVNSgAZSI7VH07vyAjr1oCcEa6zlcnf3x IEU7hApo+I3NP9EeTvggsb+osdarkYM= Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-540-_TNe5oIbPq63BGauIiz2Sg-1; Tue, 11 Jun 2024 17:43:48 -0400 X-MC-Unique: _TNe5oIbPq63BGauIiz2Sg-1 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-6ad5ebfaa68so16315266d6.0 for ; Tue, 11 Jun 2024 14:43:48 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718142228; x=1718747028; 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=hTou1qm81TgVNA2Djt+o16mxlwm2tQTw5dfTSjdkG/I=; b=giBhhTaYJ4NbNiJRaZfI3v2SVx0hBeQVADs0XQShkTrrgL89WLUl/sLDV8yGv0WDJh r1h75NIgzGGdOyyNZTibYxRVaBaP1JXXvzY+rXIYXJNg9D06lI/QE0Ypa2MZGE7XDvxg HPzW6xTAR0nC/oMqJNBkIotttQo3P4OAbs7WGZcgmo6VcrHK2CQVlUZZ6lw72yfbiO1v nIB4ebUpBwkRuoThEnVx6uhzOqC6+qQFNaojbRqZchfhSZn3OcrsdtT9mDBh+ciEsWXv dAfCgvQbv5FgkLQXKwIqYTVUdSTFcBOL/sIKsmQQADzXj2w3Nbk36w7TOJTdUuGgmrf0 988g== X-Forwarded-Encrypted: i=1; AJvYcCUYOtcOQZTXGC4QqEKEPKzcVaIKH4Pye6ed9d/sa8e0+0XNqiSmVLVMLP3HgK50XAwj+3y/N+DvB5ZVqKODvMq+EMs= X-Gm-Message-State: AOJu0Yxw3gx7KesukLfnME1qkU8RMMqfdg6iQGGU4qaDoLfdmZ10O7Aw Vgy7WjOhysQLzxoVS+BXJcazzEEGWJZoT7hiGYR2sdYN5DTiQeSIBY8584FwGIl2ZwK0KDNVZiV IcWafspb2eCQsY3S3hWCwcauTeHjC58FyGbdDwnj15+DQxcQg X-Received: by 2002:a05:6214:1c84:b0:6af:f955:3a92 with SMTP id 6a1803df08f44-6b05985d61dmr145506676d6.0.1718142227194; Tue, 11 Jun 2024 14:43:47 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHOa0/b65UqaWampbYi2ciS5tODEVjHDgAJKDJEJxgPSIVwH0ULUwrYdhk3hQqSpzGqunDNJA== X-Received: by 2002:a05:6214:1c84:b0:6af:f955:3a92 with SMTP id 6a1803df08f44-6b05985d61dmr145506356d6.0.1718142226586; Tue, 11 Jun 2024 14:43:46 -0700 (PDT) Received: from x1n (pool-99-254-121-117.cpe.net.cable.rogers.com. [99.254.121.117]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6b04f984940sm61002196d6.89.2024.06.11.14.43.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 11 Jun 2024 14:43:46 -0700 (PDT) Date: Tue, 11 Jun 2024 17:43:43 -0400 From: Peter Xu To: LEROY Christophe Cc: Oscar Salvador , Andrew Morton , Jason Gunthorpe , Michael Ellerman , Nicholas Piggin , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" , "linuxppc-dev@lists.ozlabs.org" Subject: Re: [PATCH v5 02/18] mm: Define __pte_leaf_size() to also take a PMD entry Message-ID: References: <172b11c93e0de7a84937af2da9f80bd17c56b8c9.1717955558.git.christophe.leroy@csgroup.eu> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Server: rspam03 X-Stat-Signature: qetwt8p15o6peywygrgbnp8tm69ibmtc X-Rspamd-Queue-Id: 92FD040016 X-Rspam-User: X-HE-Tag: 1718142230-613176 X-HE-Meta: U2FsdGVkX19IM31rBuhdGGL2D6jaxubaB7MTG4NtCRqWYFUh+bJ3RsdGWpNgZhojMhH7u2niPW1b2L1VTjL4Ia0SvfJIMiRAfrOW9RhGDlQ195CbfNAG6NPJ8JBpVVotlZJFtBhomD3Mxusilr9Agu73+eOcn7BgfIKDLIja1Xq364AyOIyB1FlEU7NqASjV4kxvFzdqp/lMWufFgRgTT/sKITz2h/0JQuUFrfUrV4ERcXQ3drMy7ZY4qr4iOEnrJDuY4aS8d2DYA/MYWfgxCvX8yTYUEdwXevPWjJQmkXZi25CvlMMplQGAj39ZzLqyBaAIlGIZ59Ad3YOk1o6WzpUNLAPQCYbrmZ8p+03wxCJpoTMBZhe7K9A/FgoGgwj79Tua7viTX1ORenb1pXl3iwf6w9mK1DrT0w6Bgt2rib7Qot3myXK6/C55g137SVmJXrME0B74QaBhhQ3gRcvlnxoxMGFVtBh0DQJykj2zb+xD6p7FQaoHrqpX9ePtkUrU3/XBUs4xeDNylY2zpuxrJARkYPDuDvJbzVHg10PaLOkvqhYrW9LKcd6E7Ju3ZqAR0ynmgfnD7WYd4/v66jHhJsHv9VS2tnN1Tg029J9JXGBKkhJhBp+PHIrFO7Rrj7Oah0jrfbacYXC35KxndGQIBKY5AO9olXL9Jh8YvEhMC7YON2Z51iI4u7ZAz/I1L8ILCe7kjKUKCnGio4IYCzLLWUh43enhqw68/YjINwo76IOntmJi4j9kJE5OuPnlPef3486fqmWDq4XtJWWdvCnfUwl111gBbKrNEil+xIMvYiIGp/rU2WG2/5RfnkmvWM5I8ZOLYoXmwICC3FSqf4Bypx2p7dr/zb4wTnsyMxfJQQmFIiYhdzJlXZ5P29xX+PLXb0InTlGTBlzymbTAykU9MNwns7dyxuIAtDfpGi3vxaa4hNDQx5YzQAetIYaYXS8of5A8wPUJf9C8INmTJM7 O3zJEg4M 2m8k9Z4zNgmgj6lSidLwpYPdLqzRL6QEhh0iYLgiwEa6TQPJmvM7GLnEw6ClrAu68m2wY7aRTQvOism7LW6Wy9RiMk+NtgUUDi3z886CynWmJxXveMd60/IPCm/0kcYKXkCUQnmMykxpiZ31oVz0LKtZmE0wkEKKpJ/BTJg8FJ8tyLFcrViZL7lfPbDBBEZc4JcVVyp84OUAJP716brmKWsW6UNgodWl+UntZRara4y9f6oxNNdosPC0BUFH+fGckMGMfdMNXGpMEEi1P0LBAqmE2CYuE003ovB9Bbevv6LKB4rLqqNQ4o3vqkx1YbWb5PVMmOcTnJMLHoh//g2VPTUsLFnV4Yuiub0RUu50AjRsm2Qqf8roTKQj89+fu20+BI33HSIUJuAes0Wt6pupFfIkshw== 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 Tue, Jun 11, 2024 at 07:00:14PM +0000, LEROY Christophe wrote: > But what about something like > > static inline pte_t pmd_pte(pmd_t pmd) > { > return *(pte_t *)pmd_page_vaddr(pmd); > } > > Would it do the trick ? > > Of course it would require to carefully make sure all accesses are done > through pmd_pte(). > > Would that work ? Looks possible to me. It's just that we may miss some spots, and it can hide in the details. I'm looking at Power's pmd_access_permitted() right below pmd_write(), which indeed uses pmd_pte() already. However before that there's also the other call to pmd_is_serializing(), which doesn't look alright to work on pgtable pages.. In this case maybe it's easy, as I assume pgtable page is stable. Didn't further look, though. Said that, this doesn't look like a blocker. So maybe worth trying if we're careful and with some good testing coverages. Thanks, -- Peter Xu