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 4E507C25B7A for ; Wed, 22 May 2024 12:32:45 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D4D3D6B0092; Wed, 22 May 2024 08:32:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CFC976B0095; Wed, 22 May 2024 08:32:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BC4AD6B0096; Wed, 22 May 2024 08:32:44 -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 9DB3A6B0092 for ; Wed, 22 May 2024 08:32:44 -0400 (EDT) Received: from smtpin21.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 4B6FF414A0 for ; Wed, 22 May 2024 12:32:44 +0000 (UTC) X-FDA: 82145970648.21.B3FEDA4 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf24.hostedemail.com (Postfix) with ESMTP id E058C18000F for ; Wed, 22 May 2024 12:32:40 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=P3MJu1Ok; spf=none (imf24.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1716381162; 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=qh0huu52jPPYWZ/xzSrqrdxD+6njjRFHzojMKnE5d8g=; b=14SFDPApk1GeOEnthfUak3DiawxKK8jDB68urZDkgtuiWGUu9buxTdI7MMMW4NzB0dSX80 /Tn17WQAsKhd/HEZ/HNrNM0S/FAaAPUWCczv9k3/kWUsxc3cb71blXclc/znxVG+zMbkRz HGCE1wyo5agPEWc7nC5PrvvfF7Xegj4= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=P3MJu1Ok; spf=none (imf24.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1716381162; a=rsa-sha256; cv=none; b=hnjaCtsDbW5QxO4tGRk7jbNmU+8r0AkcQCJ7LZV1geDuAbLMCu6I87Try/TmIIb22K52hd HjfAptTHT0nFNoZCwTovO8SeGfewms3Mw1889c9nf8bKy5HMuSPb6FNrjgvcHImnJZgOId Uux4WB1sazhFNuQl1anyKfhhanVhIlU= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; 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=qh0huu52jPPYWZ/xzSrqrdxD+6njjRFHzojMKnE5d8g=; b=P3MJu1OkUQPGCe/HSi+lJ630be j03rA5zbFr5Xub7i5IGmgPaTSUOi2VddgDnCqKE35dkS4UiNSgVpSupsdGeuE4ij30W3gp/YlDZ+p Q4sJSHOnxj2S6Q3vfMZO5HwqAqzjh6j6+0aUZgL86SlKTRLAY5MzbmmW1dqKuYVbr0WeMpdFLOXsM FDXD00/P3wYjZtlPuTr8a+W1QijTgui77xz8TKkztCSIycgOHpxtXy8/Sye2xU2lcAphNNyNPcMFP 6qthMT2vgChPLBTm3fgcHW6hfJ2XU3GyPR77s465q9q/0hPUBkpQOQSyV77sWX4e77IfZq6s6es4K tTvjj62g==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1s9l8g-00000000dr2-2Q6v; Wed, 22 May 2024 12:32:14 +0000 Date: Wed, 22 May 2024 13:32:14 +0100 From: Matthew Wilcox To: Sukrit Bhatnagar Cc: 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 , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-trace-kernel@vger.kernel.org Subject: Re: [PATCH 2/2] mm: debug: print correct information for slab folios Message-ID: References: <20240522074629.2420423-1-Sukrit.Bhatnagar@sony.com> <20240522074629.2420423-3-Sukrit.Bhatnagar@sony.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240522074629.2420423-3-Sukrit.Bhatnagar@sony.com> X-Stat-Signature: 97hyj9bi5nwhrxxk1qy8tcqezqosmsjt X-Rspamd-Queue-Id: E058C18000F X-Rspam-User: X-Rspamd-Server: rspam10 X-HE-Tag: 1716381160-549564 X-HE-Meta: U2FsdGVkX19+pre2QZkAeLRi24sZIEqKe7XpL0mj3IoxSt2OoMhLLyX/K3L4ox0bjo0OMPrN/suMfh+VmyTalvis9e3iOdPnCgfwVyCKmg+WImriYb9P7nq0ek+pUnHZuE1T0LYZtPCDbUgwEOUwXuK8+wscPlFW33TSn9ataMyFa6gjQUuitKJEsib62P00DkkZpYtxOXyFq6PuCT7mGngBTrdJioXMHChMuUPcbiRn9b8/g1Dz1JK9JZNZgJlgW6HvZaILKpues+jyccUj1qwUUzu5LtQ3PaBdwTZKMextF+Qo5vKSBkgeGXqZC0gbyG/lxfvWDnHGDiZ+bCI5fXIw9CZLnPmsTA/wsYxSKZkp2UH2FVDTsVg5zZldESQVBmY7qtF3r9WLWiZE2Rq6N3jonlh9mPQvOkdV92zp3oICQw3t2ApLBFC/67Qp1slk6W2Zn1RBSEx7GeUsnrRA5wP4OAyo62Oj2VA2AEV9QHG66yHKpEb+6mgO8AWoIIi34JVglDH3UOqdPDRYzcSiDAxkx3eE4D6gBcfPjusXBtkmo7jjNu4vng+YF+Y/lxNDN8A10zbZQl2fGaRNeryodH3hlpHZPpcJgyPSq149cjtZxRq7r1a/+It8ha4Ay66mcs1nPGAGWQT5VxSwfoys0OWGM3TslY3KdY31WhVpaT3wb8hlskZok855NG4vsT4FSTcfU1S5DV8ZzdbWSgG7e3xhKl+pZY3AvoFL1P3VwIjg3AWJ+1lPWPGam0rW0cOWmI6HvGEapIZfn2gnrIwtNRj6zwoh97FNKxDUyhXmBEiwSCU4vC6Oers76sc1Z+PCWFwLJekQsFl5IIfnBabhg888dzwFnlSSHRBJ6NkWO2tsoW8U1PX2fxADfvJFkFPemg1SUKtBxgFquW1wbODiPJtmA+70PoLcOY2g0ZBO7RCMXw1BNad10ZGXQQBrdBCgRW81VPC9VIhe3Vk2Y0v UGArot0u 6aZACZui69EN08tlkpYQCdvPeKjwkJKnXBhhZmmllH7ahOIyikoeElSDAQ4tgmlpEfpECf1sGpEh46mAz0HA6ucwKfAWHQSOJ0f+LrkzIZ/8IMa7I8HfGObQkwecs6Dlj7qOwaP64aV5D72oYMigI4u1Q6j1C/VeQp6C3Iq0qBp7z0WRXLnATM/KQi4r/ahYCj7S7+5OPBCcf7o0s/Klyxjam+g== 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 Wed, May 22, 2024 at 04:46:29PM +0900, Sukrit Bhatnagar wrote: > 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 You haven't tested this against the current codebase ... > @@ -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); > ... because page_has_type() is now true for slab; there is no more PG_slab. I think you also want: folio_slab(folio)->slab_cache->flags Anyway, we have print_slab_info() which is currently static in slub.c. Maybe that needs to become non-static and dump_page() should call that for slabs?