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 C675DC5B543 for ; Thu, 5 Jun 2025 06:13:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3E84E6B0157; Thu, 5 Jun 2025 02:13:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 372AC6B0534; Thu, 5 Jun 2025 02:13:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 23A9C6B05AF; Thu, 5 Jun 2025 02:13:43 -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 00A476B0157 for ; Thu, 5 Jun 2025 02:13:42 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 722AC1219CE for ; Thu, 5 Jun 2025 06:13:42 +0000 (UTC) X-FDA: 83520330684.24.F4B5F4E Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.172]) by imf23.hostedemail.com (Postfix) with ESMTP id C9395140006 for ; Thu, 5 Jun 2025 06:13:39 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=RwBa9V8P; spf=pass (imf23.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.215.172 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749104020; 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=Hn7NBr5TJWjNI8T2dY/UzcUhiHMyl/nutXcvd+GUfmM=; b=4F3Id69vIPeQEBsmq7GkqHj5RGvbz9DDgx5Q/SYgfK1bIwKjJZ7ibx7lf16teVbF1ecARZ ZGxGA1DIyVb1vaJBs4/pHU+2x6dQV9yArWnIsorohGScA7igC0Pwz1L43jRA1xpkHTk1rv etiwyvAQeUf/LNmrIyg4s9UY/EWi9zQ= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=bytedance.com header.s=google header.b=RwBa9V8P; spf=pass (imf23.hostedemail.com: domain of zhengqi.arch@bytedance.com designates 209.85.215.172 as permitted sender) smtp.mailfrom=zhengqi.arch@bytedance.com; dmarc=pass (policy=quarantine) header.from=bytedance.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749104020; a=rsa-sha256; cv=none; b=7dRAYsTeyB04J7Ukk9k4MINm994JqkZwfd02goOgZGZH5nrSncD4xCvUxcLxuEs31vt6V6 iCZqj0+w8R3597zB26swoAQmO62tgAGpZltXUCZbRQGGh4OtUfxm4K/VRczEgEm6TQ8AK3 W8n0N335o4M7sWzFuP/vR1GUXZACFAg= Received: by mail-pg1-f172.google.com with SMTP id 41be03b00d2f7-b07d607dc83so451491a12.1 for ; Wed, 04 Jun 2025 23:13:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1749104018; x=1749708818; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=Hn7NBr5TJWjNI8T2dY/UzcUhiHMyl/nutXcvd+GUfmM=; b=RwBa9V8PDsTYbnU7a+E2cTfsp0ivNdn3BVPZxYnwtF8T+z68pbClzovWSV+GucRyDM z3XoTok7gHQysSbgXYFN0u3b4CrJrwRcFnlKUqvfki4CkNAMPUTQVnM+OMBLtEeyogDj 7AkY0tg3VzP0IkXV2W2BEt6gm1Dum8VWIg06KjPZBac+L6kDLdA/9jIZMtus+KBhrKP7 BRj/9vBbFLp5i8o1LyPUE5ATMr0uYOtue575C4stJ1AFOpLxBB9hid69q4fRcmwjSy87 de8eZnJXFcY8xNLnnV8zqGcArC9nReZMm9saAzfygs9+h+4Ob2RbXzxty7UZ3mKOI7aJ SHkw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749104018; x=1749708818; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Hn7NBr5TJWjNI8T2dY/UzcUhiHMyl/nutXcvd+GUfmM=; b=liaqoskrfSoKxGzlsCAphhsxQs1iHpoQfQ3hAyu9O4ygkk0o8AaZusVUSyFyoOn7/Q O0GMcmXPqVWphb1k+g6bQ5r7Jo6B0TeEU0FdR8R0TLP5YLDJNLOiop/KFT98QFAUs0YX tOZnei4QdUZ1vAsmXtwYs0yfI7O/n5Hg/qPzJ0usN699OrHX2GlykKvowj03RXOSt5Nn AJNjP4EBvle0sWwFQGWTZdLP/5ECEe9zJzbQO/dMqeJ7WATg/JyAWvG7HiGtybtZtF0q EPRC1FZMtITxzF8VOSvi02YuCiKw+vfUGE7RlPiA3Ga15nmiffHgkmChcxslgwOiZZ4p L6bw== X-Forwarded-Encrypted: i=1; AJvYcCUCnCjMtMoKnxatuVsrE6GjjT6fkgv2inRpDaVepQ1dH3g3/kcqbaRNoscfbc1WCb27RtQXdJU3OQ==@kvack.org X-Gm-Message-State: AOJu0Yz9L/KdQ51LVfwrHxv5+yS7M+MIq7i/jkSuk9L0e42wvDvlG8lY sVGug3/CkLksVbsDIn6IskU4lqdtGQWyHdZmC4ziWr1XUg/1GiMxlM6qdoECLDt4LMM= X-Gm-Gg: ASbGncu9bdD9w2Evwl5j2zNUt29dy3cbsJty4anTy5hGB/AeF02XNPh0hO3qSL9ycyR 681628g1xHFK6ZUHKJVZCNgLyKZ+KvrTliwaY10pQ1pdaxW4yodVvAEXAJHFJfa8fbmYKpxd4N7 Lto9BUJsuTRd9mV99a9xMrnaRvIfEImit9/4z7XzhZMD0BB2UGcuPaPiDQGMvpIRXoUeXgqHcYr rTKfTMVez2fxaJ1F/YoX5wYaOhLwXyAUCFP1GRP1LpCkcAV9Gq1mkKCRt0NIE8KPjUdIHLrbdM/ 6c4jTqBhUr090TTnpmQaDjU5a4BXgI1shvoJ3u07S8feY2JR6SovXo2dRoXGC5wPP35M9FBUWaE = X-Google-Smtp-Source: AGHT+IHDy86FEw+vzJcbrf39p87S4pydRZ7lyu+1r5y5V92k7PKGXeaSlNE+WkPTO7jTgdMiiqKipg== X-Received: by 2002:a17:90b:5290:b0:311:9c9a:58c5 with SMTP id 98e67ed59e1d1-3130cd146e2mr10841635a91.12.1749104018411; Wed, 04 Jun 2025 23:13:38 -0700 (PDT) Received: from [10.68.122.90] ([63.216.146.178]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-313319020e0sm477078a91.12.2025.06.04.23.13.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 04 Jun 2025 23:13:37 -0700 (PDT) Message-ID: <1fd82421-90ad-4952-8fc0-77859f861570@bytedance.com> Date: Thu, 5 Jun 2025 14:13:27 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] mm/pagewalk: split walk_page_range_novma() into kernel/user parts To: Lorenzo Stoakes Cc: Barry Song , David Hildenbrand , "Liam R . Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Muchun Song , Oscar Salvador , Huacai Chen , WANG Xuerui , Jonas Bonn , Stefan Kristiansson , Stafford Horne , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Jann Horn , loongarch@lists.linux.dev, linux-kernel@vger.kernel.org, linux-openrisc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-mm@kvack.org, Andrew Morton References: <20250604141958.111300-1-lorenzo.stoakes@oracle.com> From: Qi Zheng In-Reply-To: <20250604141958.111300-1-lorenzo.stoakes@oracle.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: C9395140006 X-Stat-Signature: h9yxzx4aaspaey63thnzagbsgjdrd9ue X-Rspam-User: X-HE-Tag: 1749104019-87699 X-HE-Meta: U2FsdGVkX192wEZzNMZumsFxv895tkUyD5zsWKGTSM2KqjdiuOfnY86Tngsxp+rXB9CcsjJZzP8TWyzNHLfy4+3pLYw0dGJi2dp8zhoq+n4tvB3gModsdIBx9GV+Y2KAzWYvkrEyMm82F3Zp4s1M+5aTBz5B/QByavEV5W6BVRPHXF7yYsRD4DEmc/Z592y73z1DGIYEk2oxnWDNH9cTJZ8kzZw8b/lA7GeqHnC+vr76KHm+PGVAF9htHT4PzmCziaEqyUyQnDQ7O0nIrvnnWy0M5lS/UPD1ADzCpcLbPd9BdGqLNLdDgPBIOOFF7BVTlw7tRwtXvubhis62bEkLvIHvRV9URna1uN52FIAg+PQeqtjcWcBLPxe/TF6vDW/JwE5yZ1+414jM8J5ul94+gIClA0cbNW3G35ie2amRqqJu2mdq08Kxm2OBD/TyrCVPU37K5Ch2O0zRcNy1bT/ABr3vcQCPX7N1+SHUw95COZKvWF9XfRThmMxn5jyQniOmEL0Yy7lPbvDAI+REcoif86AHtLpWfxzFpiMPDTcK7Aas3D060E7eVbA1MSnrUMVctMAV7wJtx5v3lTlh73LHJZmYLS9UcH0b0x6xe1LRleOZ7cA9BJT3JucJWta+t5qsLDOL+rvC4rpinBIY47kCsWTAf3F7/fJHiBR/GTzCynL/kjpde51w2jyKBF9ojI8GLz/IFnl5fdG2Tz+49M/74SQn/0+Xy8mXXxr0JYbrWrNC01J63lAMGu11xxDSVjMaaAkGap5qRp09k7Dr9HJvNEAEDYKol13jzJi+1JcyYixG91x655unpxUfuMz1tEzSfZFTajy7+KaFXPpZv8/ck8m7Ibx2mceHWb7j+ai8RnShgIiCfwsPk72aEMEuEs5Q/OCiVhN4zMp7KbTiYbfY1Wq7Nr/HI+ImpBwBUbLIelysbJjQta2KQ3kMbpqH3BCAkV1M+0T4yIF9u/wr2AI 4dmkFfvR FgqavftuX49a/LTdVvNhUXuD/mmHOCOE1AUWxkgdp8z14/V7swqevlLmsXzmA6ZCBDqbDyytGzGqVzDl94y+8V9vZMIeAUcsKfEKk9bSJ0vmNRK4qq/Uv7LyzN3ian0KN09aUHjSlR1IkJW9O0mgBLjaoNuq7o1ORrWnakGK2e86GH1YlMRnctmNsPId20AaUyyJbV4pWIGJoPE3DBd3LEJp2342l1qKgRx/d+wuhFSCEkprjPMfEafnFu9iYfSw84eDKDAU0/eyE7wSIuW5vVcM8YVEPAPVHGps7uW/kOv5qT9lsPorBlYpjeYs4pbcpxE0Gk6aQ3ST5Qbz75cBDHIJJo2/7EbRS9A7/fCohifpbMU0vaq+w0ofLM6KvRxWsZ+Eb7V3ShFiJFO67FmKmO2UQy6HmHQSm2CRLemcqCmnnUd9SML0Y3SYqo/a8MDDmZpusvq6JM5hsvNo= 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 6/4/25 10:19 PM, Lorenzo Stoakes wrote: > The walk_page_range_novma() function is rather confusing - it supports two > modes, one used often, the other used only for debugging. > > The first mode is the common case of traversal of kernel page tables, which > is what nearly all callers use this for. > > Secondly it provides an unusual debugging interface that allows for the > traversal of page tables in a userland range of memory even for that memory > which is not described by a VMA. > > It is far from certain that such page tables should even exist, but perhaps > this is precisely why it is useful as a debugging mechanism. > > As a result, this is utilised by ptdump only. Historically, things were > reversed - ptdump was the only user, and other parts of the kernel evolved > to use the kernel page table walking here. > > Since we have some complicated and confusing locking rules for the novma > case, it makes sense to separate the two usages into their own functions. > > Doing this also provide self-documentation as to the intent of the caller - > are they doing something rather unusual or are they simply doing a standard > kernel page table walk? > > We therefore establish two separate functions - walk_page_range_debug() for > this single usage, and walk_kernel_page_table_range() for general kernel > page table walking. > > We additionally make walk_page_range_debug() internal to mm. > > Note that ptdump uses the precise same function for kernel walking as a > convenience, so we permit this but make it very explicit by having > walk_page_range_novma() invoke walk_kernel_page_table_range() in this case. > > Signed-off-by: Lorenzo Stoakes > Acked-by: Mike Rapoport (Microsoft) > --- > v2: > * Renamed walk_page_range_novma() to walk_page_range_debug() as per David. > * Moved walk_page_range_debug() definition to mm/internal.h as per Mike. > * Renamed walk_page_range_kernel() to walk_kernel_page_table_range() as > per David. > > v1 resend: > * Actually cc'd lists... > * Fixed mistake in walk_page_range_novma() not handling kernel mappings and > update commit message to referene. > * Added Mike's off-list Acked-by. > * Fixed up comments as per Mike. > * Add some historic flavour to the commit message as per Mike. > https://lore.kernel.org/all/20250603192213.182931-1-lorenzo.stoakes@oracle.com/ > > v1: > (accidentally sent off-list due to error in scripting) > > arch/loongarch/mm/pageattr.c | 2 +- > arch/openrisc/kernel/dma.c | 4 +- > arch/riscv/mm/pageattr.c | 8 +-- > include/linux/pagewalk.h | 7 ++- > mm/hugetlb_vmemmap.c | 2 +- > mm/internal.h | 4 ++ > mm/pagewalk.c | 98 ++++++++++++++++++++++++------------ > mm/ptdump.c | 3 +- > 8 files changed, 82 insertions(+), 46 deletions(-) > Acked-by: Qi Zheng Thanks.