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 D4D71C25B77 for ; Wed, 22 May 2024 07:42:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 53E526B0093; Wed, 22 May 2024 03:42:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4EF5E6B0095; Wed, 22 May 2024 03:42:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3B6066B0096; Wed, 22 May 2024 03:42:41 -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 1857F6B0093 for ; Wed, 22 May 2024 03:42:41 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id C19B91C22EF for ; Wed, 22 May 2024 07:42:40 +0000 (UTC) X-FDA: 82145239680.04.A0BBFC5 Received: from jpms-ob02.noc.sony.co.jp (jpms-ob02.noc.sony.co.jp [211.125.140.165]) by imf16.hostedemail.com (Postfix) with ESMTP id 719E8180022 for ; Wed, 22 May 2024 07:42:38 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=sony.com header.s=s1jp header.b=L1L7N2vi; spf=pass (imf16.hostedemail.com: domain of Sukrit.Bhatnagar@sony.com designates 211.125.140.165 as permitted sender) smtp.mailfrom=Sukrit.Bhatnagar@sony.com; dmarc=pass (policy=none) header.from=sony.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1716363759; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=p1PR+bMgri8CFj5w/WqKj5UXpiMUEtn0gsOYoXkuyv4=; b=yRUcGOed4OJfSqhWkgFCNw8hXTKn7MyUerp+Qi5IHpaFtvIg1xmAA84XEtl7iSwFZT4tx6 VuHbJUsZiaoLxaWq54O4fvU0NfBRw2L/4l5tlbt5Svazu3QuGQBf81ANbm0qfBEDbQlXEs aRlW/M397FbVndV2Tgrumr1ayGQYR5w= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=sony.com header.s=s1jp header.b=L1L7N2vi; spf=pass (imf16.hostedemail.com: domain of Sukrit.Bhatnagar@sony.com designates 211.125.140.165 as permitted sender) smtp.mailfrom=Sukrit.Bhatnagar@sony.com; dmarc=pass (policy=none) header.from=sony.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1716363759; a=rsa-sha256; cv=none; b=gelmHeFCkbQdik5f8x7HuIXLx+vyiUo9Oc6/KgOSZPbAWj2IQmZRQXnNjZoBW8E1OyCCN2 2XQfDWHmI7rOTJNLH5S/BFtCvziGCnEn3ZVMQ8tdStaHaxM0XccHNfSKbWUm7iuTfNukxy Q+c4f3YJa1bkyKvNS3PUv0YgQzCIQgk= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sony.com; s=s1jp; t=1716363759; x=1747899759; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=p1PR+bMgri8CFj5w/WqKj5UXpiMUEtn0gsOYoXkuyv4=; b=L1L7N2viI9Ogajg0oMKaiH1LgKsCTgMAcVi0FyaUwk3j/tNQ86Gnm6Ou FWeq9wGEdvPcchoJRZUtBoh53+i7XzL2JXsz6vBUPIE592sFHUkiKDa42 PiGkMj3qpQlwTb8Ls/yJZhKlqbkWkp99xplzQkILOp+H2Oc710U51BG9i UAKnkzStnNugviZQ3HiSk4UEq9XNhD5N1MVXJKKIVHeUoOGvbRlniWl4z mgT+Z4C//NSCWMtl8dXkAapKaRAKX4Zbu+eOpcwlwy6Uo2Mqh0sSiQ8Ud bAg8HT8VOfO0+yiejTw7HSW2p0jKqm/vWNXP2vy6VeAIDh+nylS3LXWjY g==; Received: from unknown (HELO jpmta-ob02.noc.sony.co.jp) ([IPv6:2001:cf8:0:6e7::7]) by jpms-ob02.noc.sony.co.jp with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 May 2024 16:42:35 +0900 X-IronPort-AV: E=Sophos;i="6.08,179,1712588400"; d="scan'208";a="390840544" Received: from unknown (HELO OptiPlex-7080..) ([IPv6:2001:cf8:1:5f1:0:dddd:6fe5:f4d0]) by jpmta-ob02.noc.sony.co.jp with ESMTP; 22 May 2024 16:42:34 +0900 From: Sukrit Bhatnagar To: Petr Mladek , Steven Rostedt , Andy Shevchenko , Rasmus Villemoes , Sergey Senozhatsky , Jonathan Corbet , Christoph Lameter , Pekka Enberg , David Rientjes , Joonsoo Kim , Andrew Morton , Vlastimil Babka , Roman Gushchin , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Masami Hiramatsu , Mathieu Desnoyers , "Matthew Wilcox (Oracle)" Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org, Sukrit.Bhatnagar@sony.com Subject: [PATCH 0/2] Improve dump_page() output for slab pages Date: Wed, 22 May 2024 16:46:27 +0900 Message-Id: <20240522074629.2420423-1-Sukrit.Bhatnagar@sony.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Stat-Signature: zjrfdnxzjuxtdodppzuk7xui1t4xhqr1 X-Rspamd-Queue-Id: 719E8180022 X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1716363758-283170 X-HE-Meta: U2FsdGVkX1+kElgQEnLBftRQhxnEJVRosrc0Tdc8eOvNFC6j3Cy8eYd/qLAba/GS5MyrLZFMLZPou1qakeTG/8/G7TZllaoJUkcADQRTUD0X2ZOc496VNGURIllZRbeNqY19oUisJoXzMF9k7MD1SXoqHYCmwzADY5fd2a9xjPUWOFGNaPvIv22op6EBG37XnRjMJtcZtTU7Z0oaEdJTFTmAljIdEj0g4Eh+QOfLwTFn+LnwRg/NeDm3FbgZG9h9OnJs0m+SZIsQxeubs6T9aCAFlXzkHXhwFiOzYEPDCiRBjhmmE4fyVbWTXvRAL9QZeOWG8Hj6GpmlHHe7X09rQmORVcdKpFJtK6sW2TcSgZT+OqEP7u2mg/1ToTMVs4opQcZ7heXd5UjyqIbFOUwC+XT7mH02j8drST/fMxUORgsHTFIYdC5p5yTWuDoxxu3idKKi1ONR/MBBpqoFVipJnbZ4BuxiLYNsziBXGvvHY3ZtQXMazgtnEiWN0lRy8zx3vDjOO67BroU5iQsV1z9d5CsK7waRz0Ey5yi/miVE2jOFM5RHiFs7nlmY/oXCJRx+1m3/ZiYanA+GVVMRleuet76pdcg34wPowvDARieDVal5Z5kdavJ5p+nH1KnZsO3mxLmgefGji5xAqrJNAJMa/d02G984jriDBsBRTTxwk4BXLrhv4DFV+OX2K3tQANcx4GVRIRk2ps6R1r6t4DvAn/tGiZLJDydcJAT+T72kDUQA5Ttf27Fo5QgKq7rz5dHOckj3vpy4tLeQ1boY88+Cs0te0jKSlEUs329v1Aw0qHdKn2P5sGyyoQcYOCdXamWYZXLTnonYlPamiyVCXobifYSu5KDU4xBEtRDu9RpxIDLZgk0Lytdn1Rmxray3aTtNAxT/V604WFNrG7yiCBEoVWTMiovW5SC0/uK9iWvVEj0OsasjorUwS9whLhUgsppkSKQR/T9OVw9GPGn2PGP 0inUCqTQ uSXZ5/JeUA/442NWPmE7yQFLL86QEaivbalMHdas2/k5ID7LUl10i8IQhcCgnEPKN089cpdxFCgVbKBWYHeTFNN3L9pZjgvF9QoOSHKUK4jOPx41Mk2CmZsN8lybdAWflLOOj9YE865agtFgu3hfUCnfMTdgp6AqbFJZQhUblkmiEBmJ2+Zlk4hAZ/7nb0nom3ZyePz1VTW5Ce+tgWr3SWxnMWjHOYYdOeN9eOpewoxAeL/7Oe+Mit313o8BHOnr2WBqb3hLCDNzShLoPF/+9i4Ktbw== 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: While using dump_page() on a range of pages, I noticed that there were some PG_slab pages that were also showing as PG_anon pages, according to the function output. [ 7.071985] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x102768 [ 7.072602] head: order:3 entire_mapcount:0 nr_pages_mapped:0 pincount:0 [ 7.073085] anon flags: 0x8000000000000840(slab|head|zone=2) [ 7.073777] raw: 8000000000000840 ffff8881000419c0 0000000000000000 dead000000000001 It was also printing the "page_type" field for slab pages, but that was fixed in a very recent commit: 8f790d0c7cfe (mm: improve dumping of mapcount and page_type) Given that the slab pages cannot be mapped to userspace, this output seems misleading. In dump_page(), folio_test_anon() is used, which checks the "mapping" field. But the struct slab was separated from struct page. So accessing the mapping field through a struct page pointer, which actually points to a struct slab, will result in garbage memory access and the PG_anon test can return true. It seems that other parts of the kernel MM make the check for slab before checking for anon, but dump_page() is not doing that. On the other hand, the struct slab has kmem_cache which maintains another set of flags. It would be nice to have these flags added as a part of the debug output, and to have a convenient way to print them. (The long chain of pointer dereferences for cache flags looks messy, but I assume it should be fine for a debug function.) Sukrit Bhatnagar (2): mm: printk: introduce new format %pGs for slab flags mm: debug: print correct information for slab folios Documentation/core-api/printk-formats.rst | 2 + include/linux/slab.h | 5 ++ include/trace/events/mmflags.h | 67 +++++++++++++++++++++++ lib/test_printf.c | 13 +++++ lib/vsprintf.c | 22 ++++++++ mm/debug.c | 12 +++- mm/internal.h | 1 + 7 files changed, 121 insertions(+), 1 deletion(-) -- 2.34.1