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 DFB4FC25B78 for ; Wed, 22 May 2024 07:42:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6C7F66B0098; Wed, 22 May 2024 03:42:46 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 628BD6B0099; Wed, 22 May 2024 03:42:46 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 47FDF6B009A; Wed, 22 May 2024 03:42:46 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 1F6056B0098 for ; Wed, 22 May 2024 03:42:46 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id AB93A40192 for ; Wed, 22 May 2024 07:42:45 +0000 (UTC) X-FDA: 82145239890.24.146CF8D Received: from jpms-ob02.noc.sony.co.jp (jpms-ob02.noc.sony.co.jp [211.125.140.165]) by imf02.hostedemail.com (Postfix) with ESMTP id 7EF0F80014 for ; Wed, 22 May 2024 07:42:43 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=sony.com header.s=s1jp header.b=JEe22XFe; spf=pass (imf02.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=1716363764; 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:in-reply-to:references:references:dkim-signature; bh=qt8VQF9vI4lN2kpWCMHn3LoxytDoJRuZtWxRqLzoavA=; b=Vf1XZz5UBPpjfTzjRR53A719/5bRYaNsE5rR4Bs4cBKWpqWF/h/FV76PTI8iuV2tCtmloc B+ubVWcGABHW1oemBqzuwTrdjuorBEvN1JrcCgtD5i/uIBMDhNa0OjcHIzI2NYX0y/Smqj DyTCmZnZpsTMB6k2yhfGdrzbS/OI5cI= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1716363764; a=rsa-sha256; cv=none; b=esFuU9S6TpXPVSPzVBpQw5T54XUHiGu7p1N5HId9NSNiubdP4kzfAmbXndWhv+L2LY4Zk7 gggoyp36qFAaNSJIQ19o/RewO5TLD7HN/R1asOKLHJxwmqns7u9K4F62JEPmQKZNOrX9ZJ /py9+yG+RRp7wH9kvH71jFGfY17P0jw= ARC-Authentication-Results: i=1; imf02.hostedemail.com; dkim=pass header.d=sony.com header.s=s1jp header.b=JEe22XFe; spf=pass (imf02.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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sony.com; s=s1jp; t=1716363764; x=1747899764; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=qt8VQF9vI4lN2kpWCMHn3LoxytDoJRuZtWxRqLzoavA=; b=JEe22XFeYDf5RTNcjovSh24WDVFuBwaIpp5mkIRRhj1L3u9MGnzl5lXj cLerAOuAqSXV9HWODYojmQ8gUW2Q9xctHEFj57EEP7NMM6LmdG91+DYZr wF/tFxVlGcq+trxmHVa8JUkmUzNyBsTMOqB3Vi/RLpN0KSfE/LpYN1mLE b8v49UCPOKsAnZry40gHHwJ1SOml5Dda0qKSA8YfEzjaFxDvvjqE5S36a o2s6K/BLx1Lp1ij0OR7BNyUcwdchObpCwp/oV9wSnqGXQR3rByYMQSBvx cHXruOhPDaOsZcAueI8oXsYpKErPIJ1dqIA3qLciZP4iFw9ueLF4oBTji 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="390840548" 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 2/2] mm: debug: print correct information for slab folios Date: Wed, 22 May 2024 16:46:29 +0900 Message-Id: <20240522074629.2420423-3-Sukrit.Bhatnagar@sony.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20240522074629.2420423-1-Sukrit.Bhatnagar@sony.com> References: <20240522074629.2420423-1-Sukrit.Bhatnagar@sony.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 7EF0F80014 X-Rspam-User: X-Stat-Signature: w9ubnocs9wf3afqiqefo7jsco6b6ue8w X-HE-Tag: 1716363763-185805 X-HE-Meta: U2FsdGVkX1+0fZ8rQeJljAeRPvF6WxpjuEU9AboxWFOBbHvjTvzQh9YfelQ9wMSpA3PTB0hRUD2MUv1xMWJxQ/Si0ChBT4mqI7Gsr78MK+H+P53fdAhZJJo1JQBeCkOhx3xCa6Y8+6C9mGLpVXrWFjhUeGvjZ+x1LZitfRayQHFmDipzzFR901i/GEuAqBc4dnacoL6i+IE8+rhn4QPDcgKlwnZ79F42RY0L3TG8KrjFYesYz+58lzeCu54X7PUfF48/Lrth1P+md0RlBilRShsWF8/kyz/sF8kILuIaCuqZTvotzlzFQ3955xbY4lqVO8vbKa1qTm7Z3lsNbUwv2XjpoNgOAJxGzrWD59JRk0JYLfNdtfbagqWzDLujmXwhjJXZxNQJ8JLLamXpdlMv16pP2VesIyRaUgLA5AwQpiMDSuiy1Oo4vkg+8Xk6AwKSvCqA7eD4TxYzDpsfWpWg7Sx0Lvl2V0Xzt73+VAiHxfmOg7sovenoP8szgRtVVpKSp7SDYzSHb86bdQsPtJwJ999eFs+DHvZJPhvZcOu1NU5kHHWpwL7co6CBiX91AcumjWyahtzY2iyvbV0DKfNDOl7MrOl4sayY2nOsL92c/AvRcrh9Dbr5anVfa2yChnn2qBYDNqWOSRcDBVgvazFMl4B7Yvt428JljkURZXnLZiTX6g5x9I4wXvK/YO2R45kBo1AdJXDjsHUYxgjwCzmd/EQMfXHEM3oh+G5tOOZuk59Raa2DCa+kAUrD/+cqxLcSJVXqWCWZCa3B0n0daD49l/8RWdSnjqSRIxaBeJDyo5fCLeIWgH1+rA6YD7wyxNxcGfPsmVN8BJGRIDjw8n9tebguq0oUxr0bhcqtgP7kXVE9vMyTF83U6DEzz5Y1QWbuQG4wuHe2mHmSXHA27pMxYHk/RCy/LdYS6enw4/k1+XwYJgsQpHpiONOZByEy4m8grVqhApg3GYuVN0cbdZL ffg+PLUd qSZRhpGXz1x2GvIrXHeojlvstAoMg23HjSQbD++UZcUmj51M11F93b7K91x8TL4jFURITxjrJB0rQVxrY7easdX2vg8Ybj6/7vvr5T1FETOWXA5OsUY9ifHRT41xnj9imamy1gn2zVk7e08i1NfCrIKPJyZP6pLtD5j2y1hBLd4/ttcWMJl8DQaOttsBdsbiKLNInVxxe9eNHNd8vjomb8tDgbkLCq7lHR7euSaJ8qPpeG/Jb2dSs4fsigKvN4OkdK6Md7yqEaHkeKePUtnc8S2N+mRzPeclgRfUn 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: The function dump_page() prints "anon" even for slab pages. This is not correct, especially now that struct slab is separated from struct page, and that the slab pages cannot be mapped to userspace. [ 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 This debugging output may be misleading, and it is not easy to understand unless we read the source code. If the folio tests true for slab, do not print information that does not apply to it. Instead, print the slab flags stored in the kmem_cache field. [ 7.248722] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0xffff888103e6aa87> [ 7.249135] head: order:3 entire_mapcount:0 nr_pages_mapped:0 pincount:0 [ 7.249429] slab flags: 0x8000000000000840(slab|head|zone=2) [ 7.249664] cache flags: 0x10310(HWCACHE_ALIGN|PANIC|TYPESAFE_BY_RCU|CMPXCHG_DOUBLE) [ 7.249999] raw: 8000000000000000 ffffea00040f9a01 ffffea00040f9bc8 dead000000000400 Signed-off-by: Sukrit Bhatnagar --- mm/debug.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mm/debug.c b/mm/debug.c index 2ef516f310e8..b6892dd279cb 100644 --- a/mm/debug.c +++ b/mm/debug.c @@ -16,6 +16,7 @@ #include #include "internal.h" +#include "slab.h" #include /* @@ -80,7 +81,9 @@ static void __dump_folio(struct folio *folio, struct page *page, if (folio->memcg_data) pr_warn("memcg:%lx\n", folio->memcg_data); #endif - if (folio_test_ksm(folio)) + if (folio_test_slab(folio)) + type = "slab "; + else if (folio_test_ksm(folio)) type = "ksm "; else if (folio_test_anon(folio)) type = "anon "; @@ -98,6 +101,8 @@ static void __dump_folio(struct folio *folio, struct page *page, is_migrate_cma_folio(folio, pfn) ? " CMA" : ""); if (page_has_type(&folio->page)) pr_warn("page_type: %pGt\n", &folio->page.page_type); + else if (folio_test_slab(folio)) + pr_warn("cache flags: %pGs\n", &((struct slab *)&folio->page)->slab_cache->flags); print_hex_dump(KERN_WARNING, "raw: ", DUMP_PREFIX_NONE, 32, sizeof(unsigned long), page, -- 2.34.1