From: Oscar Salvador <osalvador@suse.de>
To: Mikhail Gavrilov <mikhail.v.gavrilov@gmail.com>
Cc: linux-mm@kvack.org
Subject: Re: kernel BUG at include/linux/mm.h:1020!
Date: Fri, 22 Mar 2019 09:55:16 +0100 [thread overview]
Message-ID: <20190322085509.hzerxhk5cdewodl6@d104.suse.de> (raw)
In-Reply-To: <CABXGCsPXEAfYq3y58hMnXuctUm1D3Md=BpSo=cq5dR9+3aFzOg@mail.gmail.com>
On Fri, Mar 22, 2019 at 12:54:01PM +0500, Mikhail Gavrilov wrote:
> On Fri, 22 Mar 2019 at 12:39, Oscar Salvador <osalvador@suse.de> wrote:
> >
> > do you happen to have your config at hand?
> > Could you share it please?
> >
>
> https://pastebin.com/4idrLvJQ
Thanks, could you boot up with below patch and send back the log please?
diff --git a/mm/debug.c b/mm/debug.c
index 1611cf00a137..31f71517b0fb 100644
--- a/mm/debug.c
+++ b/mm/debug.c
@@ -54,7 +54,12 @@ void __dump_page(struct page *page, const char *reason)
* dump_page() when detected.
*/
if (page_poisoned) {
- pr_warn("page:%px is uninitialized and poisoned", page);
+ unsigned long pfn = page_to_pfn(page);
+ unsigned long section_nr = pfn_to_section_nr(pfn);
+ bool online = online_section(__nr_to_section(section_nr));
+
+ pr_warn("page:%px (pfn: %lx section: %ld online: %d)is uninitialized and poisoned",
+ page, pfn, section_nr, online);
goto hex_only;
}
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 3eb01dedfb50..a7b54c5995a6 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1324,6 +1324,7 @@ void __meminit reserve_bootmem_region(phys_addr_t start, phys_addr_t end)
{
unsigned long start_pfn = PFN_DOWN(start);
unsigned long end_pfn = PFN_UP(end);
+ unsigned long __pfn = start_pfn;
for (; start_pfn < end_pfn; start_pfn++) {
if (pfn_valid(start_pfn)) {
@@ -1342,6 +1343,7 @@ void __meminit reserve_bootmem_region(phys_addr_t start, phys_addr_t end)
__SetPageReserved(page);
}
}
+ pr_info("%s: %lx - %lx init\n", __func__, __pfn, end_pfn - 1);
}
static void __free_pages_ok(struct page *page, unsigned int order)
@@ -1617,6 +1619,7 @@ static unsigned long __init deferred_init_pages(int nid, int zid,
unsigned long nr_pgmask = pageblock_nr_pages - 1;
unsigned long nr_pages = 0;
struct page *page = NULL;
+ unsigned long start_pfn = pfn;
for (; pfn < end_pfn; pfn++) {
if (!deferred_pfn_valid(nid, pfn, &nid_init_state)) {
@@ -1631,6 +1634,8 @@ static unsigned long __init deferred_init_pages(int nid, int zid,
__init_single_page(page, pfn, zid, nid);
nr_pages++;
}
+
+ pr_info("%s: pfn: %lx - %lx init\n", __func__, start_pfn, end_pfn - 1);
return (nr_pages);
}
@@ -5748,10 +5753,14 @@ void __meminit memmap_init_zone(unsigned long size, int nid, unsigned long zone,
* function. They do not exist on hotplugged memory.
*/
if (context == MEMMAP_EARLY) {
- if (!early_pfn_valid(pfn))
+ if (!early_pfn_valid(pfn)) {
+ pr_info("%s: skipping: %lx\n", __func__, pfn);
continue;
- if (!early_pfn_in_nid(pfn, nid))
+ }
+ if (!early_pfn_in_nid(pfn, nid)) {
+ pr_info("%s: skipping: %lx\n", __func__, pfn);
continue;
+ }
if (overlap_memmap_init(zone, &pfn))
continue;
if (defer_init(nid, pfn, end_pfn))
@@ -5780,6 +5789,7 @@ void __meminit memmap_init_zone(unsigned long size, int nid, unsigned long zone,
cond_resched();
}
}
+ pr_info("%s: pfn: %lx - %lx init\n", __func__, start_pfn, end_pfn - 1);
}
#ifdef CONFIG_ZONE_DEVICE
@@ -5852,6 +5862,7 @@ void __ref memmap_init_zone_device(struct zone *zone,
}
}
+ pr_info("%s: %lx - %lx init\n", __func__, start_pfn, end_pfn - 1);
pr_info("%s initialised, %lu pages in %ums\n", dev_name(pgmap->dev),
size, jiffies_to_msecs(jiffies - start));
}
@@ -6651,6 +6662,8 @@ static void __init free_area_init_core(struct pglist_data *pgdat)
setup_usemap(pgdat, zone, zone_start_pfn, size);
init_currently_empty_zone(zone, zone_start_pfn, size);
memmap_init(size, nid, j, zone_start_pfn);
+ pr_info("%s: zone: %s zone: %lx - %lx\n",
+ __func__, zone->name, zone_start_pfn, zone_end_pfn(zone));
}
}
@@ -6765,6 +6778,8 @@ static u64 zero_pfn_range(unsigned long spfn, unsigned long epfn)
pgcnt++;
}
+ pr_info("%s: %lx - %lx zeroed\n", __func__, spfn, epfn - 1);
+
return pgcnt;
}
--
Oscar Salvador
SUSE L3
next prev parent reply other threads:[~2019-03-22 8:55 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-12 17:55 Mikhail Gavrilov
2019-03-15 20:58 ` Daniel Jordan
2019-03-15 21:34 ` Qian Cai
2019-03-17 15:22 ` Mel Gorman
2019-03-19 19:14 ` Qian Cai
2019-03-19 19:27 ` Pavel Tatashin
2019-03-19 19:35 ` Qian Cai
2019-03-19 23:13 ` Pavel Tatashin
2019-03-19 23:26 ` Qian Cai
2019-03-20 14:20 ` Mel Gorman
2019-03-20 21:50 ` Mikhail Gavrilov
2019-03-21 5:39 ` Mikhail Gavrilov
2019-03-21 13:21 ` Qian Cai
2019-03-21 15:08 ` Mikhail Gavrilov
2019-03-21 15:48 ` Qian Cai
2019-03-21 18:57 ` Mikhail Gavrilov
2019-03-21 19:14 ` Qian Cai
2019-03-22 3:41 ` Mikhail Gavrilov
2019-03-22 13:43 ` Qian Cai
2019-03-22 11:15 ` Mel Gorman
2019-03-23 4:40 ` Mikhail Gavrilov
2019-03-25 10:58 ` Mel Gorman
2019-03-25 16:06 ` Mikhail Gavrilov
2019-03-25 20:31 ` Mel Gorman
2019-03-26 4:03 ` Mikhail Gavrilov
2019-03-26 12:03 ` Mel Gorman
2019-03-27 3:57 ` Mikhail Gavrilov
2019-03-27 8:54 ` Mel Gorman
2019-03-22 7:39 ` Oscar Salvador
2019-03-22 7:54 ` Mikhail Gavrilov
2019-03-22 8:55 ` Oscar Salvador [this message]
2019-03-22 8:56 ` Oscar Salvador
2019-03-22 17:49 ` Mikhail Gavrilov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190322085509.hzerxhk5cdewodl6@d104.suse.de \
--to=osalvador@suse.de \
--cc=linux-mm@kvack.org \
--cc=mikhail.v.gavrilov@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox