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 X-Spam-Level: X-Spam-Status: No, score=-8.5 required=3.0 tests=INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B237BC33CB1 for ; Tue, 14 Jan 2020 13:35:24 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 66426207FD for ; Tue, 14 Jan 2020 13:35:24 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 66426207FD Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id BC6848E0005; Tue, 14 Jan 2020 08:35:23 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id B75058E0003; Tue, 14 Jan 2020 08:35:23 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A8AB68E0005; Tue, 14 Jan 2020 08:35:23 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0040.hostedemail.com [216.40.44.40]) by kanga.kvack.org (Postfix) with ESMTP id 94A4E8E0003 for ; Tue, 14 Jan 2020 08:35:23 -0500 (EST) Received: from smtpin22.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with SMTP id 3F1DE181AC9C6 for ; Tue, 14 Jan 2020 13:35:23 +0000 (UTC) X-FDA: 76376336526.22.fang59_8647e375e9a17 X-HE-Tag: fang59_8647e375e9a17 X-Filterd-Recvd-Size: 5608 Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by imf09.hostedemail.com (Postfix) with ESMTP for ; Tue, 14 Jan 2020 13:35:22 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id u2so13734644wmc.3 for ; Tue, 14 Jan 2020 05:35:22 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=K8VqjYHbpabchJbxExbEKyshv65LeYUyVLG0yJ6Bwpk=; b=bhRr1zuXqrKA+Dj6vUZXBkZD9e71wDRsl4ww5he1u1ubPoZEuQjDls8SA7RXl/RxZ6 f4kfXHR6rulKc8isMDvlUlEU7zAR+SITkM396lp72s9bOXuQg4ylumepSzjD35vs8taR MYzSKkcWmBW7z7Y78GZwTLayAc9i0wQxrIGo/4HpCnd96IUbIQX7qEv9RxURiWZUmS77 nWXpmcI9EpSMyZ7wneYAmX1JYdB7QIS/FkALZsv2RE5ZaOVrS9ltXF0VADhRifzJjyyo pDK75XqLh6klbZacGQluY3mqwMdzbriJdL/Fw5Ep4qJla+tNEN17zRtVayxsAGkr2u7i Hwyg== X-Gm-Message-State: APjAAAV59RhaLxQUytandqRmWtVfXUxih+mDb18/FiwsdP751qGyyfur bNggBryTcf7+lSvlAo6FymU= X-Google-Smtp-Source: APXvYqzKZG/y8qrPgY7GJDcPUYO4tOMrcmQHLyBQabjDUrZEj7dqWfVnwXF91bHinYIOW1Wv6l/aLA== X-Received: by 2002:a1c:1b41:: with SMTP id b62mr26493328wmb.53.1579008921620; Tue, 14 Jan 2020 05:35:21 -0800 (PST) Received: from localhost (prg-ext-pat.suse.com. [213.151.95.130]) by smtp.gmail.com with ESMTPSA id m126sm19116112wmf.7.2020.01.14.05.35.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Jan 2020 05:35:20 -0800 (PST) Date: Tue, 14 Jan 2020 14:35:20 +0100 From: Michal Hocko To: Vlastimil Babka Cc: linux-mm@kvack.org, Andrew Morton , Anshuman Khandual , David Hildenbrand , Qian Cai , Oscar Salvador , Mel Gorman , Mike Rapoport , Dan Williams , Pavel Tatashin , linux-kernel@vger.kernel.org, Ralph Campbell Subject: Re: [PATCH] mm, debug: always print flags in dump_page() Message-ID: <20200114133520.GO19428@dhcp22.suse.cz> References: <49fa7dea-00ac-155f-e7b7-eeca206556b5@arm.com> <6A58E80B-7A5F-4CAD-ACF1-89BCCBE4D3B1@lca.pw> <20200114091013.GD19428@dhcp22.suse.cz> <1f3ff7fc-2f6b-d8e5-85a5-078f0e1a0daf@suse.cz> <20200114113230.GM19428@dhcp22.suse.cz> <9f884d5c-ca60-dc7b-219c-c081c755fab6@suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <9f884d5c-ca60-dc7b-219c-c081c755fab6@suse.cz> User-Agent: Mutt/1.12.2 (2019-09-21) 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: On Tue 14-01-20 13:04:31, Vlastimil Babka wrote: [...] > >From 7b673c45bc16526586ae8ea6fba416a547baa04e Mon Sep 17 00:00:00 2001 > From: Vlastimil Babka > Date: Tue, 14 Jan 2020 12:52:48 +0100 > Subject: [PATCH] mm, debug: always print flags in dump_page() > > Commit 76a1850e4572 ("mm/debug.c: __dump_page() prints an extra line") > inadvertently removed printing of page flags for pages that are neither > anon nor ksm nor have a mapping. Fix that. > > Using pr_cont() again would be a solution, but the commit explicitly removed > its use. Avoiding the danger of mixing up split lines from multiple CPUs might > be beneficial for near-panic dumps like this, so fix this without reintroducing > pr_cont(). > > Reported-by: Anshuman Khandual > Reported-by: Michal Hocko > Fixes: 76a1850e4572 ("mm/debug.c: __dump_page() prints an extra line") > Signed-off-by: Vlastimil Babka Acked-by: Michal Hocko Thanks! > --- > mm/debug.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/mm/debug.c b/mm/debug.c > index 0461df1207cb..6a52316af839 100644 > --- a/mm/debug.c > +++ b/mm/debug.c > @@ -47,6 +47,7 @@ void __dump_page(struct page *page, const char *reason) > struct address_space *mapping; > bool page_poisoned = PagePoisoned(page); > int mapcount; > + char *type = ""; > > /* > * If struct page is poisoned don't access Page*() functions as that > @@ -78,9 +79,9 @@ void __dump_page(struct page *page, const char *reason) > page, page_ref_count(page), mapcount, > page->mapping, page_to_pgoff(page)); > if (PageKsm(page)) > - pr_warn("ksm flags: %#lx(%pGp)\n", page->flags, &page->flags); > + type = "ksm "; > else if (PageAnon(page)) > - pr_warn("anon flags: %#lx(%pGp)\n", page->flags, &page->flags); > + type = "anon "; > else if (mapping) { > if (mapping->host && mapping->host->i_dentry.first) { > struct dentry *dentry; > @@ -88,10 +89,11 @@ void __dump_page(struct page *page, const char *reason) > pr_warn("%ps name:\"%pd\"\n", mapping->a_ops, dentry); > } else > pr_warn("%ps\n", mapping->a_ops); > - pr_warn("flags: %#lx(%pGp)\n", page->flags, &page->flags); > } > BUILD_BUG_ON(ARRAY_SIZE(pageflag_names) != __NR_PAGEFLAGS + 1); > > + pr_warn("%sflags: %#lx(%pGp)\n", type, page->flags, &page->flags); > + > hex_only: > print_hex_dump(KERN_WARNING, "raw: ", DUMP_PREFIX_NONE, 32, > sizeof(unsigned long), page, > -- > 2.24.1 -- Michal Hocko SUSE Labs