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=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT 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 EF85CC4338F for ; Mon, 23 Aug 2021 20:28:33 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 7E4AC6103A for ; Mon, 23 Aug 2021 20:28:33 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 7E4AC6103A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=mentor.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id 26CCA6B0071; Mon, 23 Aug 2021 16:28:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 21D7E6B0072; Mon, 23 Aug 2021 16:28:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 10CA48D0001; Mon, 23 Aug 2021 16:28:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0223.hostedemail.com [216.40.44.223]) by kanga.kvack.org (Postfix) with ESMTP id EBA8F6B0071 for ; Mon, 23 Aug 2021 16:28:32 -0400 (EDT) Received: from smtpin21.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 956648249980 for ; Mon, 23 Aug 2021 20:28:32 +0000 (UTC) X-FDA: 78507483264.21.D53FE55 Received: from esa3.mentor.iphmx.com (esa3.mentor.iphmx.com [68.232.137.180]) by imf03.hostedemail.com (Postfix) with ESMTP id 04D383000096 for ; Mon, 23 Aug 2021 20:28:31 +0000 (UTC) IronPort-SDR: KpJMfAdBNnTHechgj3V2D2Z1vgPSuhwIjyu5efDfo/1eUUOT97mXpOXi/XypPHw0SMEEBWq4Km 3BlLg6yqtckN8dxLXCB3VWxxmpt1fKy9ZbsvtKm7iKlb46mH/7lmi5mNZjOI3ATqwvjZOhNj8q LweNkNnTNUe1bhiyCaPluejHtvS5GvFdsI3fxuhGTvNFlgd7m5ehr+sNAO1HHf1fR2WKSiTJ3S JXklfBse357iBm1R7tzNJBLCH2BlFYQ8RW3zkvvangA4EnTYZVBDepqJvV8HuMjuKX2EwElyA2 zoOq4KpInNRgNwXlp73IsirA X-IronPort-AV: E=Sophos;i="5.84,344,1620720000"; d="scan'208";a="65020851" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa3.mentor.iphmx.com with ESMTP; 23 Aug 2021 12:28:30 -0800 IronPort-SDR: hrR8joVliJ/3UiwFWxKGvZJCCoSmSm0nOTK4WmW6uF67ZWb7BQYmvrHGsP5ZXuQt3hs4d3WrYu gi919jbFtmRT+gcoIcomRmKQMNvGVlrpD5rRCd+OcTf4jrp9DblskPDFy33aZLWOhWyV0ePNPY hcQZ/67JzhGJEwEVnjnDpGC8rsz9OWd3MCQwrghnydeYzkqoN1nudbMKDNtRJaXEY+nhRfZUb3 08nR4bziQJBeUFjEsf9WGrciGwzMaMRezbbFoLssJmfTq1R4LOJeeV7lUphpW1nOlY42Tgd2s4 D2I= From: "George G. Davis" To: Andrew Morton , "open list:MEMORY MANAGEMENT" , open list CC: , Eugeniu Rosca , "George G. Davis" Subject: [RFC][PATCH] mm/page_isolation: tracing: trace all test_pages_isolated failures Date: Mon, 23 Aug 2021 16:28:23 -0400 Message-ID: <20210823202823.13765-1-george_davis@mentor.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain X-ClientProxiedBy: SVR-ORW-MBX-06.mgc.mentorg.com (147.34.90.206) To svr-orw-mbx-01.mgc.mentorg.com (147.34.90.201) Authentication-Results: imf03.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf03.hostedemail.com: domain of George_Davis@mentor.com designates 68.232.137.180 as permitted sender) smtp.mailfrom=George_Davis@mentor.com X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 04D383000096 X-Stat-Signature: wbtw694i7r56ntz1bkr1bbmytkueuwgw X-HE-Tag: 1629750511-185727 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: From: "George G. Davis" Some test_pages_isolated failure conditions don't include trace points. For debugging issues caused by "pinned" pages, make sure to trace all calls whether they succeed or fail. In this case, a failure case did not result in a trace point. So add the missing failure case in test_pages_isolated traces. Signed-off-by: George G. Davis --- mm/page_isolation.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/mm/page_isolation.c b/mm/page_isolation.c index bddf788f45bf..fff55bb830f9 100644 --- a/mm/page_isolation.c +++ b/mm/page_isolation.c @@ -287,6 +287,7 @@ int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn, unsigned long pfn, flags; struct page *page; struct zone *zone; + int ret; /* * Note: pageblock_nr_pages != MAX_ORDER. Then, chunks of free pages @@ -299,15 +300,21 @@ int test_pages_isolated(unsigned long start_pfn, unsigned long end_pfn, break; } page = __first_valid_page(start_pfn, end_pfn - start_pfn); - if ((pfn < end_pfn) || !page) - return -EBUSY; + if ((pfn < end_pfn) || !page) { + ret = -EBUSY; + goto out; + } + /* Check all pages are free or marked as ISOLATED */ zone = page_zone(page); spin_lock_irqsave(&zone->lock, flags); pfn = __test_page_isolated_in_pageblock(start_pfn, end_pfn, isol_flags); spin_unlock_irqrestore(&zone->lock, flags); + ret = pfn < end_pfn ? -EBUSY : 0; + +out: trace_test_pages_isolated(start_pfn, end_pfn, pfn); - return pfn < end_pfn ? -EBUSY : 0; + return ret; } -- 2.17.1