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,DKIM_INVALID, DKIM_SIGNED,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 F18EFC433DB for ; Wed, 17 Feb 2021 16:36:10 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 8538664DF0 for ; Wed, 17 Feb 2021 16:36:10 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8538664DF0 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 0D2646B0006; Wed, 17 Feb 2021 11:36:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 083606B006C; Wed, 17 Feb 2021 11:36:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F012E6B006E; Wed, 17 Feb 2021 11:36:09 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0025.hostedemail.com [216.40.44.25]) by kanga.kvack.org (Postfix) with ESMTP id DB9346B0006 for ; Wed, 17 Feb 2021 11:36:09 -0500 (EST) Received: from smtpin12.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id A8805180199CD for ; Wed, 17 Feb 2021 16:36:09 +0000 (UTC) X-FDA: 77828312058.12.9E19BD9 Received: from mail-pg1-f176.google.com (mail-pg1-f176.google.com [209.85.215.176]) by imf05.hostedemail.com (Postfix) with ESMTP id 2E977E00054B for ; Wed, 17 Feb 2021 16:36:08 +0000 (UTC) Received: by mail-pg1-f176.google.com with SMTP id o7so8829892pgl.1 for ; Wed, 17 Feb 2021 08:36:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=WXIcl6OjwHYOdUvY1AbzlPKs0gf3kbJZZdxqTT5jVpM=; b=G8IMiTzquvhqASKS3eBBR2Tqy32NX8vLtGtNGB7t8MEsE32dUThk9wltx7hM3S0gue Vs0SKBMmVSJxLwHdWLW2pddn7LV8NsV+kknrwuL65T2TTGOXlEoXM4wN2U/xQEdyGilT YkqbBI/WDTPy5JrhI8u9Q5eVzSuKygRGE9dxEcG4iO8o7l9xwnjkwiZi0gybWwrHODrO OHoT1yA3JyDAkdZFvTmUPnEBv2nt8lj7GZ7i8ZzhbIjn1V3wDt28gNTT1R9S0tgDsdlI lfGY3awFwpT25EDAE/VaLIJwJh4f7HCHqJgi7OG2ULnTcPbqRx6W5Z5/SbBgJYL6ZvZO iucQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=WXIcl6OjwHYOdUvY1AbzlPKs0gf3kbJZZdxqTT5jVpM=; b=Yv9bgIVgXwWjiytzNbsGmMXRiV/NOl088swAQISfoH30c6k6SEYSQ4+FAe3GRVz2K5 mggfZUEjmjz+N8dQq0dsczBurpn6+5o4ffoheAKK5jvlh7UOgUBhyDsXvKZrCyNDwGRn oZnMT5wTEV6mFk4jkwRnOzWyYtqVi9cdhxVXEyEfv7iDmXeuIk+Yx/tuDa6aWZDw1u3d qCSTyZlmaFt9OalXCBkx9eIOe1QEhkw2Yj9K4sjcvqHGywrKY2bsKY1Gfpkpxwakbjcb QpxtgHmG0++ubgmtAOhxigiWOVDGsn97fSMBZ+ngDJZkGp7ce7nxXsI6N4Qesmp5/BM1 A6LQ== X-Gm-Message-State: AOAM532DlO0/QlTiuZWamMR6qMRz2C5usnlpiSZ1E+r1Y2YIsehr7x// Xg8YQfu/gOpHN1MZcnC6OIY= X-Google-Smtp-Source: ABdhPJwdeylB2BJC0jCIrsR5u5T4D3uPaBfWaqrtrdYp26DWyQLPvSA0yegpTKMuiqeY7AIC/ctHYA== X-Received: by 2002:a63:1343:: with SMTP id 3mr209669pgt.166.1613579768128; Wed, 17 Feb 2021 08:36:08 -0800 (PST) Received: from bbox-1.mtv.corp.google.com ([2620:15c:211:201:cdf7:1c5d:c444:e341]) by smtp.gmail.com with ESMTPSA id a136sm2939364pfa.66.2021.02.17.08.36.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Feb 2021 08:36:07 -0800 (PST) From: Minchan Kim To: Andrew Morton Cc: linux-mm , LKML , mhocko@suse.com, david@redhat.com, joaodias@google.com, Minchan Kim Subject: [PATCH] mm: be more verbose for alloc_contig_range faliures Date: Wed, 17 Feb 2021 08:36:03 -0800 Message-Id: <20210217163603.429062-1-minchan@kernel.org> X-Mailer: git-send-email 2.30.0.478.g8a0d178c01-goog MIME-Version: 1.0 X-Stat-Signature: gyuw5ptum7w61d6us5c64iunb36ee9ti X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 2E977E00054B Received-SPF: none (gmail.com>: No applicable sender policy available) receiver=imf05; identity=mailfrom; envelope-from=""; helo=mail-pg1-f176.google.com; client-ip=209.85.215.176 X-HE-DKIM-Result: pass/pass X-HE-Tag: 1613579768-108086 Content-Transfer-Encoding: quoted-printable 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: alloc_contig_range is usually used on cma area or movable zone. It's critical if the page migration fails on those areas so dump more debugging message like memory_hotplug unless user specifiy __GFP_NOWARN. Signed-off-by: Minchan Kim --- mm/page_alloc.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 0b55c9c95364..67f3ee3a1528 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -8486,6 +8486,15 @@ static int __alloc_contig_migrate_range(struct com= pact_control *cc, NULL, (unsigned long)&mtc, cc->mode, MR_CONTIG_RANGE); } if (ret < 0) { + if (!(cc->gfp_mask & __GFP_NOWARN)) { + struct page *page; + + list_for_each_entry(page, &cc->migratepages, lru) { + pr_warn("migrating pfn %lx failed ret:%d ", + page_to_pfn(page), ret); + dump_page(page, "migration failure"); + } + } putback_movable_pages(&cc->migratepages); return ret; } @@ -8728,6 +8737,8 @@ struct page *alloc_contig_pages(unsigned long nr_pa= ges, gfp_t gfp_mask, pfn =3D ALIGN(zone->zone_start_pfn, nr_pages); while (zone_spans_last_pfn(zone, pfn, nr_pages)) { if (pfn_range_valid_contig(zone, pfn, nr_pages)) { + unsigned long gfp_flags; + /* * We release the zone lock here because * alloc_contig_range() will also lock the zone @@ -8736,8 +8747,11 @@ struct page *alloc_contig_pages(unsigned long nr_p= ages, gfp_t gfp_mask, * and cause alloc_contig_range() to fail... */ spin_unlock_irqrestore(&zone->lock, flags); + + if (zone_idx(zone) !=3D ZONE_MOVABLE) + gfp_flags =3D gfp_mask | __GFP_NOWARN; ret =3D __alloc_contig_pages(pfn, nr_pages, - gfp_mask); + gfp_flags); if (!ret) return pfn_to_page(pfn); spin_lock_irqsave(&zone->lock, flags); --=20 2.30.0.478.g8a0d178c01-goog