linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/2] mm: fix initialization of struct page for holes in  memory layout
@ 2020-12-09 21:43 Mike Rapoport
  2020-12-09 21:43 ` [PATCH v2 1/2] mm: memblock: enforce overlap of memory.memblock and memory.reserved Mike Rapoport
  2020-12-09 21:43 ` [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout Mike Rapoport
  0 siblings, 2 replies; 18+ messages in thread
From: Mike Rapoport @ 2020-12-09 21:43 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Andrea Arcangeli, Baoquan He, David Hildenbrand, Mel Gorman,
	Michal Hocko, Mike Rapoport, Mike Rapoport, Qian Cai,
	Vlastimil Babka, linux-kernel, linux-mm, stable

From: Mike Rapoport <rppt@linux.ibm.com>

Hi,

Commit 73a6e474cb37 ("mm: memmap_init: iterate over
memblock regions rather that check each PFN") exposed several issues with
the memory map initialization and these patches fix those issues.

Initially there were crashes during compaction that Qian Cai reported back
in April [1]. It seemed back then that the probelm was fixed, but a few
weeks ago Andrea Arcangeli hit the same bug [2] and after a long discussion
between us [3] I think these patches are the proper fix.

v2 changes:
* added patch that adds all regions in memblock.reserved that do not
overlap with memblock.memory to memblock.memory in the beginning of
free_area_init()

[1] https://lore.kernel.org/lkml/8C537EB7-85EE-4DCF-943E-3CC0ED0DF56D@lca.pw
[2] https://lore.kernel.org/lkml/20201121194506.13464-1-aarcange@redhat.com
[3] https://lore.kernel.org/mm-commits/20201206005401.qKuAVgOXr%akpm@linux-foundation.org

Mike Rapoport (2):
  mm: memblock: enforce overlap of memory.memblock and memory.reserved
  mm: fix initialization of struct page for holes in memory layout

 include/linux/memblock.h |   1 +
 mm/memblock.c            |  24 ++++++
 mm/page_alloc.c          | 159 ++++++++++++++++++---------------------
 3 files changed, 97 insertions(+), 87 deletions(-)

-- 
2.28.0


^ permalink raw reply	[flat|nested] 18+ messages in thread

* [PATCH v2 1/2] mm: memblock: enforce overlap of memory.memblock and memory.reserved
  2020-12-09 21:43 [PATCH v2 0/2] mm: fix initialization of struct page for holes in memory layout Mike Rapoport
@ 2020-12-09 21:43 ` Mike Rapoport
  2020-12-10  9:28   ` Greg KH
  2020-12-14 10:11   ` David Hildenbrand
  2020-12-09 21:43 ` [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout Mike Rapoport
  1 sibling, 2 replies; 18+ messages in thread
From: Mike Rapoport @ 2020-12-09 21:43 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Andrea Arcangeli, Baoquan He, David Hildenbrand, Mel Gorman,
	Michal Hocko, Mike Rapoport, Mike Rapoport, Qian Cai,
	Vlastimil Babka, linux-kernel, linux-mm, stable

From: Mike Rapoport <rppt@linux.ibm.com>

memblock does not require that the reserved memory ranges will be a subset
of memblock.memory.

As the result there maybe reserved pages that are not in the range of any
zone or node because zone and node boundaries are detected based on
memblock.memory and pages that only present in memblock.reserved are not
taken into account during zone/node size detection.

Make sure that all ranges in memblock.reserved are added to memblock.memory
before calculating node and zone boundaries.

Fixes: 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions rather that check each PFN")
Reported-by: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
---
 include/linux/memblock.h |  1 +
 mm/memblock.c            | 24 ++++++++++++++++++++++++
 mm/page_alloc.c          |  7 +++++++
 3 files changed, 32 insertions(+)

diff --git a/include/linux/memblock.h b/include/linux/memblock.h
index ef131255cedc..e64dae2dd1ce 100644
--- a/include/linux/memblock.h
+++ b/include/linux/memblock.h
@@ -120,6 +120,7 @@ int memblock_clear_nomap(phys_addr_t base, phys_addr_t size);
 unsigned long memblock_free_all(void);
 void reset_node_managed_pages(pg_data_t *pgdat);
 void reset_all_zones_managed_pages(void);
+void memblock_enforce_memory_reserved_overlap(void);
 
 /* Low level functions */
 void __next_mem_range(u64 *idx, int nid, enum memblock_flags flags,
diff --git a/mm/memblock.c b/mm/memblock.c
index b68ee86788af..9277aca642b2 100644
--- a/mm/memblock.c
+++ b/mm/memblock.c
@@ -1857,6 +1857,30 @@ void __init_memblock memblock_trim_memory(phys_addr_t align)
 	}
 }
 
+/**
+ * memblock_enforce_memory_reserved_overlap - make sure every range in
+ * @memblock.reserved is covered by @memblock.memory
+ *
+ * The data in @memblock.memory is used to detect zone and node boundaries
+ * during initialization of the memory map and the page allocator. Make
+ * sure that every memory range present in @memblock.reserved is also added
+ * to @memblock.memory even if the architecture specific memory
+ * initialization failed to do so
+ */
+void __init memblock_enforce_memory_reserved_overlap(void)
+{
+	phys_addr_t start, end;
+	int nid;
+	u64 i;
+
+	__for_each_mem_range(i, &memblock.reserved, &memblock.memory,
+			     NUMA_NO_NODE, MEMBLOCK_NONE, &start, &end, &nid) {
+		pr_warn("memblock: reserved range [%pa-%pa] is not in memory\n",
+			&start, &end);
+		memblock_add_node(start, (end - start), nid);
+	}
+}
+
 void __init_memblock memblock_set_current_limit(phys_addr_t limit)
 {
 	memblock.current_limit = limit;
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index eaa227a479e4..dbc57dbbacd8 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -7436,6 +7436,13 @@ void __init free_area_init(unsigned long *max_zone_pfn)
 	memset(arch_zone_highest_possible_pfn, 0,
 				sizeof(arch_zone_highest_possible_pfn));
 
+	/*
+	 * Some architectures (e.g. x86) have reserved pages outside of
+	 * memblock.memory. Make sure these pages are taken into account
+	 * when detecting zone and node boundaries
+	 */
+	memblock_enforce_memory_reserved_overlap();
+
 	start_pfn = find_min_pfn_with_active_regions();
 	descending = arch_has_descending_max_zone_pfns();
 
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout
  2020-12-09 21:43 [PATCH v2 0/2] mm: fix initialization of struct page for holes in memory layout Mike Rapoport
  2020-12-09 21:43 ` [PATCH v2 1/2] mm: memblock: enforce overlap of memory.memblock and memory.reserved Mike Rapoport
@ 2020-12-09 21:43 ` Mike Rapoport
  2020-12-10  1:51   ` Andrea Arcangeli
                     ` (2 more replies)
  1 sibling, 3 replies; 18+ messages in thread
From: Mike Rapoport @ 2020-12-09 21:43 UTC (permalink / raw)
  To: Andrew Morton
  Cc: Andrea Arcangeli, Baoquan He, David Hildenbrand, Mel Gorman,
	Michal Hocko, Mike Rapoport, Mike Rapoport, Qian Cai,
	Vlastimil Babka, linux-kernel, linux-mm, stable

From: Mike Rapoport <rppt@linux.ibm.com>

There could be struct pages that are not backed by actual physical memory.
This can happen when the actual memory bank is not a multiple of
SECTION_SIZE or when an architecture does not register memory holes
reserved by the firmware as memblock.memory.

Such pages are currently initialized using init_unavailable_mem() function
that iterated through PFNs in holes in memblock.memory and if there is a
struct page corresponding to a PFN, the fields if this page are set to
default values and it is marked as Reserved.

init_unavailable_mem() does not take into account zone and node the page
belongs to and sets both zone and node links in struct page to zero.

On a system that has firmware reserved holes in a zone above ZONE_DMA, for
instance in a configuration below:

	# grep -A1 E820 /proc/iomem
	7a17b000-7a216fff : Unknown E820 type
	7a217000-7bffffff : System RAM

unset zone link in struct page will trigger

	VM_BUG_ON_PAGE(!zone_spans_pfn(page_zone(page), pfn), page);

because there are pages in both ZONE_DMA32 and ZONE_DMA (unset zone link in
struct page) in the same pageblock.

Interleave initialization of pages that correspond to holes with the
initialization of memory map, so that zone and node information will be
properly set on such pages.

Fixes: 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions rather
that check each PFN")
Reported-by: Andrea Arcangeli <aarcange@redhat.com>
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
---
 mm/page_alloc.c | 152 +++++++++++++++++++++---------------------------
 1 file changed, 65 insertions(+), 87 deletions(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index dbc57dbbacd8..ea5aefef0004 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -6185,24 +6185,85 @@ static void __meminit zone_init_free_lists(struct zone *zone)
 	}
 }
 
-void __meminit __weak memmap_init(unsigned long size, int nid,
-				  unsigned long zone,
-				  unsigned long range_start_pfn)
+#if !defined(CONFIG_FLAT_NODE_MEM_MAP)
+/*
+ * Only struct pages that are backed by physical memory available to the
+ * kernel are zeroed and initialized by memmap_init_zone().
+ * But, there are some struct pages that are either reserved by firmware or
+ * do not correspond to physical page frames becuase the actual memory bank
+ * is not a multiple of SECTION_SIZE.
+ * Fields of those struct pages may be accessed (for example page_to_pfn()
+ * on some configuration accesses page flags) so we must explicitly
+ * initialize those struct pages.
+ */
+static u64 __init init_unavailable_range(unsigned long spfn, unsigned long epfn,
+					 int zone, int node)
 {
-	unsigned long start_pfn, end_pfn;
+	unsigned long pfn;
+	u64 pgcnt = 0;
+
+	for (pfn = spfn; pfn < epfn; pfn++) {
+		if (!pfn_valid(ALIGN_DOWN(pfn, pageblock_nr_pages))) {
+			pfn = ALIGN_DOWN(pfn, pageblock_nr_pages)
+				+ pageblock_nr_pages - 1;
+			continue;
+		}
+		__init_single_page(pfn_to_page(pfn), pfn, zone, node);
+		__SetPageReserved(pfn_to_page(pfn));
+		pgcnt++;
+	}
+
+	return pgcnt;
+}
+#else
+static inline u64 init_unavailable_range(unsigned long spfn, unsigned long epfn,
+					 int zone, int node)
+{
+	return 0;
+}
+#endif
+
+void __init __weak memmap_init(unsigned long size, int nid,
+			       unsigned long zone,
+			       unsigned long range_start_pfn)
+{
+	unsigned long start_pfn, end_pfn, hole_start_pfn = 0;
 	unsigned long range_end_pfn = range_start_pfn + size;
+	u64 pgcnt = 0;
 	int i;
 
 	for_each_mem_pfn_range(i, nid, &start_pfn, &end_pfn, NULL) {
 		start_pfn = clamp(start_pfn, range_start_pfn, range_end_pfn);
 		end_pfn = clamp(end_pfn, range_start_pfn, range_end_pfn);
+		hole_start_pfn = clamp(hole_start_pfn, range_start_pfn,
+				       range_end_pfn);
 
 		if (end_pfn > start_pfn) {
 			size = end_pfn - start_pfn;
 			memmap_init_zone(size, nid, zone, start_pfn,
 					 MEMINIT_EARLY, NULL, MIGRATE_MOVABLE);
 		}
+
+		if (hole_start_pfn < start_pfn)
+			pgcnt += init_unavailable_range(hole_start_pfn,
+							start_pfn, zone, nid);
+		hole_start_pfn = end_pfn;
 	}
+
+	/*
+	 * Early sections always have a fully populated memmap for the whole
+	 * section - see pfn_valid(). If the last section has holes at the
+	 * end and that section is marked "online", the memmap will be
+	 * considered initialized. Make sure that memmap has a well defined
+	 * state.
+	 */
+	if (hole_start_pfn < range_end_pfn)
+		pgcnt += init_unavailable_range(hole_start_pfn, range_end_pfn,
+						zone, nid);
+
+	if (pgcnt)
+		pr_info("%s: Zeroed struct page in unavailable ranges: %lld\n",
+			zone_names[zone], pgcnt);
 }
 
 static int zone_batchsize(struct zone *zone)
@@ -6995,88 +7056,6 @@ void __init free_area_init_memoryless_node(int nid)
 	free_area_init_node(nid);
 }
 
-#if !defined(CONFIG_FLAT_NODE_MEM_MAP)
-/*
- * Initialize all valid struct pages in the range [spfn, epfn) and mark them
- * PageReserved(). Return the number of struct pages that were initialized.
- */
-static u64 __init init_unavailable_range(unsigned long spfn, unsigned long epfn)
-{
-	unsigned long pfn;
-	u64 pgcnt = 0;
-
-	for (pfn = spfn; pfn < epfn; pfn++) {
-		if (!pfn_valid(ALIGN_DOWN(pfn, pageblock_nr_pages))) {
-			pfn = ALIGN_DOWN(pfn, pageblock_nr_pages)
-				+ pageblock_nr_pages - 1;
-			continue;
-		}
-		/*
-		 * Use a fake node/zone (0) for now. Some of these pages
-		 * (in memblock.reserved but not in memblock.memory) will
-		 * get re-initialized via reserve_bootmem_region() later.
-		 */
-		__init_single_page(pfn_to_page(pfn), pfn, 0, 0);
-		__SetPageReserved(pfn_to_page(pfn));
-		pgcnt++;
-	}
-
-	return pgcnt;
-}
-
-/*
- * Only struct pages that are backed by physical memory are zeroed and
- * initialized by going through __init_single_page(). But, there are some
- * struct pages which are reserved in memblock allocator and their fields
- * may be accessed (for example page_to_pfn() on some configuration accesses
- * flags). We must explicitly initialize those struct pages.
- *
- * This function also addresses a similar issue where struct pages are left
- * uninitialized because the physical address range is not covered by
- * memblock.memory or memblock.reserved. That could happen when memblock
- * layout is manually configured via memmap=, or when the highest physical
- * address (max_pfn) does not end on a section boundary.
- */
-static void __init init_unavailable_mem(void)
-{
-	phys_addr_t start, end;
-	u64 i, pgcnt;
-	phys_addr_t next = 0;
-
-	/*
-	 * Loop through unavailable ranges not covered by memblock.memory.
-	 */
-	pgcnt = 0;
-	for_each_mem_range(i, &start, &end) {
-		if (next < start)
-			pgcnt += init_unavailable_range(PFN_DOWN(next),
-							PFN_UP(start));
-		next = end;
-	}
-
-	/*
-	 * Early sections always have a fully populated memmap for the whole
-	 * section - see pfn_valid(). If the last section has holes at the
-	 * end and that section is marked "online", the memmap will be
-	 * considered initialized. Make sure that memmap has a well defined
-	 * state.
-	 */
-	pgcnt += init_unavailable_range(PFN_DOWN(next),
-					round_up(max_pfn, PAGES_PER_SECTION));
-
-	/*
-	 * Struct pages that do not have backing memory. This could be because
-	 * firmware is using some of this memory, or for some other reasons.
-	 */
-	if (pgcnt)
-		pr_info("Zeroed struct page in unavailable ranges: %lld pages", pgcnt);
-}
-#else
-static inline void __init init_unavailable_mem(void)
-{
-}
-#endif /* !CONFIG_FLAT_NODE_MEM_MAP */
-
 #if MAX_NUMNODES > 1
 /*
  * Figure out the number of possible node ids.
@@ -7507,7 +7486,6 @@ void __init free_area_init(unsigned long *max_zone_pfn)
 	/* Initialise every node */
 	mminit_verify_pageflags_layout();
 	setup_nr_node_ids();
-	init_unavailable_mem();
 	for_each_online_node(nid) {
 		pg_data_t *pgdat = NODE_DATA(nid);
 		free_area_init_node(nid);
-- 
2.28.0


^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout
  2020-12-09 21:43 ` [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout Mike Rapoport
@ 2020-12-10  1:51   ` Andrea Arcangeli
  2020-12-10  9:29   ` Greg KH
  2021-01-04 19:03   ` Qian Cai
  2 siblings, 0 replies; 18+ messages in thread
From: Andrea Arcangeli @ 2020-12-10  1:51 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: Andrew Morton, Baoquan He, David Hildenbrand, Mel Gorman,
	Michal Hocko, Mike Rapoport, Qian Cai, Vlastimil Babka,
	linux-kernel, linux-mm, stable

Hello,

On Wed, Dec 09, 2020 at 11:43:04PM +0200, Mike Rapoport wrote:
> +void __init __weak memmap_init(unsigned long size, int nid,
> +			       unsigned long zone,
> +			       unsigned long range_start_pfn)
> +{
> +	unsigned long start_pfn, end_pfn, hole_start_pfn = 0;
>  	unsigned long range_end_pfn = range_start_pfn + size;
> +	u64 pgcnt = 0;
>  	int i;
>  
>  	for_each_mem_pfn_range(i, nid, &start_pfn, &end_pfn, NULL) {
>  		start_pfn = clamp(start_pfn, range_start_pfn, range_end_pfn);
>  		end_pfn = clamp(end_pfn, range_start_pfn, range_end_pfn);
> +		hole_start_pfn = clamp(hole_start_pfn, range_start_pfn,
> +				       range_end_pfn);
>  
>  		if (end_pfn > start_pfn) {
>  			size = end_pfn - start_pfn;
>  			memmap_init_zone(size, nid, zone, start_pfn,
>  					 MEMINIT_EARLY, NULL, MIGRATE_MOVABLE);
>  		}
> +
> +		if (hole_start_pfn < start_pfn)
> +			pgcnt += init_unavailable_range(hole_start_pfn,
> +							start_pfn, zone, nid);
> +		hole_start_pfn = end_pfn;
>  	}

After applying the new 1/2, the above loop seem to be functionally a
noop compared to what was in -mm yesterday, so the above looks great
as far as I'm concerned.

Unlike the simple fix this will not loop over holes that aren't part
of memblock.memory nor memblock.reserved and it drops the static
variable which would have required ordering and serialization.

By being functionally equivalent, it looks it also suffers from the
same dependency on pfn 0 (and not just pfn 0) being reserved that you
pointed out earlier.

I suppose to drop that further dependency we need a further round down
in this logic to the start of the pageblock_order or max-order like
mentioned yesterday?

If the first pfn of a pageblock (or maybe better a max-order block) is
valid, but not in memblock.reserved nor memblock.memory and any other
pages in such pageblock is freed to the buddy allocator, we should
make sure the whole pageblock gets initialized (or at least the pages
with a pfn lower than the one that was added to the buddy). So
applying a round down in the above loop might just do the trick.

Since the removal of that extra dependency was mostly orthogonal with
the above, I guess it's actually cleaner to do it incrementally.

I'd suggest to also document why we're doing it, in the code (not just
commit header) of the incremental patch, by mentioning which are the
specific VM invariants we're enforcing that the VM code always
depended upon, that required the rundown etc...

In the meantime I'll try to update all systems again with this
implementation to test it.

Thanks!
Andrea


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 1/2] mm: memblock: enforce overlap of memory.memblock and memory.reserved
  2020-12-09 21:43 ` [PATCH v2 1/2] mm: memblock: enforce overlap of memory.memblock and memory.reserved Mike Rapoport
@ 2020-12-10  9:28   ` Greg KH
  2020-12-14 10:11   ` David Hildenbrand
  1 sibling, 0 replies; 18+ messages in thread
From: Greg KH @ 2020-12-10  9:28 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: Andrew Morton, Andrea Arcangeli, Baoquan He, David Hildenbrand,
	Mel Gorman, Michal Hocko, Mike Rapoport, Qian Cai,
	Vlastimil Babka, linux-kernel, linux-mm, stable

On Wed, Dec 09, 2020 at 11:43:03PM +0200, Mike Rapoport wrote:
> From: Mike Rapoport <rppt@linux.ibm.com>
> 
> memblock does not require that the reserved memory ranges will be a subset
> of memblock.memory.
> 
> As the result there maybe reserved pages that are not in the range of any
> zone or node because zone and node boundaries are detected based on
> memblock.memory and pages that only present in memblock.reserved are not
> taken into account during zone/node size detection.
> 
> Make sure that all ranges in memblock.reserved are added to memblock.memory
> before calculating node and zone boundaries.
> 
> Fixes: 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions rather that check each PFN")
> Reported-by: Andrea Arcangeli <aarcange@redhat.com>
> Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
> ---
>  include/linux/memblock.h |  1 +
>  mm/memblock.c            | 24 ++++++++++++++++++++++++
>  mm/page_alloc.c          |  7 +++++++
>  3 files changed, 32 insertions(+)


<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree.  Please read:
    https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for how to do this properly.

</formletter>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout
  2020-12-09 21:43 ` [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout Mike Rapoport
  2020-12-10  1:51   ` Andrea Arcangeli
@ 2020-12-10  9:29   ` Greg KH
  2021-01-04 19:03   ` Qian Cai
  2 siblings, 0 replies; 18+ messages in thread
From: Greg KH @ 2020-12-10  9:29 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: Andrew Morton, Andrea Arcangeli, Baoquan He, David Hildenbrand,
	Mel Gorman, Michal Hocko, Mike Rapoport, Qian Cai,
	Vlastimil Babka, linux-kernel, linux-mm, stable

On Wed, Dec 09, 2020 at 11:43:04PM +0200, Mike Rapoport wrote:
> From: Mike Rapoport <rppt@linux.ibm.com>
> 
> There could be struct pages that are not backed by actual physical memory.
> This can happen when the actual memory bank is not a multiple of
> SECTION_SIZE or when an architecture does not register memory holes
> reserved by the firmware as memblock.memory.
> 
> Such pages are currently initialized using init_unavailable_mem() function
> that iterated through PFNs in holes in memblock.memory and if there is a
> struct page corresponding to a PFN, the fields if this page are set to
> default values and it is marked as Reserved.
> 
> init_unavailable_mem() does not take into account zone and node the page
> belongs to and sets both zone and node links in struct page to zero.
> 
> On a system that has firmware reserved holes in a zone above ZONE_DMA, for
> instance in a configuration below:
> 
> 	# grep -A1 E820 /proc/iomem
> 	7a17b000-7a216fff : Unknown E820 type
> 	7a217000-7bffffff : System RAM
> 
> unset zone link in struct page will trigger
> 
> 	VM_BUG_ON_PAGE(!zone_spans_pfn(page_zone(page), pfn), page);
> 
> because there are pages in both ZONE_DMA32 and ZONE_DMA (unset zone link in
> struct page) in the same pageblock.
> 
> Interleave initialization of pages that correspond to holes with the
> initialization of memory map, so that zone and node information will be
> properly set on such pages.
> 
> Fixes: 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions rather
> that check each PFN")
> Reported-by: Andrea Arcangeli <aarcange@redhat.com>
> Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
> ---
>  mm/page_alloc.c | 152 +++++++++++++++++++++---------------------------
>  1 file changed, 65 insertions(+), 87 deletions(-)


<formletter>

This is not the correct way to submit patches for inclusion in the
stable kernel tree.  Please read:
    https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for how to do this properly.

</formletter>

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 1/2] mm: memblock: enforce overlap of memory.memblock and memory.reserved
  2020-12-09 21:43 ` [PATCH v2 1/2] mm: memblock: enforce overlap of memory.memblock and memory.reserved Mike Rapoport
  2020-12-10  9:28   ` Greg KH
@ 2020-12-14 10:11   ` David Hildenbrand
  2020-12-14 11:12     ` Mike Rapoport
  1 sibling, 1 reply; 18+ messages in thread
From: David Hildenbrand @ 2020-12-14 10:11 UTC (permalink / raw)
  To: Mike Rapoport, Andrew Morton
  Cc: Andrea Arcangeli, Baoquan He, Mel Gorman, Michal Hocko,
	Mike Rapoport, Qian Cai, Vlastimil Babka, linux-kernel, linux-mm,
	stable, Dan Williams

On 09.12.20 22:43, Mike Rapoport wrote:
> From: Mike Rapoport <rppt@linux.ibm.com>
> 
> memblock does not require that the reserved memory ranges will be a subset
> of memblock.memory.
> 
> As the result there maybe reserved pages that are not in the range of any
> zone or node because zone and node boundaries are detected based on
> memblock.memory and pages that only present in memblock.reserved are not
> taken into account during zone/node size detection.
> 
> Make sure that all ranges in memblock.reserved are added to memblock.memory
> before calculating node and zone boundaries.
> 
> Fixes: 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions rather that check each PFN")
> Reported-by: Andrea Arcangeli <aarcange@redhat.com>
> Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
> ---
>  include/linux/memblock.h |  1 +
>  mm/memblock.c            | 24 ++++++++++++++++++++++++
>  mm/page_alloc.c          |  7 +++++++
>  3 files changed, 32 insertions(+)
> 
> diff --git a/include/linux/memblock.h b/include/linux/memblock.h
> index ef131255cedc..e64dae2dd1ce 100644
> --- a/include/linux/memblock.h
> +++ b/include/linux/memblock.h
> @@ -120,6 +120,7 @@ int memblock_clear_nomap(phys_addr_t base, phys_addr_t size);
>  unsigned long memblock_free_all(void);
>  void reset_node_managed_pages(pg_data_t *pgdat);
>  void reset_all_zones_managed_pages(void);
> +void memblock_enforce_memory_reserved_overlap(void);
>  
>  /* Low level functions */
>  void __next_mem_range(u64 *idx, int nid, enum memblock_flags flags,
> diff --git a/mm/memblock.c b/mm/memblock.c
> index b68ee86788af..9277aca642b2 100644
> --- a/mm/memblock.c
> +++ b/mm/memblock.c
> @@ -1857,6 +1857,30 @@ void __init_memblock memblock_trim_memory(phys_addr_t align)
>  	}
>  }
>  
> +/**
> + * memblock_enforce_memory_reserved_overlap - make sure every range in
> + * @memblock.reserved is covered by @memblock.memory
> + *
> + * The data in @memblock.memory is used to detect zone and node boundaries
> + * during initialization of the memory map and the page allocator. Make
> + * sure that every memory range present in @memblock.reserved is also added
> + * to @memblock.memory even if the architecture specific memory
> + * initialization failed to do so
> + */
> +void __init memblock_enforce_memory_reserved_overlap(void)
> +{
> +	phys_addr_t start, end;
> +	int nid;
> +	u64 i;
> +
> +	__for_each_mem_range(i, &memblock.reserved, &memblock.memory,
> +			     NUMA_NO_NODE, MEMBLOCK_NONE, &start, &end, &nid) {
> +		pr_warn("memblock: reserved range [%pa-%pa] is not in memory\n",
> +			&start, &end);
> +		memblock_add_node(start, (end - start), nid);
> +	}
> +}
> +
>  void __init_memblock memblock_set_current_limit(phys_addr_t limit)
>  {
>  	memblock.current_limit = limit;
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index eaa227a479e4..dbc57dbbacd8 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -7436,6 +7436,13 @@ void __init free_area_init(unsigned long *max_zone_pfn)
>  	memset(arch_zone_highest_possible_pfn, 0,
>  				sizeof(arch_zone_highest_possible_pfn));
>  
> +	/*
> +	 * Some architectures (e.g. x86) have reserved pages outside of
> +	 * memblock.memory. Make sure these pages are taken into account
> +	 * when detecting zone and node boundaries
> +	 */
> +	memblock_enforce_memory_reserved_overlap();
> +
>  	start_pfn = find_min_pfn_with_active_regions();
>  	descending = arch_has_descending_max_zone_pfns();
>  
> 

CCing Dan.

This implies that any memory that is E820_TYPE_SOFT_RESERVED that was
reserved via memblock_reserve() will be added via memblock_add_node() as
well, resulting in all such memory getting a memmap allocated right when
booting up, right?

IIRC, there are use cases where that is absolutely not desired.

Am I missing something? (@Dan?)

-- 
Thanks,

David / dhildenb


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 1/2] mm: memblock: enforce overlap of memory.memblock and memory.reserved
  2020-12-14 10:11   ` David Hildenbrand
@ 2020-12-14 11:12     ` Mike Rapoport
  2020-12-14 11:18       ` David Hildenbrand
  0 siblings, 1 reply; 18+ messages in thread
From: Mike Rapoport @ 2020-12-14 11:12 UTC (permalink / raw)
  To: David Hildenbrand
  Cc: Andrew Morton, Andrea Arcangeli, Baoquan He, Mel Gorman,
	Michal Hocko, Mike Rapoport, Qian Cai, Vlastimil Babka,
	linux-kernel, linux-mm, stable, Dan Williams

On Mon, Dec 14, 2020 at 11:11:35AM +0100, David Hildenbrand wrote:
> On 09.12.20 22:43, Mike Rapoport wrote:
> > From: Mike Rapoport <rppt@linux.ibm.com>
> > 
> > memblock does not require that the reserved memory ranges will be a subset
> > of memblock.memory.
> > 
> > As the result there maybe reserved pages that are not in the range of any
> > zone or node because zone and node boundaries are detected based on
> > memblock.memory and pages that only present in memblock.reserved are not
> > taken into account during zone/node size detection.
> > 
> > Make sure that all ranges in memblock.reserved are added to memblock.memory
> > before calculating node and zone boundaries.
> > 
> > Fixes: 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions rather that check each PFN")
> > Reported-by: Andrea Arcangeli <aarcange@redhat.com>
> > Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
> > ---
> >  include/linux/memblock.h |  1 +
> >  mm/memblock.c            | 24 ++++++++++++++++++++++++
> >  mm/page_alloc.c          |  7 +++++++
> >  3 files changed, 32 insertions(+)
> > 
> > diff --git a/include/linux/memblock.h b/include/linux/memblock.h
> > index ef131255cedc..e64dae2dd1ce 100644
> > --- a/include/linux/memblock.h
> > +++ b/include/linux/memblock.h
> > @@ -120,6 +120,7 @@ int memblock_clear_nomap(phys_addr_t base, phys_addr_t size);
> >  unsigned long memblock_free_all(void);
> >  void reset_node_managed_pages(pg_data_t *pgdat);
> >  void reset_all_zones_managed_pages(void);
> > +void memblock_enforce_memory_reserved_overlap(void);
> >  
> >  /* Low level functions */
> >  void __next_mem_range(u64 *idx, int nid, enum memblock_flags flags,
> > diff --git a/mm/memblock.c b/mm/memblock.c
> > index b68ee86788af..9277aca642b2 100644
> > --- a/mm/memblock.c
> > +++ b/mm/memblock.c
> > @@ -1857,6 +1857,30 @@ void __init_memblock memblock_trim_memory(phys_addr_t align)
> >  	}
> >  }
> >  
> > +/**
> > + * memblock_enforce_memory_reserved_overlap - make sure every range in
> > + * @memblock.reserved is covered by @memblock.memory
> > + *
> > + * The data in @memblock.memory is used to detect zone and node boundaries
> > + * during initialization of the memory map and the page allocator. Make
> > + * sure that every memory range present in @memblock.reserved is also added
> > + * to @memblock.memory even if the architecture specific memory
> > + * initialization failed to do so
> > + */
> > +void __init memblock_enforce_memory_reserved_overlap(void)
> > +{
> > +	phys_addr_t start, end;
> > +	int nid;
> > +	u64 i;
> > +
> > +	__for_each_mem_range(i, &memblock.reserved, &memblock.memory,
> > +			     NUMA_NO_NODE, MEMBLOCK_NONE, &start, &end, &nid) {
> > +		pr_warn("memblock: reserved range [%pa-%pa] is not in memory\n",
> > +			&start, &end);
> > +		memblock_add_node(start, (end - start), nid);
> > +	}
> > +}
> > +
> >  void __init_memblock memblock_set_current_limit(phys_addr_t limit)
> >  {
> >  	memblock.current_limit = limit;
> > diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> > index eaa227a479e4..dbc57dbbacd8 100644
> > --- a/mm/page_alloc.c
> > +++ b/mm/page_alloc.c
> > @@ -7436,6 +7436,13 @@ void __init free_area_init(unsigned long *max_zone_pfn)
> >  	memset(arch_zone_highest_possible_pfn, 0,
> >  				sizeof(arch_zone_highest_possible_pfn));
> >  
> > +	/*
> > +	 * Some architectures (e.g. x86) have reserved pages outside of
> > +	 * memblock.memory. Make sure these pages are taken into account
> > +	 * when detecting zone and node boundaries
> > +	 */
> > +	memblock_enforce_memory_reserved_overlap();
> > +
> >  	start_pfn = find_min_pfn_with_active_regions();
> >  	descending = arch_has_descending_max_zone_pfns();
> >  
> > 
> 
> CCing Dan.
> 
> This implies that any memory that is E820_TYPE_SOFT_RESERVED that was
> reserved via memblock_reserve() will be added via memblock_add_node() as
> well, resulting in all such memory getting a memmap allocated right when
> booting up, right?
> 
> IIRC, there are use cases where that is absolutely not desired.

Hmm, if this is the case we need entirely different solution to ensure
that we don't have partial pageblocks in a zone and we have all the
memory map initialized to a known state.

> Am I missing something? (@Dan?)

BTW, @Dan, why did you need to memblock_reserve(E820_TYPE_SOFT_RESERVED)
without memblock_add()ing it?

> -- 
> Thanks,
> 
> David / dhildenb
> 

-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 1/2] mm: memblock: enforce overlap of memory.memblock and memory.reserved
  2020-12-14 11:12     ` Mike Rapoport
@ 2020-12-14 11:18       ` David Hildenbrand
  2020-12-14 13:58         ` Andrea Arcangeli
  0 siblings, 1 reply; 18+ messages in thread
From: David Hildenbrand @ 2020-12-14 11:18 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: Andrew Morton, Andrea Arcangeli, Baoquan He, Mel Gorman,
	Michal Hocko, Mike Rapoport, Qian Cai, Vlastimil Babka,
	linux-kernel, linux-mm, stable, Dan Williams

On 14.12.20 12:12, Mike Rapoport wrote:
> On Mon, Dec 14, 2020 at 11:11:35AM +0100, David Hildenbrand wrote:
>> On 09.12.20 22:43, Mike Rapoport wrote:
>>> From: Mike Rapoport <rppt@linux.ibm.com>
>>>
>>> memblock does not require that the reserved memory ranges will be a subset
>>> of memblock.memory.
>>>
>>> As the result there maybe reserved pages that are not in the range of any
>>> zone or node because zone and node boundaries are detected based on
>>> memblock.memory and pages that only present in memblock.reserved are not
>>> taken into account during zone/node size detection.
>>>
>>> Make sure that all ranges in memblock.reserved are added to memblock.memory
>>> before calculating node and zone boundaries.
>>>
>>> Fixes: 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions rather that check each PFN")
>>> Reported-by: Andrea Arcangeli <aarcange@redhat.com>
>>> Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
>>> ---
>>>  include/linux/memblock.h |  1 +
>>>  mm/memblock.c            | 24 ++++++++++++++++++++++++
>>>  mm/page_alloc.c          |  7 +++++++
>>>  3 files changed, 32 insertions(+)
>>>
>>> diff --git a/include/linux/memblock.h b/include/linux/memblock.h
>>> index ef131255cedc..e64dae2dd1ce 100644
>>> --- a/include/linux/memblock.h
>>> +++ b/include/linux/memblock.h
>>> @@ -120,6 +120,7 @@ int memblock_clear_nomap(phys_addr_t base, phys_addr_t size);
>>>  unsigned long memblock_free_all(void);
>>>  void reset_node_managed_pages(pg_data_t *pgdat);
>>>  void reset_all_zones_managed_pages(void);
>>> +void memblock_enforce_memory_reserved_overlap(void);
>>>  
>>>  /* Low level functions */
>>>  void __next_mem_range(u64 *idx, int nid, enum memblock_flags flags,
>>> diff --git a/mm/memblock.c b/mm/memblock.c
>>> index b68ee86788af..9277aca642b2 100644
>>> --- a/mm/memblock.c
>>> +++ b/mm/memblock.c
>>> @@ -1857,6 +1857,30 @@ void __init_memblock memblock_trim_memory(phys_addr_t align)
>>>  	}
>>>  }
>>>  
>>> +/**
>>> + * memblock_enforce_memory_reserved_overlap - make sure every range in
>>> + * @memblock.reserved is covered by @memblock.memory
>>> + *
>>> + * The data in @memblock.memory is used to detect zone and node boundaries
>>> + * during initialization of the memory map and the page allocator. Make
>>> + * sure that every memory range present in @memblock.reserved is also added
>>> + * to @memblock.memory even if the architecture specific memory
>>> + * initialization failed to do so
>>> + */
>>> +void __init memblock_enforce_memory_reserved_overlap(void)
>>> +{
>>> +	phys_addr_t start, end;
>>> +	int nid;
>>> +	u64 i;
>>> +
>>> +	__for_each_mem_range(i, &memblock.reserved, &memblock.memory,
>>> +			     NUMA_NO_NODE, MEMBLOCK_NONE, &start, &end, &nid) {
>>> +		pr_warn("memblock: reserved range [%pa-%pa] is not in memory\n",
>>> +			&start, &end);
>>> +		memblock_add_node(start, (end - start), nid);
>>> +	}
>>> +}
>>> +
>>>  void __init_memblock memblock_set_current_limit(phys_addr_t limit)
>>>  {
>>>  	memblock.current_limit = limit;
>>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
>>> index eaa227a479e4..dbc57dbbacd8 100644
>>> --- a/mm/page_alloc.c
>>> +++ b/mm/page_alloc.c
>>> @@ -7436,6 +7436,13 @@ void __init free_area_init(unsigned long *max_zone_pfn)
>>>  	memset(arch_zone_highest_possible_pfn, 0,
>>>  				sizeof(arch_zone_highest_possible_pfn));
>>>  
>>> +	/*
>>> +	 * Some architectures (e.g. x86) have reserved pages outside of
>>> +	 * memblock.memory. Make sure these pages are taken into account
>>> +	 * when detecting zone and node boundaries
>>> +	 */
>>> +	memblock_enforce_memory_reserved_overlap();
>>> +
>>>  	start_pfn = find_min_pfn_with_active_regions();
>>>  	descending = arch_has_descending_max_zone_pfns();
>>>  
>>>
>>
>> CCing Dan.
>>
>> This implies that any memory that is E820_TYPE_SOFT_RESERVED that was
>> reserved via memblock_reserve() will be added via memblock_add_node() as
>> well, resulting in all such memory getting a memmap allocated right when
>> booting up, right?
>>
>> IIRC, there are use cases where that is absolutely not desired.
> 
> Hmm, if this is the case we need entirely different solution to ensure
> that we don't have partial pageblocks in a zone and we have all the
> memory map initialized to a known state.
> 
>> Am I missing something? (@Dan?)
> 
> BTW, @Dan, why did you need to memblock_reserve(E820_TYPE_SOFT_RESERVED)
> without memblock_add()ing it?

I suspect to cover cases where it might partially span memory sections
(or even sub-sections). Maybe we should focus on initializing that part
only - meaning, not adding all memory to .memory but only !section
aligned pieces.


-- 
Thanks,

David / dhildenb


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 1/2] mm: memblock: enforce overlap of memory.memblock and memory.reserved
  2020-12-14 11:18       ` David Hildenbrand
@ 2020-12-14 13:58         ` Andrea Arcangeli
  0 siblings, 0 replies; 18+ messages in thread
From: Andrea Arcangeli @ 2020-12-14 13:58 UTC (permalink / raw)
  To: David Hildenbrand
  Cc: Mike Rapoport, Andrew Morton, Baoquan He, Mel Gorman,
	Michal Hocko, Mike Rapoport, Qian Cai, Vlastimil Babka,
	linux-kernel, linux-mm, stable, Dan Williams

On Mon, Dec 14, 2020 at 12:18:07PM +0100, David Hildenbrand wrote:
> On 14.12.20 12:12, Mike Rapoport wrote:
> > On Mon, Dec 14, 2020 at 11:11:35AM +0100, David Hildenbrand wrote:
> >> On 09.12.20 22:43, Mike Rapoport wrote:
> >>> From: Mike Rapoport <rppt@linux.ibm.com>
> >>>
> >>> memblock does not require that the reserved memory ranges will be a subset
> >>> of memblock.memory.
> >>>
> >>> As the result there maybe reserved pages that are not in the range of any
> >>> zone or node because zone and node boundaries are detected based on
> >>> memblock.memory and pages that only present in memblock.reserved are not
> >>> taken into account during zone/node size detection.
> >>>
> >>> Make sure that all ranges in memblock.reserved are added to memblock.memory
> >>> before calculating node and zone boundaries.
> >>>
> >>> Fixes: 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions rather that check each PFN")
> >>> Reported-by: Andrea Arcangeli <aarcange@redhat.com>
> >>> Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
> >>> ---
> >>>  include/linux/memblock.h |  1 +
> >>>  mm/memblock.c            | 24 ++++++++++++++++++++++++
> >>>  mm/page_alloc.c          |  7 +++++++
> >>>  3 files changed, 32 insertions(+)
> >>>
> >>> diff --git a/include/linux/memblock.h b/include/linux/memblock.h
> >>> index ef131255cedc..e64dae2dd1ce 100644
> >>> --- a/include/linux/memblock.h
> >>> +++ b/include/linux/memblock.h
> >>> @@ -120,6 +120,7 @@ int memblock_clear_nomap(phys_addr_t base, phys_addr_t size);
> >>>  unsigned long memblock_free_all(void);
> >>>  void reset_node_managed_pages(pg_data_t *pgdat);
> >>>  void reset_all_zones_managed_pages(void);
> >>> +void memblock_enforce_memory_reserved_overlap(void);
> >>>  
> >>>  /* Low level functions */
> >>>  void __next_mem_range(u64 *idx, int nid, enum memblock_flags flags,
> >>> diff --git a/mm/memblock.c b/mm/memblock.c
> >>> index b68ee86788af..9277aca642b2 100644
> >>> --- a/mm/memblock.c
> >>> +++ b/mm/memblock.c
> >>> @@ -1857,6 +1857,30 @@ void __init_memblock memblock_trim_memory(phys_addr_t align)
> >>>  	}
> >>>  }
> >>>  
> >>> +/**
> >>> + * memblock_enforce_memory_reserved_overlap - make sure every range in
> >>> + * @memblock.reserved is covered by @memblock.memory
> >>> + *
> >>> + * The data in @memblock.memory is used to detect zone and node boundaries
> >>> + * during initialization of the memory map and the page allocator. Make
> >>> + * sure that every memory range present in @memblock.reserved is also added
> >>> + * to @memblock.memory even if the architecture specific memory
> >>> + * initialization failed to do so
> >>> + */
> >>> +void __init memblock_enforce_memory_reserved_overlap(void)
> >>> +{
> >>> +	phys_addr_t start, end;
> >>> +	int nid;
> >>> +	u64 i;
> >>> +
> >>> +	__for_each_mem_range(i, &memblock.reserved, &memblock.memory,
> >>> +			     NUMA_NO_NODE, MEMBLOCK_NONE, &start, &end, &nid) {
> >>> +		pr_warn("memblock: reserved range [%pa-%pa] is not in memory\n",
> >>> +			&start, &end);
> >>> +		memblock_add_node(start, (end - start), nid);
> >>> +	}
> >>> +}
> >>> +
> >>>  void __init_memblock memblock_set_current_limit(phys_addr_t limit)
> >>>  {
> >>>  	memblock.current_limit = limit;
> >>> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> >>> index eaa227a479e4..dbc57dbbacd8 100644
> >>> --- a/mm/page_alloc.c
> >>> +++ b/mm/page_alloc.c
> >>> @@ -7436,6 +7436,13 @@ void __init free_area_init(unsigned long *max_zone_pfn)
> >>>  	memset(arch_zone_highest_possible_pfn, 0,
> >>>  				sizeof(arch_zone_highest_possible_pfn));
> >>>  
> >>> +	/*
> >>> +	 * Some architectures (e.g. x86) have reserved pages outside of
> >>> +	 * memblock.memory. Make sure these pages are taken into account
> >>> +	 * when detecting zone and node boundaries
> >>> +	 */
> >>> +	memblock_enforce_memory_reserved_overlap();
> >>> +
> >>>  	start_pfn = find_min_pfn_with_active_regions();
> >>>  	descending = arch_has_descending_max_zone_pfns();
> >>>  
> >>>
> >>
> >> CCing Dan.
> >>
> >> This implies that any memory that is E820_TYPE_SOFT_RESERVED that was
> >> reserved via memblock_reserve() will be added via memblock_add_node() as
> >> well, resulting in all such memory getting a memmap allocated right when
> >> booting up, right?
> >>
> >> IIRC, there are use cases where that is absolutely not desired.
> > 
> > Hmm, if this is the case we need entirely different solution to ensure
> > that we don't have partial pageblocks in a zone and we have all the
> > memory map initialized to a known state.
> > 
> >> Am I missing something? (@Dan?)
> > 
> > BTW, @Dan, why did you need to memblock_reserve(E820_TYPE_SOFT_RESERVED)
> > without memblock_add()ing it?
> 
> I suspect to cover cases where it might partially span memory sections
> (or even sub-sections). Maybe we should focus on initializing that part
> only - meaning, not adding all memory to .memory but only !section
> aligned pieces.

We had that information left in the memblock data structure with the
previous implementation in -mm (before adding all memblock.reserved to
memblock.memory). To avoid destroying that information we'll need a
new flag for each range that is not originally in memblock.memory:

===
What you suggest would require adding extra information to flag which
ranges must not have a direct mapping, but that information is already
in memblock today, for each range in memblock_reserved but not in
memblock.memory or did I misunderstand how that no-direct-map detail works?
===

I guess I was too optimistic that this was already implemented, thanks
for noticing.

For the record, I didn't have time to test the new implementation
yet. Since I'm running the "hack" on all machines things have been
stable on v5.9. I'm actually curious if the hack would also fail boot
on the CI system or not, that would help localize the issue into the
implicit memblock_add at least. The memblock debug output won't give
us a direct reproducer, but we can try to generate one by reproducing
the same e820 map in seabios.

Andrea


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout
  2020-12-09 21:43 ` [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout Mike Rapoport
  2020-12-10  1:51   ` Andrea Arcangeli
  2020-12-10  9:29   ` Greg KH
@ 2021-01-04 19:03   ` Qian Cai
  2021-01-05  8:24     ` Mike Rapoport
  2 siblings, 1 reply; 18+ messages in thread
From: Qian Cai @ 2021-01-04 19:03 UTC (permalink / raw)
  To: Mike Rapoport, Andrew Morton
  Cc: Andrea Arcangeli, Baoquan He, David Hildenbrand, Mel Gorman,
	Michal Hocko, Mike Rapoport, Vlastimil Babka, linux-kernel,
	linux-mm, stable, Stephen Rothwell, Linux Next Mailing List

On Wed, 2020-12-09 at 23:43 +0200, Mike Rapoport wrote:
> From: Mike Rapoport <rppt@linux.ibm.com>
> 
> There could be struct pages that are not backed by actual physical memory.
> This can happen when the actual memory bank is not a multiple of
> SECTION_SIZE or when an architecture does not register memory holes
> reserved by the firmware as memblock.memory.
> 
> Such pages are currently initialized using init_unavailable_mem() function
> that iterated through PFNs in holes in memblock.memory and if there is a
> struct page corresponding to a PFN, the fields if this page are set to
> default values and it is marked as Reserved.
> 
> init_unavailable_mem() does not take into account zone and node the page
> belongs to and sets both zone and node links in struct page to zero.
> 
> On a system that has firmware reserved holes in a zone above ZONE_DMA, for
> instance in a configuration below:
> 
> 	# grep -A1 E820 /proc/iomem
> 	7a17b000-7a216fff : Unknown E820 type
> 	7a217000-7bffffff : System RAM
> 
> unset zone link in struct page will trigger
> 
> 	VM_BUG_ON_PAGE(!zone_spans_pfn(page_zone(page), pfn), page);
> 
> because there are pages in both ZONE_DMA32 and ZONE_DMA (unset zone link in
> struct page) in the same pageblock.
> 
> Interleave initialization of pages that correspond to holes with the
> initialization of memory map, so that zone and node information will be
> properly set on such pages.
> 
> Fixes: 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions rather
> that check each PFN")
> Reported-by: Andrea Arcangeli <aarcange@redhat.com>
> Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>

Reverting this commit on the top of today's linux-next fixed a crash while
reading /proc/kpagecount on a NUMA server.

[ 8858.006726][T99897] BUG: unable to handle page fault for address: fffffffffffffffe
[ 8858.014814][T99897] #PF: supervisor read access in kernel mode
[ 8858.020686][T99897] #PF: error_code(0x0000) - not-present page
[ 8858.026557][T99897] PGD 1371417067 P4D 1371417067 PUD 1371419067 PMD 0 
[ 8858.033224][T99897] Oops: 0000 [#1] SMP KASAN NOPTI
[ 8858.038710][T99897] CPU: 28 PID: 99897 Comm: proc01 Tainted: G           O      5.11.0-rc1-next-20210104 #1
[ 8858.048515][T99897] Hardware name: HPE ProLiant DL385 Gen10/ProLiant DL385 Gen10, BIOS A40 03/09/2018
[ 8858.057794][T99897] RIP: 0010:kpagecount_read+0x1be/0x5e0
PageSlab at include/linux/page-flags.h:342
(inlined by) kpagecount_read at fs/proc/page.c:69
[ 8858.063717][T99897] Code: 3c 30 00 0f 85 29 03 00 00 48 8b 53 08 48 8d 42 ff 83 e2 01 48 0f 44 c3 48 89 c2 48 c1 ea 03 42 80 3c 32 00 0f 85 e7 02 00 00 <48> 83 38 ff 0f 84 f3 01 00 00 48 89 c8 48 c1 e8 03 42 80 3c 30 00
[ 8858.083303][T99897] RSP: 0018:ffffc9002159fdd0 EFLAGS: 00010246
[ 8858.089637][T99897] RAX: fffffffffffffffe RBX: ffffea0011fce000 RCX: ffffea0011fce008
[ 8858.097518][T99897] RDX: 1fffffffffffffff RSI: 000000000064d7c0 RDI: ffffffff951f91c8
[ 8858.105396][T99897] RBP: 000000000064d7c0 R08: ffffed129063f402 R09: ffffed129063f402
[ 8858.113760][T99897] R10: ffff8894831fa00b R11: ffffed129063f401 R12: 000000000047f380
[ 8858.121639][T99897] R13: 0000000000000400 R14: dffffc0000000000 R15: 000000000064d7c0
[ 8858.129517][T99897] FS:  00007fd18849d040(0000) GS:ffff88a02fc00000(0000) knlGS:0000000000000000
[ 8858.138886][T99897] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 8858.145369][T99897] CR2: fffffffffffffffe CR3: 0000001c8b5d0000 CR4: 00000000003506e0
[ 8858.153247][T99897] Call Trace:
[ 8858.156415][T99897]  proc_reg_read+0x1a6/0x240
[ 8858.161345][T99897]  vfs_read+0x175/0x440
[ 8858.165383][T99897]  ksys_read+0xf1/0x1c0
[ 8858.169420][T99897]  ? vfs_write+0x870/0x870
[ 8858.173719][T99897]  ? task_work_run+0xeb/0x170
[ 8858.178284][T99897]  ? syscall_enter_from_user_mode+0x1c/0x40
[ 8858.184073][T99897]  do_syscall_64+0x33/0x40
[ 8858.188863][T99897]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
[ 8858.194652][T99897] RIP: 0033:0x7fd187da1d5d
[ 8858.198952][T99897] Code: 31 11 2b 00 31 c9 64 83 3e 0b 75 ca eb b8 e8 ca fb ff ff 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 48 39 ca 77 2b 31 c0 0f 05 <48> 3d 00 f0 ff ff 77 0b c3 66 2e 0f 1f 84 00 00 00 00 00 48 8b 15
[ 8858.218978][T99897] RSP: 002b:00007ffe733de1f8 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
[ 8858.227297][T99897] RAX: ffffffffffffffda RBX: 00007ffe733df370 RCX: 00007fd187da1d5d
[ 8858.235824][T99897] RDX: 0000000000000400 RSI: 000000000064d7c0 RDI: 0000000000000004
[ 8858.243739][T99897] RBP: 0000000000000400 R08: 00000000018fbe73 R09: 00007fd187e13d40
[ 8858.251617][T99897] R10: 0000000000000000 R11: 0000000000000246 R12: 00000000023f9c00
[ 8858.259496][T99897] R13: 0000000000000004 R14: 000000000044663c R15: 0000000000000000
[ 8858.267856][T99897] Modules linked in: vfat fat fuse vfio_pci vfio_virqfd vfio_iommu_type1 vfio loop iavf kvm_amd ses kvm enclosure irqbypass acpi_cpufreq ip_tables x_tables sd_mod smartpqi bnxt_en scsi_transport_sas tg3 i40e firmware_class libphy dm_mirror dm_region_hash dm_log dm_mod [last unloaded: init_module]
[ 8858.296328][T99897] CR2: fffffffffffffffe
[ 8858.300365][T99897] ---[ end trace a307ff8b6e284ee0 ]---
[ 8858.305712][T99897] RIP: 0010:kpagecount_read+0x1be/0x5e0
[ 8858.311613][T99897] Code: 3c 30 00 0f 85 29 03 00 00 48 8b 53 08 48 8d 42 ff 83 e2 01 48 0f 44 c3 48 89 c2 48 c1 ea 03 42 80 3c 32 00 0f 85 e7 02 00 00 <48> 83 38 ff 0f 84 f3 01 00 00 48 89 c8 48 c1 e8 03 42 80 3c 30 00
[ 8858.331200][T99897] RSP: 0018:ffffc9002159fdd0 EFLAGS: 00010246
[ 8858.337573][T99897] RAX: fffffffffffffffe RBX: ffffea0011fce000 RCX: ffffea0011fce008
[ 8858.345454][T99897] RDX: 1fffffffffffffff RSI: 000000000064d7c0 RDI: ffffffff951f91c8
[ 8858.353333][T99897] RBP: 000000000064d7c0 R08: ffffed129063f402 R09: ffffed129063f402
[ 8858.361618][T99897] R10: ffff8894831fa00b R11: ffffed129063f401 R12: 000000000047f380
[ 8858.369497][T99897] R13: 0000000000000400 R14: dffffc0000000000 R15: 000000000064d7c0
[ 8858.377377][T99897] FS:  00007fd18849d040(0000) GS:ffff88a02fc00000(0000) knlGS:0000000000000000
[ 8858.386696][T99897] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 8858.393177][T99897] CR2: fffffffffffffffe CR3: 0000001c8b5d0000 CR4: 00000000003506e0
[ 8858.401056][T99897] Kernel panic - not syncing: Fatal exception
[ 8858.407348][T99897] Kernel Offset: 0x12600000 from 0xffffffff81000000 (relocation range: 0xffffffff80000000-0xffffffffbfffffff)
[ 8858.419260][T99897] ---[ end Kernel panic - not syncing: Fatal exception ]---

> ---
>  mm/page_alloc.c | 152 +++++++++++++++++++++---------------------------
>  1 file changed, 65 insertions(+), 87 deletions(-)
> 
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index dbc57dbbacd8..ea5aefef0004 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -6185,24 +6185,85 @@ static void __meminit zone_init_free_lists(struct zone
> *zone)
>  	}
>  }
>  
> -void __meminit __weak memmap_init(unsigned long size, int nid,
> -				  unsigned long zone,
> -				  unsigned long range_start_pfn)
> +#if !defined(CONFIG_FLAT_NODE_MEM_MAP)
> +/*
> + * Only struct pages that are backed by physical memory available to the
> + * kernel are zeroed and initialized by memmap_init_zone().
> + * But, there are some struct pages that are either reserved by firmware or
> + * do not correspond to physical page frames becuase the actual memory bank
> + * is not a multiple of SECTION_SIZE.
> + * Fields of those struct pages may be accessed (for example page_to_pfn()
> + * on some configuration accesses page flags) so we must explicitly
> + * initialize those struct pages.
> + */
> +static u64 __init init_unavailable_range(unsigned long spfn, unsigned long
> epfn,
> +					 int zone, int node)
>  {
> -	unsigned long start_pfn, end_pfn;
> +	unsigned long pfn;
> +	u64 pgcnt = 0;
> +
> +	for (pfn = spfn; pfn < epfn; pfn++) {
> +		if (!pfn_valid(ALIGN_DOWN(pfn, pageblock_nr_pages))) {
> +			pfn = ALIGN_DOWN(pfn, pageblock_nr_pages)
> +				+ pageblock_nr_pages - 1;
> +			continue;
> +		}
> +		__init_single_page(pfn_to_page(pfn), pfn, zone, node);
> +		__SetPageReserved(pfn_to_page(pfn));
> +		pgcnt++;
> +	}
> +
> +	return pgcnt;
> +}
> +#else
> +static inline u64 init_unavailable_range(unsigned long spfn, unsigned long
> epfn,
> +					 int zone, int node)
> +{
> +	return 0;
> +}
> +#endif
> +
> +void __init __weak memmap_init(unsigned long size, int nid,
> +			       unsigned long zone,
> +			       unsigned long range_start_pfn)
> +{
> +	unsigned long start_pfn, end_pfn, hole_start_pfn = 0;
>  	unsigned long range_end_pfn = range_start_pfn + size;
> +	u64 pgcnt = 0;
>  	int i;
>  
>  	for_each_mem_pfn_range(i, nid, &start_pfn, &end_pfn, NULL) {
>  		start_pfn = clamp(start_pfn, range_start_pfn, range_end_pfn);
>  		end_pfn = clamp(end_pfn, range_start_pfn, range_end_pfn);
> +		hole_start_pfn = clamp(hole_start_pfn, range_start_pfn,
> +				       range_end_pfn);
>  
>  		if (end_pfn > start_pfn) {
>  			size = end_pfn - start_pfn;
>  			memmap_init_zone(size, nid, zone, start_pfn,
>  					 MEMINIT_EARLY, NULL, MIGRATE_MOVABLE);
>  		}
> +
> +		if (hole_start_pfn < start_pfn)
> +			pgcnt += init_unavailable_range(hole_start_pfn,
> +							start_pfn, zone, nid);
> +		hole_start_pfn = end_pfn;
>  	}
> +
> +	/*
> +	 * Early sections always have a fully populated memmap for the whole
> +	 * section - see pfn_valid(). If the last section has holes at the
> +	 * end and that section is marked "online", the memmap will be
> +	 * considered initialized. Make sure that memmap has a well defined
> +	 * state.
> +	 */
> +	if (hole_start_pfn < range_end_pfn)
> +		pgcnt += init_unavailable_range(hole_start_pfn, range_end_pfn,
> +						zone, nid);
> +
> +	if (pgcnt)
> +		pr_info("%s: Zeroed struct page in unavailable ranges: %lld\n",
> +			zone_names[zone], pgcnt);
>  }
>  
>  static int zone_batchsize(struct zone *zone)
> @@ -6995,88 +7056,6 @@ void __init free_area_init_memoryless_node(int nid)
>  	free_area_init_node(nid);
>  }
>  
> -#if !defined(CONFIG_FLAT_NODE_MEM_MAP)
> -/*
> - * Initialize all valid struct pages in the range [spfn, epfn) and mark them
> - * PageReserved(). Return the number of struct pages that were initialized.
> - */
> -static u64 __init init_unavailable_range(unsigned long spfn, unsigned long
> epfn)
> -{
> -	unsigned long pfn;
> -	u64 pgcnt = 0;
> -
> -	for (pfn = spfn; pfn < epfn; pfn++) {
> -		if (!pfn_valid(ALIGN_DOWN(pfn, pageblock_nr_pages))) {
> -			pfn = ALIGN_DOWN(pfn, pageblock_nr_pages)
> -				+ pageblock_nr_pages - 1;
> -			continue;
> -		}
> -		/*
> -		 * Use a fake node/zone (0) for now. Some of these pages
> -		 * (in memblock.reserved but not in memblock.memory) will
> -		 * get re-initialized via reserve_bootmem_region() later.
> -		 */
> -		__init_single_page(pfn_to_page(pfn), pfn, 0, 0);
> -		__SetPageReserved(pfn_to_page(pfn));
> -		pgcnt++;
> -	}
> -
> -	return pgcnt;
> -}
> -
> -/*
> - * Only struct pages that are backed by physical memory are zeroed and
> - * initialized by going through __init_single_page(). But, there are some
> - * struct pages which are reserved in memblock allocator and their fields
> - * may be accessed (for example page_to_pfn() on some configuration accesses
> - * flags). We must explicitly initialize those struct pages.
> - *
> - * This function also addresses a similar issue where struct pages are left
> - * uninitialized because the physical address range is not covered by
> - * memblock.memory or memblock.reserved. That could happen when memblock
> - * layout is manually configured via memmap=, or when the highest physical
> - * address (max_pfn) does not end on a section boundary.
> - */
> -static void __init init_unavailable_mem(void)
> -{
> -	phys_addr_t start, end;
> -	u64 i, pgcnt;
> -	phys_addr_t next = 0;
> -
> -	/*
> -	 * Loop through unavailable ranges not covered by memblock.memory.
> -	 */
> -	pgcnt = 0;
> -	for_each_mem_range(i, &start, &end) {
> -		if (next < start)
> -			pgcnt += init_unavailable_range(PFN_DOWN(next),
> -							PFN_UP(start));
> -		next = end;
> -	}
> -
> -	/*
> -	 * Early sections always have a fully populated memmap for the whole
> -	 * section - see pfn_valid(). If the last section has holes at the
> -	 * end and that section is marked "online", the memmap will be
> -	 * considered initialized. Make sure that memmap has a well defined
> -	 * state.
> -	 */
> -	pgcnt += init_unavailable_range(PFN_DOWN(next),
> -					round_up(max_pfn, PAGES_PER_SECTION));
> -
> -	/*
> -	 * Struct pages that do not have backing memory. This could be because
> -	 * firmware is using some of this memory, or for some other reasons.
> -	 */
> -	if (pgcnt)
> -		pr_info("Zeroed struct page in unavailable ranges: %lld pages",
> pgcnt);
> -}
> -#else
> -static inline void __init init_unavailable_mem(void)
> -{
> -}
> -#endif /* !CONFIG_FLAT_NODE_MEM_MAP */
> -
>  #if MAX_NUMNODES > 1
>  /*
>   * Figure out the number of possible node ids.
> @@ -7507,7 +7486,6 @@ void __init free_area_init(unsigned long *max_zone_pfn)
>  	/* Initialise every node */
>  	mminit_verify_pageflags_layout();
>  	setup_nr_node_ids();
> -	init_unavailable_mem();
>  	for_each_online_node(nid) {
>  		pg_data_t *pgdat = NODE_DATA(nid);
>  		free_area_init_node(nid);
> -- 
> 2.28.0
> 
> 


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout
  2021-01-04 19:03   ` Qian Cai
@ 2021-01-05  8:24     ` Mike Rapoport
  2021-01-05 18:45       ` Qian Cai
  0 siblings, 1 reply; 18+ messages in thread
From: Mike Rapoport @ 2021-01-05  8:24 UTC (permalink / raw)
  To: Qian Cai
  Cc: Andrew Morton, Andrea Arcangeli, Baoquan He, David Hildenbrand,
	Mel Gorman, Michal Hocko, Mike Rapoport, Vlastimil Babka,
	linux-kernel, linux-mm, stable, Stephen Rothwell,
	Linux Next Mailing List

Hi,

On Mon, Jan 04, 2021 at 02:03:00PM -0500, Qian Cai wrote:
> On Wed, 2020-12-09 at 23:43 +0200, Mike Rapoport wrote:
> > From: Mike Rapoport <rppt@linux.ibm.com>
> > 
> > Interleave initialization of pages that correspond to holes with the
> > initialization of memory map, so that zone and node information will be
> > properly set on such pages.
> > 
> > Fixes: 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions rather
> > that check each PFN")
> > Reported-by: Andrea Arcangeli <aarcange@redhat.com>
> > Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
> 
> Reverting this commit on the top of today's linux-next fixed a crash while
> reading /proc/kpagecount on a NUMA server.

Can you please post the entire dmesg?
Is it possible to get the pfn that triggered the crash?
 
> [ 8858.006726][T99897] BUG: unable to handle page fault for address: fffffffffffffffe
> [ 8858.014814][T99897] #PF: supervisor read access in kernel mode
> [ 8858.020686][T99897] #PF: error_code(0x0000) - not-present page
> [ 8858.026557][T99897] PGD 1371417067 P4D 1371417067 PUD 1371419067 PMD 0 
> [ 8858.033224][T99897] Oops: 0000 [#1] SMP KASAN NOPTI
> [ 8858.038710][T99897] CPU: 28 PID: 99897 Comm: proc01 Tainted: G           O      5.11.0-rc1-next-20210104 #1
> [ 8858.048515][T99897] Hardware name: HPE ProLiant DL385 Gen10/ProLiant DL385 Gen10, BIOS A40 03/09/2018
> [ 8858.057794][T99897] RIP: 0010:kpagecount_read+0x1be/0x5e0
> PageSlab at include/linux/page-flags.h:342
> (inlined by) kpagecount_read at fs/proc/page.c:69

-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout
  2021-01-05  8:24     ` Mike Rapoport
@ 2021-01-05 18:45       ` Qian Cai
  2021-01-06  8:05         ` Mike Rapoport
  0 siblings, 1 reply; 18+ messages in thread
From: Qian Cai @ 2021-01-05 18:45 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: Andrew Morton, Andrea Arcangeli, Baoquan He, David Hildenbrand,
	Mel Gorman, Michal Hocko, Mike Rapoport, Vlastimil Babka,
	linux-kernel, linux-mm, stable, Stephen Rothwell,
	Linux Next Mailing List

On Tue, 2021-01-05 at 10:24 +0200, Mike Rapoport wrote:
> Hi,
> 
> On Mon, Jan 04, 2021 at 02:03:00PM -0500, Qian Cai wrote:
> > On Wed, 2020-12-09 at 23:43 +0200, Mike Rapoport wrote:
> > > From: Mike Rapoport <rppt@linux.ibm.com>
> > > 
> > > Interleave initialization of pages that correspond to holes with the
> > > initialization of memory map, so that zone and node information will be
> > > properly set on such pages.
> > > 
> > > Fixes: 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions
> > > rather
> > > that check each PFN")
> > > Reported-by: Andrea Arcangeli <aarcange@redhat.com>
> > > Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
> > 
> > Reverting this commit on the top of today's linux-next fixed a crash while
> > reading /proc/kpagecount on a NUMA server.
> 
> Can you please post the entire dmesg?

http://people.redhat.com/qcai/dmesg.txt

> Is it possible to get the pfn that triggered the crash?

Do you have any idea how to convert that fffffffffffffffe to pfn as it is always
that address? I don't understand what that address is though. I tried to catch
it from struct page pointer and page_address() without luck.

>  
> > [ 8858.006726][T99897] BUG: unable to handle page fault for address:
> > fffffffffffffffe
> > [ 8858.014814][T99897] #PF: supervisor read access in kernel mode
> > [ 8858.020686][T99897] #PF: error_code(0x0000) - not-present page
> > [ 8858.026557][T99897] PGD 1371417067 P4D 1371417067 PUD 1371419067 PMD 0 
> > [ 8858.033224][T99897] Oops: 0000 [#1] SMP KASAN NOPTI
> > [ 8858.038710][T99897] CPU: 28 PID: 99897 Comm: proc01 Tainted:
> > G           O      5.11.0-rc1-next-20210104 #1
> > [ 8858.048515][T99897] Hardware name: HPE ProLiant DL385 Gen10/ProLiant
> > DL385 Gen10, BIOS A40 03/09/2018
> > [ 8858.057794][T99897] RIP: 0010:kpagecount_read+0x1be/0x5e0
> > PageSlab at include/linux/page-flags.h:342
> > (inlined by) kpagecount_read at fs/proc/page.c:69


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout
  2021-01-05 18:45       ` Qian Cai
@ 2021-01-06  8:05         ` Mike Rapoport
  2021-01-06 21:04           ` Qian Cai
  0 siblings, 1 reply; 18+ messages in thread
From: Mike Rapoport @ 2021-01-06  8:05 UTC (permalink / raw)
  To: Qian Cai
  Cc: Andrew Morton, Andrea Arcangeli, Baoquan He, David Hildenbrand,
	Mel Gorman, Michal Hocko, Mike Rapoport, Vlastimil Babka,
	linux-kernel, linux-mm, stable, Stephen Rothwell,
	Linux Next Mailing List

On Tue, Jan 05, 2021 at 01:45:37PM -0500, Qian Cai wrote:
> On Tue, 2021-01-05 at 10:24 +0200, Mike Rapoport wrote:
> > Hi,
> > 
> > On Mon, Jan 04, 2021 at 02:03:00PM -0500, Qian Cai wrote:
> > > On Wed, 2020-12-09 at 23:43 +0200, Mike Rapoport wrote:
> > > > From: Mike Rapoport <rppt@linux.ibm.com>
> > > > 
> > > > Interleave initialization of pages that correspond to holes with the
> > > > initialization of memory map, so that zone and node information will be
> > > > properly set on such pages.
> > > > 
> > > > Fixes: 73a6e474cb37 ("mm: memmap_init: iterate over memblock regions
> > > > rather
> > > > that check each PFN")
> > > > Reported-by: Andrea Arcangeli <aarcange@redhat.com>
> > > > Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
> > > 
> > > Reverting this commit on the top of today's linux-next fixed a crash while
> > > reading /proc/kpagecount on a NUMA server.
> > 
> > Can you please post the entire dmesg?
> 
> http://people.redhat.com/qcai/dmesg.txt
> 
> > Is it possible to get the pfn that triggered the crash?
> 
> Do you have any idea how to convert that fffffffffffffffe to pfn as it is always
> that address? I don't understand what that address is though. I tried to catch
> it from struct page pointer and page_address() without luck.

I think we trigger PF_POISONED_CHECK() in PageSlab(), then fffffffffffffffe
is "accessed" from VM_BUG_ON_PAGE().

It seems to me that we are not initializing struct pages for holes at the node
boundaries because zones are already clamped to exclude those holes.

Can you please try to see if the patch below will produce any useful info:
 
diff --git a/fs/proc/page.c b/fs/proc/page.c
index 4dcbcd506cb6..708f8211dcc0 100644
--- a/fs/proc/page.c
+++ b/fs/proc/page.c
@@ -66,10 +66,14 @@ static ssize_t kpagecount_read(struct file *file, char __user *buf,
 		 */
 		ppage = pfn_to_online_page(pfn);
 
-		if (!ppage || PageSlab(ppage) || page_has_type(ppage))
+		if (ppage && PagePoisoned(ppage)) {
+			pr_info("%s: pfn %lx is poisoned\n", __func__, pfn);
 			pcount = 0;
-		else
+		} else if (!ppage || PageSlab(ppage) || page_has_type(ppage)) {
+			pcount = 0;
+		} else {
 			pcount = page_mapcount(ppage);
+		}
 
 		if (put_user(pcount, out)) {
 			ret = -EFAULT;
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 124b8c654ec6..1b3a37ace1b1 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -6271,6 +6271,8 @@ static u64 __init init_unavailable_range(unsigned long spfn, unsigned long epfn,
 	unsigned long pfn;
 	u64 pgcnt = 0;
 
+	pr_info("%s: spfn: %lx, epfn: %lx, zone: %s, node: %d\n", __func__, spfn, epfn, zone_names[zone], node);
+
 	for (pfn = spfn; pfn < epfn; pfn++) {
 		if (!pfn_valid(ALIGN_DOWN(pfn, pageblock_nr_pages))) {
 			pfn = ALIGN_DOWN(pfn, pageblock_nr_pages)
 
> >  
> > > [ 8858.006726][T99897] BUG: unable to handle page fault for address:
> > > fffffffffffffffe
> > > [ 8858.014814][T99897] #PF: supervisor read access in kernel mode
> > > [ 8858.020686][T99897] #PF: error_code(0x0000) - not-present page
> > > [ 8858.026557][T99897] PGD 1371417067 P4D 1371417067 PUD 1371419067 PMD 0 
> > > [ 8858.033224][T99897] Oops: 0000 [#1] SMP KASAN NOPTI
> > > [ 8858.038710][T99897] CPU: 28 PID: 99897 Comm: proc01 Tainted:
> > > G           O      5.11.0-rc1-next-20210104 #1
> > > [ 8858.048515][T99897] Hardware name: HPE ProLiant DL385 Gen10/ProLiant
> > > DL385 Gen10, BIOS A40 03/09/2018
> > > [ 8858.057794][T99897] RIP: 0010:kpagecount_read+0x1be/0x5e0
> > > PageSlab at include/linux/page-flags.h:342
> > > (inlined by) kpagecount_read at fs/proc/page.c:69
> 

-- 
Sincerely yours,
Mike.

^ permalink raw reply related	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout
  2021-01-06  8:05         ` Mike Rapoport
@ 2021-01-06 21:04           ` Qian Cai
  2021-01-10 15:39             ` Mike Rapoport
  0 siblings, 1 reply; 18+ messages in thread
From: Qian Cai @ 2021-01-06 21:04 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: Andrew Morton, Andrea Arcangeli, Baoquan He, David Hildenbrand,
	Mel Gorman, Michal Hocko, Mike Rapoport, Vlastimil Babka,
	linux-kernel, linux-mm, stable, Stephen Rothwell,
	Linux Next Mailing List

On Wed, 2021-01-06 at 10:05 +0200, Mike Rapoport wrote:
> I think we trigger PF_POISONED_CHECK() in PageSlab(), then fffffffffffffffe
> is "accessed" from VM_BUG_ON_PAGE().
> 
> It seems to me that we are not initializing struct pages for holes at the node
> boundaries because zones are already clamped to exclude those holes.
> 
> Can you please try to see if the patch below will produce any useful info:

[    0.000000] init_unavailable_range: spfn: 8c, epfn: 9b, zone: DMA, node: 0
[    0.000000] init_unavailable_range: spfn: 1f7be, epfn: 1f9fe, zone: DMA32, node: 0
[    0.000000] init_unavailable_range: spfn: 28784, epfn: 288e4, zone: DMA32, node: 0
[    0.000000] init_unavailable_range: spfn: 298b9, epfn: 298bd, zone: DMA32, node: 0
[    0.000000] init_unavailable_range: spfn: 29923, epfn: 29931, zone: DMA32, node: 0
[    0.000000] init_unavailable_range: spfn: 29933, epfn: 29941, zone: DMA32, node: 0
[    0.000000] init_unavailable_range: spfn: 29945, epfn: 29946, zone: DMA32, node: 0
[    0.000000] init_unavailable_range: spfn: 29ff9, epfn: 2a823, zone: DMA32, node: 0
[    0.000000] init_unavailable_range: spfn: 33a23, epfn: 33a53, zone: DMA32, node: 0
[    0.000000] init_unavailable_range: spfn: 78000, epfn: 100000, zone: DMA32, node: 0
...
[  572.222563][ T2302] kpagecount_read: pfn 47f380 is poisoned
[  572.228208][ T2302] kpagecount_read: pfn 47f381 is poisoned
[  572.233823][ T2302] kpagecount_read: pfn 47f382 is poisoned
[  572.239465][ T2302] kpagecount_read: pfn 47f383 is poisoned
[  572.245495][ T2302] kpagecount_read: pfn 47f384 is poisoned
[  572.251110][ T2302] kpagecount_read: pfn 47f385 is poisoned
[  572.256739][ T2302] kpagecount_read: pfn 47f386 is poisoned
[  572.262353][ T2302] kpagecount_read: pfn 47f387 is poisoned
[  572.268445][ T2302] kpagecount_read: pfn 47f388 is poisoned
[  572.274057][ T2302] kpagecount_read: pfn 47f389 is poisoned
[  572.279687][ T2302] kpagecount_read: pfn 47f38a is poisoned
[  572.285320][ T2302] kpagecount_read: pfn 47f38b is poisoned
[  572.290934][ T2302] kpagecount_read: pfn 47f38c is poisoned
[  572.296939][ T2302] kpagecount_read: pfn 47f38d is poisoned
[  572.302551][ T2302] kpagecount_read: pfn 47f38e is poisoned
[  572.308180][ T2302] kpagecount_read: pfn 47f38f is poisoned
[  572.313791][ T2302] kpagecount_read: pfn 47f390 is poisoned
[  572.319859][ T2302] kpagecount_read: pfn 47f391 is poisoned
[  572.325536][ T2302] kpagecount_read: pfn 47f392 is poisoned
[  572.331150][ T2302] kpagecount_read: pfn 47f393 is poisoned
[  572.336945][ T2302] kpagecount_read: pfn 47f394 is poisoned
[  572.342981][ T2302] kpagecount_read: pfn 47f395 is poisoned
[  572.348615][ T2302] kpagecount_read: pfn 47f396 is poisoned
[  572.354226][ T2302] kpagecount_read: pfn 47f397 is poisoned
[  572.359865][ T2302] kpagecount_read: pfn 47f398 is poisoned
[  572.365495][ T2302] kpagecount_read: pfn 47f399 is poisoned
[  572.371568][ T2302] kpagecount_read: pfn 47f39a is poisoned
[  572.377199][ T2302] kpagecount_read: pfn 47f39b is poisoned
[  572.382813][ T2302] kpagecount_read: pfn 47f39c is poisoned
[  572.388443][ T2302] kpagecount_read: pfn 47f39d is poisoned
[  572.394507][ T2302] kpagecount_read: pfn 47f39e is poisoned
[  572.400137][ T2302] kpagecount_read: pfn 47f39f is poisoned
[  572.405766][ T2302] kpagecount_read: pfn 47f3a0 is poisoned
[  572.411379][ T2302] kpagecount_read: pfn 47f3a1 is poisoned
[  572.417475][ T2302] kpagecount_read: pfn 47f3a2 is poisoned
[  572.423088][ T2302] kpagecount_read: pfn 47f3a3 is poisoned
[  572.428717][ T2302] kpagecount_read: pfn 47f3a4 is poisoned
[  572.434329][ T2302] kpagecount_read: pfn 47f3a5 is poisoned
[  572.439963][ T2302] kpagecount_read: pfn 47f3a6 is poisoned
[  572.446079][ T2302] kpagecount_read: pfn 47f3a7 is poisoned
[  572.451692][ T2302] kpagecount_read: pfn 47f3a8 is poisoned
[  572.457367][ T2302] kpagecount_read: pfn 47f3a9 is poisoned
[  572.462981][ T2302] kpagecount_read: pfn 47f3aa is poisoned
[  572.469079][ T2302] kpagecount_read: pfn 47f3ab is poisoned
[  572.474694][ T2302] kpagecount_read: pfn 47f3ac is poisoned
[  572.480332][ T2302] kpagecount_read: pfn 47f3ad is poisoned
[  572.485962][ T2302] kpagecount_read: pfn 47f3ae is poisoned
[  572.491577][ T2302] kpagecount_read: pfn 47f3af is poisoned
[  572.497677][ T2302] kpagecount_read: pfn 47f3b0 is poisoned
[  572.503292][ T2302] kpagecount_read: pfn 47f3b1 is poisoned
[  572.508921][ T2302] kpagecount_read: pfn 47f3b2 is poisoned
[  572.514535][ T2302] kpagecount_read: pfn 47f3b3 is poisoned
[  572.520643][ T2302] kpagecount_read: pfn 47f3b4 is poisoned
[  572.526273][ T2302] kpagecount_read: pfn 47f3b5 is poisoned
[  572.531886][ T2302] kpagecount_read: pfn 47f3b6 is poisoned
[  572.537524][ T2302] kpagecount_read: pfn 47f3b7 is poisoned
[  572.543676][ T2302] kpagecount_read: pfn 47f3b8 is poisoned
[  572.549305][ T2302] kpagecount_read: pfn 47f3b9 is poisoned
[  572.554919][ T2302] kpagecount_read: pfn 47f3ba is poisoned
[  572.560548][ T2302] kpagecount_read: pfn 47f3bb is poisoned
[  572.566176][ T2302] kpagecount_read: pfn 47f3bc is poisoned
[  572.572293][ T2302] kpagecount_read: pfn 47f3bd is poisoned
[  572.577924][ T2302] kpagecead: pfn 47f401 is poisoned
[  572.968371][ T2302] kpagecount_read: pfn 47f402 is poisoned
[  572.973985][ T2302] kpagecount_read: pfn 47f403 is poisoned
[  572.979618][ T2302] kpagecount_read: pfn 47f404 is poisoned
[  572.985230][ T2302] kpagecount_read: pfn 47f405 is poisoned
[  572.990861][ T2302] kpagecount_read: pfn 47f406 is poisoned
[  572.996992][ T2302] kpagecount_read: pfn 47f407 is poisoned
[  573.002604][ T2302] kpagecount_read: pfn 47f408 is poisoned
[  573.008232][ T2302] kpagecount_read: pfn 47f409 is poisoned
[  573.013847][ T2302] kpagecount_read: pfn 47f40a is poisoned
[  573.019914][ T2302] kpagecount_read: pfn 47f40b is poisoned
[  573.025544][ T2302] kpagecount_read: pfn 47f40c is poisoned
[  573.031159][ T2302] kpagecount_read: pfn 47f40d is poisoned
[  573.036788][ T2302] kpagecount_read: pfn 47f40e is poisoned
[  573.042729][ T2302] kpagecount_read: pfn 47f40f is poisoned
[  573.048359][ T2302] kpagecount_read: pfn 47f410 is poisoned
[  573.053974][ T2302] kpagecount_read: 2] kpagecount_read: pfn 47f454 is poisoned
[  573.444163][ T2302] kpagecount_read: pfn 47f455 is poisoned
[  573.449791][ T2302] kpagecount_read: pfn 47f456 is poisoned
[  573.455418][ T2302] kpagecount_read: pfn 47f457 is poisoned
[  573.461031][ T2302] kpagecount_read: pfn 47f458 is poisoned
[  573.467218][ T2302] kpagecount_read: pfn 47f459 is poisoned
[  573.472835][ T2302] kpagecount_read: pfn 47f45a is poisoned
[  573.478464][ T2302] kpagecount_read: pfn 47f45b is poisoned
[  573.484076][ T2302] kpagecount_read: pfn 47f45c is poisoned
[  573.489703][ T2302] kpagecount_read: pfn 47f45d is poisoned
[  573.495859][ T2302] kpagecount_read: pfn 47f45e is poisoned
[  573.501473][ T2302] kpagecount_read: pfn 47f45f is poisoned
[  573.507101][ T2302] kpagecount_read: pfn 47f460 is poisoned
[  573.512713][ T2302] kpagecount_read: pfn 47f461 is poisoned
[  573.518805][ T2302] kpagecount_read: pfn 47f462 is poisoned
[  573.524419][ T2302] kpagecount_read: pfn 47f463 is poisoned
[  573.530049][ T2302] kpagecount_read: pfn 47f464 is poisoned
[  573.535675][ T2302] kpageco2] kpagecount_read: pfn 47f4a7 is poisoned
[  573.919936][ T2302] kpagecount_read: pfn 47f4a8 is poisoned
[  573.925564][ T2302] kpagecount_read: pfn 47f4a9 is poisoned
[  573.931179][ T2302] kpagecount_read: pfn 47f4aa is poisoned
[  573.936889][ T2302] kpagecount_read: pfn 47f4ab is poisoned
[  573.943005][ T2302] kpagecount_read: pfn 47f4ac is poisoned
[  573.948647][ T2302] kpagecount_read: pfn 47f4ad is poisoned
[  573.954261][ T2302] kpagecount_read: pfn 47f4ae is poisoned
[  573.959892][ T2302] kpagecount_read: pfn 47f4af is poisoned
[  573.965520][ T2302] kpagecount_read: pfn 47f4b0 is poisoned
[  573.971588][ T2302] kpagecount_read: pfn 47f4b1 is poisoned
[  573.977223][ T2302] kpagecount_read: pfn 47f4b2 is poisoned
[  573.982837][ T2302] kpagecount_read: pfn 47f4b3 is poisoned
[  573.988467][ T2302] kpagecount_read: pfn 47f4b4 is poisoned
[  573.994540][ T2302] kpagecount_read: pfn 47f4b5 is poisoned
[  574.000174][ T2302] kpagecount_read: pfn 47f4b6 is poisoned
[  574.005806][ T2302] kpaount_read: pfn 47f50b is poisoned
[  574.493539][ T2302] kpagecount_read: pfn 47f50c is poisoned
[  574.499169][ T2302] kpagecount_read: pfn 47f50d is poisoned
[  574.504782][ T2302] kpagecount_read: pfn 47f50e is poisoned
[  574.510412][ T2302] kpagecount_read: pfn 47f50f is poisoned
[  574.516045][ T2302] kpagecount_read: pfn 47f510 is poisoned
[  574.522120][ T2302] kpagecount_read: pfn 47f511 is poisoned
[  574.527751][ T2302] kpagecount_read: pfn 47f512 is poisoned
[  574.533362][ T2302] kpagecount_read: pfn 47f513 is poisoned
[  574.538991][ T2302] kpagecount_read: pfn 47f514 is poisoned
[  574.545073][ T2302] kpagecount_read: pfn 47f515 is poisoned
[  574.550703][ T2302] kpagecount_read: pfn 47f516 is poisoned
[  574.556331][ T2302] kpagecount_read: pfn 47f517 is poisoned
[  574.561946][ T2302] kpagecount_read: pfn 47f518 is poisoned
[  574.568016][ T2302] kpagecount_read: pfn 47f519 is poisoned
[  574.573630][ T2302] kpagecount_read: pfn 47f51a is poisoned
[  574.579265][ T2302] kpagecount_read: pfn 47f51b is poisoned
[  574.584878][ T2302] kpagecount_readn 47f55e is poisoned
[  574.969105][ T2302] kpagecount_read: pfn 47f55f is poisoned
[  574.974719][ T2302] kpagecount_read: pfn 47f560 is poisoned
[  574.980350][ T2302] kpagecount_read: pfn 47f561 is poisoned
[  574.985977][ T2302] kpagecount_read: pfn 47f562 is poisoned
[  574.991590][ T2302] kpagecount_read: pfn 47f563 is poisoned
[  574.997690][ T2302] kpagecount_read: pfn 47f564 is poisoned
[  575.003303][ T2302] kpagecount_read: pfn 47f565 is poisoned
[  575.008935][ T2302] kpagecount_read: pfn 47f566 is poisoned
[  575.014549][ T2302] kpagecount_read: pfn 47f567 is poisoned
[  575.020925][ T2302] kpagecount_read: pfn 47f568 is poisoned
[  575.026579][ T2302] kpagecount_read: pfn 47f569 is poisoned
[  575.032194][ T2302] kpagecount_read: pfn 47f56a is poisoned
[  575.037829][ T2302] kpagecount_read: pfn 47f56b is poisoned
[  575.043926][ T2302] kpagecount_read: pfn 47f56c is poisoned
[  575.049556][ T2302] kpagecount_read: pfn 47f56d is poisoned
[  575.055171][ T2302] kpagecount_read: pfn 47f56e is poisoned
[  575.060798][ T2302] kpagecount_read: pfn 47f56f is poisoned
unt_read: pfn 47f5b3 is poisoned
[  575.456579][ T2302] kpagecount_read: pfn 47f5b4 is poisoned
[  575.462191][ T2302] kpagecount_read: pfn 47f5b5 is poisoned
[  575.468309][ T2302] kpagecount_read: pfn 47f5b6 is poisoned
[  575.473921][ T2302] kpagecount_read: pfn 47f5b7 is poisoned
[  575.479543][ T2302] kpagecount_read: pfn 47f5b8 is poisoned
[  575.485154][ T2302] kpagecount_read: pfn 47f5b9 is poisoned
[  575.490777][ T2302] kpagecount_read: pfn 47f5ba is poisoned
[  575.496875][ T2302] kpagecount_read: pfn 47f5bb is poisoned
[  575.502487][ T2302] kpagecount_read: pfn 47f5bc is poisoned
[  575.508114][ T2302] kpagecount_read: pfn 47f5bd is poisoned
[  575.513727][ T2302] kpagecount_read: pfn 47f5be is poisoned
[  575.519762][ T2302] kpagecount_read: pfn 47f5bf is poisoned
[  575.525393][ T2302] kpagecount_read: pfn 47f5c0 is poisoned
[  575.531008][ T2302] kpagecount_read: pfn 47f5c1 is poisoned
[  575.536641][ T2302] kpagecount_read: pfn 47f5c2 is poisoned
[  575.542737][ T2302] kpagecount_read: pfn 47f5c3 is poisoned
[  575.548377][ T2302] kpagecount_read:302] kpagecount_read: pfn 47f608 is poisoned
[  575.944362][ T2302] kpagecount_read: pfn 47f609 is poisoned
[  575.949996][ T2302] kpagecount_read: pfn 47f60a is poisoned
[  575.955628][ T2302] kpagecount_read: pfn 47f60b is poisoned
[  575.961244][ T2302] kpagecount_read: pfn 47f60c is poisoned
[  575.967399][ T2302] kpagecount_read: pfn 47f60d is poisoned
[  575.973013][ T2302] kpagecount_read: pfn 47f60e is poisoned
[  575.978686][ T2302] kpagecount_read: pfn 47f60f is poisoned
[  575.984302][ T2302] kpagecount_read: pfn 47f610 is poisoned
[  575.989943][ T2302] kpagecount_read: pfn 47f611 is poisoned
[  575.996060][ T2302] kpagecount_read: pfn 47f612 is poisoned
[  576.001675][ T2302] kpagecount_read: pfn 47f613 is poisoned
[  576.007306][ T2302] kpagecount_read: pfn 47f614 is poisoned
[  576.012921][ T2302] kpagecount_read: pfn 47f615 is poisoned
[  576.019065][ T2302] kpagecount_read: pfn 47f616 is poisoned
[  576.024681][ T2302] kpagecount_read: pfn 47f617 is poisoned
[  576.030312][ T2302] kpagecount_read: pfn 47f618 is poisoned
[  576.035949][ T2302] kpagecount_read: pagecount_read: pfn 47f65b is poisoned
[  576.420756][ T2302] kpagecount_read: pfn 47f65c is poisoned
[  576.426379][ T2302] kpagecount_read: pfn 47f65d is poisoned
[  576.431990][ T2302] kpagecount_read: pfn 47f65e is poisoned
[  576.437613][ T2302] kpagecount_read: pfn 47f65f is poisoned
[  576.443676][ T2302] kpagecount_read: pfn 47f660 is poisoned
[  576.449299][ T2302] kpagecount_read: pfn 47f661 is poisoned
[  576.454910][ T2302] kpagecount_read: pfn 47f662 is poisoned
[  576.460537][ T2302] kpagecount_read: pfn 47f663 is poisoned
[  576.466160][ T2302] kpagecount_read: pfn 47f664 is poisoned
[  576.472268][ T2302] kpagecount_read: pfn 47f665 is poisoned
[  576.477900][ T2302] kpagecount_read: pfn 47f666 is poisoned
[  576.483515][ T2302] kpagecount_read: pfn 47f667 is poisoned
[  576.489145][ T2302] kpagecount_read: pfn 47f668 is poisoned
[  576.495367][ T2302] kpagecount_read: pfn 47f669 is poisoned
[  576.500980][ T2302] kpagecount_read: pfn 47f66a is poisoned
[  576.506622][ T2302] kpagecount_read: pfn 47f66b is poisoned
[  576.512238][ T2302] kpagecountn 47f6c1 is poisoned
[  577.005614][ T2302] kpagecount_read: pfn 47f6c2 is poisoned
[  577.011228][ T2302] kpagecount_read: pfn 47f6c3 is poisoned
[  577.017311][ T2302] kpagecount_read: pfn 47f6c4 is poisoned
[  577.022939][ T2302] kpagecount_read: pfn 47f6c5 is poisoned
[  577.028571][ T2302] kpagecount_read: pfn 47f6c6 is poisoned
[  577.034185][ T2302] kpagecount_read: pfn 47f6c7 is poisoned
[  577.039816][ T2302] kpagecount_read: pfn 47f6c8 is poisoned
[  577.045941][ T2302] kpagecount_read: pfn 47f6c9 is poisoned
[  577.051556][ T2302] kpagecount_read: pfn 47f6ca is poisoned
[  577.057192][ T2302] kpagecount_read: pfn 47f6cb is poisoned
[  577.062808][ T2302] kpagecount_read: pfn 47f6cc is poisoned
[  577.068902][ T2302] kpagecount_read: pfn 47f6cd is poisoned
[  577.074517][ T2302] kpagecount_read: pfn 47f6ce is poisoned
[  577.080148][ T2302] kpagecount_read: pfn 47f6cf is poisoned
[  577.085781][ T2302] kpagecount_read: pfn 47f6d0 is poisoned
[  577.091397][ T2302] kpagecount_read: pfn 47f6d1 is poisoned
[  577.097552][ T2302] kpagecount_read: pfn 47f6d2 is poisoned
unt_read: pfn 47f716 is poisoned
[  577.493327][ T2302] kpagecount_read: pfn 47f717 is poisoned
[  577.498958][ T2302] kpagecount_read: pfn 47f718 is poisoned
[  577.504574][ T2302] kpagecount_read: pfn 47f719 is poisoned
[  577.510204][ T2302] kpagecount_read: pfn 47f71a is poisoned
[  577.515835][ T2302] kpagecount_read: pfn 47f71b is poisoned
[  577.521942][ T2302] kpagecount_read: pfn 47f71c is poisoned
[  577.527573][ T2302] kpagecount_read: pfn 47f71d is poisoned
[  577.533188][ T2302] kpagecount_read: pfn 47f71e is poisoned
[  577.538821][ T2302] kpagecount_read: pfn 47f71f is poisoned
[  577.544912][ T2302] kpagecount_read: pfn 47f720 is poisoned
[  577.550546][ T2302] kpagecount_read: pfn 47f721 is poisoned
[  577.556184][ T2302] kpagecount_read: pfn 47f722 is poisoned
[  577.561803][ T2302] kpagecount_read: pfn 47f723 is poisoned
[  577.567954][ T2302] kpagecount_read: pfn 47f724 is poisoned
[  577.573568][ T2302] kpagecount_read: pfn 47f725 is poisoned
[  577.579198][ T2302] kpagecount_read: pfn 47f726 is poisoned
[  577.584811][ T2302] kpagecount_read: pfn 47f769 is poisoned
[  577.969524][ T2302] kpagecount_read: pfn 47f76a is poisoned
[  577.975138][ T2302] kpagecount_read: pfn 47f76b is poisoned
[  577.980768][ T2302] kpagecount_read: pfn 47f76c is poisoned
[  577.986400][ T2302] kpagecount_read: pfn 47f76d is poisoned
[  577.992474][ T2302] kpagecount_read: pfn 47f76e is poisoned
[  577.998104][ T2302] kpagecount_read: pfn 47f76f is poisoned
[  578.003720][ T2302] kpagecount_read: pfn 47f770 is poisoned
[  578.009351][ T2302] kpagecount_read: pfn 47f771 is poisoned
[  578.014964][ T2302] kpagecount_read: pfn 47f772 is poisoned
[  578.021016][ T2302] kpagecount_read: pfn 47f773 is poisoned
[  578.026648][ T2302] kpagecount_read: pfn 47f774 is poisoned
[  578.032265][ T2302] kpagecount_read: pfn 47f775 is poisoned
[  578.037895][ T2302] kpagecount_read: pfn 47f776 is poisoned
[  578.043984][ T2302] kpagecount_read: pfn 47f777 is poisoned
[  578.049613][ T2302] kpagecount_read: pfn 47f778 is poisoned
[  578.055226][ T2302] kpagecount_read: pfn 47f779 is poisoned
[  578.060861][ T2302] kpagecount_read: pfn 47f77a is poisonent_read: pfn 47f7be is poisoned
[  578.456480][ T2302] kpagecount_read: pfn 47f7bf is poisoned
[  578.462096][ T2302] kpagecount_read: pfn 47f7c0 is poisoned
[  578.468181][ T2302] kpagecount_read: pfn 47f7c1 is poisoned
[  578.473795][ T2302] kpagecount_read: pfn 47f7c2 is poisoned
[  578.479423][ T2302] kpagecount_read: pfn 47f7c3 is poisoned
[  578.485036][ T2302] kpagecount_read: pfn 47f7c4 is poisoned
[  578.490666][ T2302] kpagecount_read: pfn 47f7c5 is poisoned
[  578.496834][ T2302] kpagecount_read: pfn 47f7c6 is poisoned
[  578.502448][ T2302] kpagecount_read: pfn 47f7c7 is poisoned
[  578.508113][ T2302] kpagecount_read: pfn 47f7c8 is poisoned
[  578.513729][ T2302] kpagecount_read: pfn 47f7c9 is poisoned
[  578.519857][ T2302] kpagecount_read: pfn 47f7ca is poisoned
[  578.525493][ T2302] kpagecount_read: pfn 47f7cb is poisoned
[  578.531108][ T2302] kpagecount_read: pfn 47f7cc is poisoned
[  578.536742][ T2302] kpagecount_read: pfn 47f7cd is poisoned
[  578.542844][ T2302] kpagecount_read: pfn 47f7ce is poisoned
[  578.548475][ T2302] kpagecount_read:  kpagecount_read: pfn 47f813 is poisoned
[  578.944069][ T2302] kpagecount_read: pfn 47f814 is poisoned
[  578.949700][ T2302] kpagecount_read: pfn 47f815 is poisoned
[  578.955336][ T2302] kpagecount_read: pfn 47f816 is poisoned
[  578.960952][ T2302] kpagecount_read: pfn 47f817 is poisoned
[  578.966581][ T2302] kpagecount_read: pfn 47f818 is poisoned
[  578.972593][ T2302] kpagecount_read: pfn 47f819 is poisoned
[  578.978227][ T2302] kpagecount_read: pfn 47f81a is poisoned
[  578.983840][ T2302] kpagecount_read: pfn 47f81b is poisoned
[  578.989471][ T2302] kpagecount_read: pfn 47f81c is poisoned
[  578.995596][ T2302] kpagecount_read: pfn 47f81d is poisoned
[  579.001213][ T2302] kpagecount_read: pfn 47f81e is poisoned
[  579.006845][ T2302] kpagecount_read: pfn 47f81f is poisoned
[  579.012457][ T2302] kpagecount_read: pfn 47f820 is poisoned
[  579.018562][ T2302] kpagecount_read: pfn 47f821 is poisoned
[  579.024175][ T2302] kpagecount_read: pfn 47f822 is poisoned
[  579.029804][ T2302] kpagecount_read: pfn 47f823 is poisoned
[  579.035444][ T2302] kpagecount_read: pfn ed
[  579.517645][ T2302] kpagecount_read: pfn 47f878 is poisoned
[  579.523258][ T2302] kpagecount_read: pfn 47f879 is poisoned
[  579.528890][ T2302] kpagecount_read: pfn 47f87a is poisoned
[  579.534504][ T2302] kpagecount_read: pfn 47f87b is poisoned
[  579.540132][ T2302] kpagecount_read: pfn 47f87c is poisoned
[  579.546321][ T2302] kpagecount_read: pfn 47f87d is poisoned
[  579.551936][ T2302] kpagecount_read: pfn 47f87e is poisoned
[  579.557573][ T2302] kpagecount_read: pfn 47f87f is poisoned
[  579.563188][ T2302] kpagecount_read: pfn 47f880 is poisoned
[  579.569484][ T2302] kpagecount_read: pfn 47f881 is poisoned
[  579.575099][ T2302] kpagecount_read: pfn 47f882 is poisoned
[  579.580734][ T2302] kpagecount_read: pfn 47f883 is poisoned
[  579.586364][ T2302] kpagecount_read: pfn 47f884 is poisoned
[  579.592503][ T2302] kpagecount_read: pfn 47f885 is poisoned
[  579.598135][ T2302] kpagecount_read: pfn 47f886 is poisoned
[  579.603749][ T2302] kpagecount_read: pfn 47f887 is poisoned
[  579.609380][ T2302] kpagecount_read: pfn 47f888 is poisoned
[  577f8cc is poisoned
[  580.005255][ T2302] kpagecount_read: pfn 47f8cd is poisoned
[  580.010887][ T2302] kpagecount_read: pfn 47f8ce is poisoned
[  580.016516][ T2302] kpagecount_read: pfn 47f8cf is poisoned
[  580.022613][ T2302] kpagecount_read: pfn 47f8d0 is poisoned
[  580.028245][ T2302] kpagecount_read: pfn 47f8d1 is poisoned
[  580.033860][ T2302] kpagecount_read: pfn 47f8d2 is poisoned
[  580.039489][ T2302] kpagecount_read: pfn 47f8d3 is poisoned
[  580.045526][ T2302] kpagecount_read: pfn 47f8d4 is poisoned
[  580.051141][ T2302] kpagecount_read: pfn 47f8d5 is poisoned
[  580.056775][ T2302] kpagecount_read: pfn 47f8d6 is poisoned
[  580.062388][ T2302] kpagecount_read: pfn 47f8d7 is poisoned
[  580.068413][ T2302] kpagecount_read: pfn 47f8d8 is poisoned
[  580.074026][ T2302] kpagecount_read: pfn 47f8d9 is poisoned
[  580.079665][ T2302] kpagecount_read: pfn 47f8da is poisoned
[  580.085282][ T2302] kpagecount_read: pfn 47f8db is poisoned
[  580.090913][ T2302] kpagecount_read: pfn 47f8dc is poisoned
[  580.097113][ T2302] kpagecount_read: pfn 47f8dd is poisoned
[  d: pfn 47f921 is poisoned
[  580.492688][ T2302] kpagecount_read: pfn 47f922 is poisoned
[  580.498321][ T2302] kpagecount_read: pfn 47f923 is poisoned
[  580.503935][ T2302] kpagecount_read: pfn 47f924 is poisoned
[  580.509564][ T2302] kpagecount_read: pfn 47f925 is poisoned
[  580.515177][ T2302] kpagecount_read: pfn 47f926 is poisoned
[  580.521235][ T2302] kpagecount_read: pfn 47f927 is poisoned
[  580.526867][ T2302] kpagecount_read: pfn 47f928 is poisoned
[  580.532482][ T2302] kpagecount_read: pfn 47f929 is poisoned
[  580.538117][ T2302] kpagecount_read: pfn 47f92a is poisoned
[  580.544273][ T2302] kpagecount_read: pfn 47f92b is poisoned
[  580.549904][ T2302] kpagecount_read: pfn 47f92c is poisoned
[  580.555533][ T2302] kpagecount_read: pfn 47f92d is poisoned
[  580.561149][ T2302] kpagecount_read: pfn 47f92e is poisoned
[  580.567325][ T2302] kpagecount_read: pfn 47f92f is poisoned
[  580.572938][ T2302] kpagecount_read: pfn 47f930 is poisoned
[  580.578567][ T2302] kpagecount_read: pfn 47f931 is poisoned
[  580.584180][ T2302] kpagecount_read: pfnf974 is poisoned
[  580.968873][ T2302] kpagecount_read: pfn 47f975 is poisoned
[  580.974486][ T2302] kpagecount_read: pfn 47f976 is poisoned
[  580.980117][ T2302] kpagecount_read: pfn 47f977 is poisoned
[  580.985756][ T2302] kpagecount_read: pfn 47f978 is poisoned
[  580.991374][ T2302] kpagecount_read: pfn 47f979 is poisoned
[  580.997501][ T2302] kpagecount_read: pfn 47f97a is poisoned
[  581.003115][ T2302] kpagecount_read: pfn 47f97b is poisoned
[  581.008746][ T2302] kpagecount_read: pfn 47f97c is poisoned
[  581.014360][ T2302] kpagecount_read: pfn 47f97d is poisoned
[  581.020437][ T2302] kpagecount_read: pfn 47f97e is poisoned
[  581.026071][ T2302] kpagecount_read: pfn 47f97f is poisoned
[  581.031688][ T2302] kpagecount_read: pfn 47f980 is poisoned
[  581.037320][ T2302] kpagecount_read: pfn 47f981 is poisoned
[  581.043409][ T2302] kpagecount_read: pfn 47f982 is poisoned
[  581.049039][ T2302] kpagecount_read: pfn 47f983 is poisoned
[  581.054654][ T2302] kpagecount_read: pfn 47f984 is poisoned
[  581.060285][ T2302] kpagecount_read: pfn 47f985 is poisoned
[  581.ead: pfn 47f9c9 is poisoned
[  581.456227][ T2302] kpagecount_read: pfn 47f9ca is poisoned
[  581.461841][ T2302] kpagecount_read: pfn 47f9cb is poisoned
[  581.467938][ T2302] kpagecount_read: pfn 47f9cc is poisoned
[  581.473552][ T2302] kpagecount_read: pfn 47f9cd is poisoned
[  581.479183][ T2302] kpagecount_read: pfn 47f9ce is poisoned
[  581.484798][ T2302] kpagecount_read: pfn 47f9cf is poisoned
[  581.490429][ T2302] kpagecount_read: pfn 47f9d0 is poisoned
[  581.496543][ T2302] kpagecount_read: pfn 47f9d1 is poisoned
[  581.502157][ T2302] kpagecount_read: pfn 47f9d2 is poisoned
[  581.507794][ T2302] kpagecount_read: pfn 47f9d3 is poisoned
[  581.513412][ T2302] kpagecount_read: pfn 47f9d4 is poisoned
[  581.519493][ T2302] kpagecount_read: pfn 47f9d5 is poisoned
[  581.525106][ T2302] kpagecount_read: pfn 47f9d6 is poisoned
[  581.530737][ T2302] kpagecount_read: pfn 47f9d7 is poisoned
[  581.536367][ T2302] kpagecount_read: pfn 47f9d8 is poisoned
[  581.542422][ T2302] kpagecount_read: pfn 47f9d9 is poisoned
[  581.548053][ T2302] kpagecount_read: pkpagecount_read: pfn 47fa1e is poisoned
[  581.943806][ T2302] kpagecount_read: pfn 47fa1f is poisoned
[  581.949435][ T2302] kpagecount_read: pfn 47fa20 is poisoned
[  581.955050][ T2302] kpagecount_read: pfn 47fa21 is poisoned
[  581.960678][ T2302] kpagecount_read: pfn 47fa22 is poisoned
[  581.966310][ T2302] kpagecount_read: pfn 47fa23 is poisoned
[  581.972383][ T2302] kpagecount_read: pfn 47fa24 is poisoned
[  581.978018][ T2302] kpagecount_read: pfn 47fa25 is poisoned
[  581.983632][ T2302] kpagecount_read: pfn 47fa26 is poisoned
[  581.989263][ T2302] kpagecount_read: pfn 47fa27 is poisoned
[  581.995213][ T2302] kpagecount_read: pfn 47fa28 is poisoned
[  582.000843][ T2302] kpagecount_read: pfn 47fa29 is poisoned
[  582.006472][ T2302] kpagecount_read: pfn 47fa2a is poisoned
[  582.012085][ T2302] kpagecount_read: pfn 47fa2b is poisoned
[  582.018208][ T2302] kpagecount_read: pfn 47fa2c is poisoned
[  582.023823][ T2302] kpagecount_read: pfn 47fa2d is poisoned
[  582.029462][ T2302] kpagecount_read: pfn 47fa2e is poisoned
[  582.035080][ T2302] kpagecount_read: pfn 47fa[  582.516729][ T2302] kpagecount_read: pfn 47fa83 is poisoned
[  582.522935][ T2302] kpagecount_read: pfn 47fa84 is poisoned
[  582.528566][ T2302] kpagecount_read: pfn 47fa85 is poisoned
[  582.534181][ T2302] kpagecount_read: pfn 47fa86 is poisoned
[  582.539813][ T2302] kpagecount_read: pfn 47fa87 is poisoned
[  582.545977][ T2302] kpagecount_read: pfn 47fa88 is poisoned
[  582.551593][ T2302] kpagecount_read: pfn 47fa89 is poisoned
[  582.557227][ T2302] kpagecount_read: pfn 47fa8a is poisoned
[  582.562841][ T2302] kpagecount_read: pfn 47fa8b is poisoned
[  582.568894][ T2302] kpagecount_read: pfn 47fa8c is poisoned
[  582.574507][ T2302] kpagecount_read: pfn 47fa8d is poisoned
[  582.580138][ T2302] kpagecount_read: pfn 47fa8e is poisoned
[  582.585771][ T2302] kpagecount_read: pfn 47fa8f is poisoned
[  582.591386][ T2302] kpagecount_read: pfn 47fa90 is poisoned
[  582.597491][ T2302] kpagecount_read: pfn 47fa91 is poisoned
[  582.603107][ T2302] kpagecount_read: pfn 47fa92 is poisoned
[  582.608736][ T2302] kpagecount_read: pfn 47fa93 is poisoned
[  582s poisoned
[  583.004653][ T2302] kpagecount_read: pfn 47fad8 is poisoned
[  583.010285][ T2302] kpagecount_read: pfn 47fad9 is poisoned
[  583.015915][ T2302] kpagecount_read: pfn 47fada is poisoned
[  583.021979][ T2302] kpagecount_read: pfn 47fadb is poisoned
[  583.027610][ T2302] kpagecount_read: pfn 47fadc is poisoned
[  583.033225][ T2302] kpagecount_read: pfn 47fadd is poisoned
[  583.038855][ T2302] kpagecount_read: pfn 47fade is poisoned
[  583.044939][ T2302] kpagecount_read: pfn 47fadf is poisoned
[  583.050568][ T2302] kpagecount_read: pfn 47fae0 is poisoned
[  583.056206][ T2302] kpagecount_read: pfn 47fae1 is poisoned
[  583.061822][ T2302] kpagecount_read: pfn 47fae2 is poisoned
[  583.067875][ T2302] kpagecount_read: pfn 47fae3 is poisoned
[  583.073491][ T2302] kpagecount_read: pfn 47fae4 is poisoned
[  583.079122][ T2302] kpagecount_read: pfn 47fae5 is poisoned
[  583.084737][ T2302] kpagecount_read: pfn 47fae6 is poisoned
[  583.090367][ T2302] kpagecount_read: pfn 47fae7 is poisoned
[  583.096500][ T2302] kpagecount_read: pfn 47fae8 is poisoned
[  583.102115fn 47fb2c is poisoned
[  583.492403][ T2302] kpagecount_read: pfn 47fb2d is poisoned
[  583.498043][ T2302] kpagecount_read: pfn 47fb2e is poisoned
[  583.503658][ T2302] kpagecount_read: pfn 47fb2f is poisoned
[  583.509287][ T2302] kpagecount_read: pfn 47fb30 is poisoned
[  583.514900][ T2302] kpagecount_read: pfn 47fb31 is poisoned
[  583.521031][ T2302] kpagecount_read: pfn 47fb32 is poisoned
[  583.526662][ T2302] kpagecount_read: pfn 47fb33 is poisoned
[  583.532277][ T2302] kpagecount_read: pfn 47fb34 is poisoned
[  583.537911][ T2302] kpagecount_read: pfn 47fb35 is poisoned
[  583.544026][ T2302] kpagecount_read: pfn 47fb36 is poisoned
[  583.549658][ T2302] kpagecount_read: pfn 47fb37 is poisoned
[  583.555270][ T2302] kpagecount_read: pfn 47fb38 is poisoned
[  583.560901][ T2302] kpagecount_read: pfn 47fb39 is poisoned
[  583.566532][ T2302] kpagecount_read: pfn 47fb3a is poisoned
[  583.572642][ T2302] kpagecount_read: pfn 47fb3b is poisoned
[  583.578274][ T2302] kpagecount_read: pfn 47fb3c is poisoned
[  583.583889][ T2302] kpagecount_read: pfn 47fpoisoned
[  583.968272][ T2302] kpagecount_read: pfn 47fb80 is poisoned
[  583.973887][ T2302] kpagecount_read: pfn 47fb81 is poisoned
[  583.979525][ T2302] kpagecount_read: pfn 47fb82 is poisoned
[  583.985141][ T2302] kpagecount_read: pfn 47fb83 is poisoned
[  583.990775][ T2302] kpagecount_read: pfn 47fb84 is poisoned
[  583.996926][ T2302] kpagecount_read: pfn 47fb85 is poisoned
[  584.002542][ T2302] kpagecount_read: pfn 47fb86 is poisoned
[  584.008169][ T2302] kpagecount_read: pfn 47fb87 is poisoned
[  584.013784][ T2302] kpagecount_read: pfn 47fb88 is poisoned
[  584.019944][ T2302] kpagecount_read: pfn 47fb89 is poisoned
[  584.025575][ T2302] kpagecount_read: pfn 47fb8a is poisoned
[  584.031188][ T2302] kpagecount_read: pfn 47fb8b is poisoned
[  584.036821][ T2302] kpagecount_read: pfn 47fb8c is poisoned
[  584.042908][ T2302] kpagecount_read: pfn 47fb8d is poisoned
[  584.048539][ T2302] kpagecount_read: pfn 47fb8e is poisoned
[  584.054154][ T2302] kpagecount_read: pfn 47fb8f is poisoned
[  584.059783][ T2302] kpagecount_read: pfn 47fb90 is poisoned
[  584.065415][47fbd4 is poisoned
[  584.455833][ T2302] kpagecount_read: pfn 47fbd5 is poisoned
[  584.461449][ T2302] kpagecount_read: pfn 47fbd6 is poisoned
[  584.467563][ T2302] kpagecount_read: pfn 47fbd7 is poisoned
[  584.473176][ T2302] kpagecount_read: pfn 47fbd8 is poisoned
[  584.478806][ T2302] kpagecount_read: pfn 47fbd9 is poisoned
[  584.484421][ T2302] kpagecount_read: pfn 47fbda is poisoned
[  584.490055][ T2302] kpagecount_read: pfn 47fbdb is poisoned
[  584.496212][ T2302] kpagecount_read: pfn 47fbdc is poisoned
[  584.501830][ T2302] kpagecount_read: pfn 47fbdd is poisoned
[  584.507466][ T2302] kpagecount_read: pfn 47fbde is poisoned
[  584.513082][ T2302] kpagecount_read: pfn 47fbdf is poisoned
[  584.519206][ T2302] kpagecount_read: pfn 47fbe0 is poisoned
[  584.524819][ T2302] kpagecount_read: pfn 47fbe1 is poisoned
[  584.530452][ T2302] kpagecount_read: pfn 47fbe2 is poisoned
[  584.536082][ T2302] kpagecount_read: pfn 47fbe3 is poisoned
[  584.541697][ T2302] kpagecount_read: pfn 47fbe4 is poisoned
[  584.547827][ T2302] kpagecount_read: pfn 47fbe5unt_read: pfn 47fc29 is poisoned
[  584.943447][ T2302] kpagecount_read: pfn 47fc2a is poisoned
[  584.949077][ T2302] kpagecount_read: pfn 47fc2b is poisoned
[  584.954690][ T2302] kpagecount_read: pfn 47fc2c is poisoned
[  584.960321][ T2302] kpagecount_read: pfn 47fc2d is poisoned
[  584.965952][ T2302] kpagecount_read: pfn 47fc2e is poisoned
[  584.971964][ T2302] kpagecount_read: pfn 47fc2f is poisoned
[  584.977597][ T2302] kpagecount_read: pfn 47fc30 is poisoned
[  584.983212][ T2302] kpagecount_read: pfn 47fc31 is poisoned
[  584.988891][ T2302] kpagecount_read: pfn 47fc32 is poisoned
[  584.994988][ T2302] kpagecount_read: pfn 47fc33 is poisoned
[  585.000628][ T2302] kpagecount_read: pfn 47fc34 is poisoned
[  585.006263][ T2302] kpagecount_read: pfn 47fc35 is poisoned
[  585.011879][ T2302] kpagecount_read: pfn 47fc36 is poisoned
[  585.018044][ T2302] kpagecount_read: pfn 47fc37 is poisoned
[  585.023656][ T2302] kpagecount_read: pfn 47fc38 is poisoned
[  585.029290][ T2302] kpagecount_read: pfn 47fc39 is poisoned
[  585.034905][ T2302] kpagecount_read: pfn 47fc3a is p85.516543][ T2302] kpagecount_read: pfn 47fc8e is poisoned
[  585.522635][ T2302] kpagecount_read: pfn 47fc8f is poisoned
[  585.528269][ T2302] kpagecount_read: pfn 47fc90 is poisoned
[  585.533884][ T2302] kpagecount_read: pfn 47fc91 is poisoned
[  585.539515][ T2302] kpagecount_read: pfn 47fc92 is poisoned
[  585.545689][ T2302] kpagecount_read: pfn 47fc93 is poisoned
[  585.551305][ T2302] kpagecount_read: pfn 47fc94 is poisoned
[  585.556936][ T2302] kpagecount_read: pfn 47fc95 is poisoned
[  585.562550][ T2302] kpagecount_read: pfn 47fc96 is poisoned
[  585.568642][ T2302] kpagecount_read: pfn 47fc97 is poisoned
[  585.574258][ T2302] kpagecount_read: pfn 47fc98 is poisoned
[  585.579894][ T2302] kpagecount_read: pfn 47fc99 is poisoned
[  585.585519][ T2302] kpagecount_read: pfn 47fc9a is poisoned
[  585.591133][ T2302] kpagecount_read: pfn 47fc9b is poisoned
[  585.597175][ T2302] kpagecount_read: pfn 47fc9c is poisoned
[  585.602787][ T2302] kpagecount_read: pfn 47fc9d is poisoned
[  585.608409][ T2302] kpagecount_read: pfn 47fc9e is poisoned
[  585.614ed
[  586.003997][ T2302] kpagecount_read: pfn 47fce3 is poisoned
[  586.009630][ T2302] kpagecount_read: pfn 47fce4 is poisoned
[  586.015243][ T2302] kpagecount_read: pfn 47fce5 is poisoned
[  586.021328][ T2302] kpagecount_read: pfn 47fce6 is poisoned
[  586.026961][ T2302] kpagecount_read: pfn 47fce7 is poisoned
[  586.032576][ T2302] kpagecount_read: pfn 47fce8 is poisoned
[  586.038215][ T2302] kpagecount_read: pfn 47fce9 is poisoned
[  586.044349][ T2302] kpagecount_read: pfn 47fcea is poisoned
[  586.049981][ T2302] kpagecount_read: pfn 47fceb is poisoned
[  586.055616][ T2302] kpagecount_read: pfn 47fcec is poisoned
[  586.061231][ T2302] kpagecount_read: pfn 47fced is poisoned
[  586.067382][ T2302] kpagecount_read: pfn 47fcee is poisoned
[  586.073011][ T2302] kpagecount_read: pfn 47fcef is poisoned
[  586.078643][ T2302] kpagecount_read: pfn 47fcf0 is poisoned
[  586.084255][ T2302] kpagecount_read: pfn 47fcf1 is poisoned
[  586.089885][ T2302] kpagecount_read: pfn 47fcf2 is poisoned
[  586.096045][ T2302] kpagecount_read: pfn 47fcf3 is poisoned
[  586.101660][ T2302 is poisoned
[  586.491108][ T2302] kpagecount_read: pfn 47fd38 is poisoned
[  586.497289][ T2302] kpagecount_read: pfn 47fd39 is poisoned
[  586.502902][ T2302] kpagecount_read: pfn 47fd3a is poisoned
[  586.508531][ T2302] kpagecount_read: pfn 47fd3b is poisoned
[  586.514146][ T2302] kpagecount_read: pfn 47fd3c is poisoned
[  586.520313][ T2302] kpagecount_read: pfn 47fd3d is poisoned
[  586.525945][ T2302] kpagecount_read: pfn 47fd3e is poisoned
[  586.531559][ T2302] kpagecount_read: pfn 47fd3f is poisoned
[  586.537193][ T2302] kpagecount_read: pfn 47fd40 is poisoned
[  586.543278][ T2302] kpagecount_read: pfn 47fd41 is poisoned
[  586.548913][ T2302] kpagecount_read: pfn 47fd42 is poisoned
[  586.554528][ T2302] kpagecount_read: pfn 47fd43 is poisoned
[  586.560164][ T2302] kpagecount_read: pfn 47fd44 is poisoned
[  586.565799][ T2302] kpagecount_read: pfn 47fd45 is poisoned
[  586.571887][ T2302] kpagecount_read: pfn 47fd46 is poisoned
[  586.577521][ T2302] kpagecount_read: pfn 47fd47 is poisoned
[  586.583134][ T2302] kpagecount_read: pfn 47fd48 is po
[  586.967564][ T2302] kpagecount_read: pfn 47fd8b is poisoned
[  586.973179][ T2302] kpagecount_read: pfn 47fd8c is poisoned
[  586.978807][ T2302] kpagecount_read: pfn 47fd8d is poisoned
[  586.984423][ T2302] kpagecount_read: pfn 47fd8e is poisoned
[  586.990056][ T2302] kpagecount_read: pfn 47fd8f is poisoned
[  586.996173][ T2302] kpagecount_read: pfn 47fd90 is poisoned
[  587.001789][ T2302] kpagecount_read: pfn 47fd91 is poisoned
[  587.007417][ T2302] kpagecount_read: pfn 47fd92 is poisoned
[  587.013031][ T2302] kpagecount_read: pfn 47fd93 is poisoned
[  587.019210][ T2302] kpagecount_read: pfn 47fd94 is poisoned
[  587.024823][ T2302] kpagecount_read: pfn 47fd95 is poisoned
[  587.030453][ T2302] kpagecount_read: pfn 47fd96 is poisoned
[  587.036082][ T2302] kpagecount_read: pfn 47fd97 is poisoned
[  587.041695][ T2302] kpagecount_read: pfn 47fd98 is poisoned
[  587.047872][ T2302] kpagecount_read: pfn 47fd99 is poisoned
[  587.053485][ T2302] kpagecount_read: pfn 47fd9a is poisoned
[  587.059118][ T2302] kpagecount_read: pfn 47fd9b is poisoned
[  5f is poisoned
[  587.455062][ T2302] kpagecount_read: pfn 47fde0 is poisoned
[  587.460699][ T2302] kpagecount_read: pfn 47fde1 is poisoned
[  587.466336][ T2302] kpagecount_read: pfn 47fde2 is poisoned
[  587.472459][ T2302] kpagecount_read: pfn 47fde3 is poisoned
[  587.478085][ T2302] kpagecount_read: pfn 47fde4 is poisoned
[  587.483699][ T2302] kpagecount_read: pfn 47fde5 is poisoned
[  587.489323][ T2302] kpagecount_read: pfn 47fde6 is poisoned
[  587.495396][ T2302] kpagecount_read: pfn 47fde7 is poisoned
[  587.501008][ T2302] kpagecount_read: pfn 47fde8 is poisoned
[  587.506632][ T2302] kpagecount_read: pfn 47fde9 is poisoned
[  587.512245][ T2302] kpagecount_read: pfn 47fdea is poisoned
[  587.518335][ T2302] kpagecount_read: pfn 47fdeb is poisoned
[  587.523946][ T2302] kpagecount_read: pfn 47fdec is poisoned
[  587.529568][ T2302] kpagecount_read: pfn 47fded is poisoned
[  587.535179][ T2302] kpagecount_read: pfn 47fdee is poisoned
[  587.540802][ T2302] kpagecount_read: pfn 47fdef is poisoned
[  587.546881][ T2302] kpagecount_read: pfn 47fdf0 is poisoned
[  587.552[  588.039905][ T2302] kpagecount_read: pfn 47fe46 is poisoned
[  588.046041][ T2302] kpagecount_read: pfn 47fe47 is poisoned
[  588.051655][ T2302] kpagecount_read: pfn 47fe48 is poisoned
[  588.057286][ T2302] kpagecount_read: pfn 47fe49 is poisoned
[  588.062901][ T2302] kpagecount_read: pfn 47fe4a is poisoned
[  588.068978][ T2302] kpagecount_read: pfn 47fe4b is poisoned
[  588.074592][ T2302] kpagecount_read: pfn 47fe4c is poisoned
[  588.080223][ T2302] kpagecount_read: pfn 47fe4d is poisoned
[  588.085899][ T2302] kpagecount_read: pfn 47fe4e is poisoned
[  588.091515][ T2302] kpagecount_read: pfn 47fe4f is poisoned
[  588.097627][ T2302] kpagecount_read: pfn 47fe50 is poisoned
[  588.103240][ T2302] kpagecount_read: pfn 47fe51 is poisoned
[  588.108870][ T2302] kpagecount_read: pfn 47fe52 is poisoned
[  588.114484][ T2302] kpagecount_read: pfn 47fe53 is poisoned
[  588.120532][ T2302] kpagecount_read: pfn 47fe54 is poisoned
[  588.126164][ T2302] kpagecount_read: pfn 47fe55 is poisoned
[  588.131778][ T2302] kpagecount_read: pfn 47fe56 is poisoned
[  5882][ T2302] kpagecount_read: pfn 47fe99 is poisoned
[  588.521955][ T2302] kpagecount_read: pfn 47fe9a is poisoned
[  588.527587][ T2302] kpagecount_read: pfn 47fe9b is poisoned
[  588.533202][ T2302] kpagecount_read: pfn 47fe9c is poisoned
[  588.538832][ T2302] kpagecount_read: pfn 47fe9d is poisoned
[  588.544980][ T2302] kpagecount_read: pfn 47fe9e is poisoned
[  588.550613][ T2302] kpagecount_read: pfn 47fe9f is poisoned
[  588.556244][ T2302] kpagecount_read: pfn 47fea0 is poisoned
[  588.561858][ T2302] kpagecount_read: pfn 47fea1 is poisoned
[  588.567935][ T2302] kpagecount_read: pfn 47fea2 is poisoned
[  588.573550][ T2302] kpagecount_read: pfn 47fea3 is poisoned
[  588.579182][ T2302] kpagecount_read: pfn 47fea4 is poisoned
[  588.584797][ T2302] kpagecount_read: pfn 47fea5 is poisoned
[  588.590427][ T2302] kpagecount_read: pfn 47fea6 is poisoned
[  588.596560][ T2302] kpagecount_read: pfn 47fea7 is poisoned
[  588.602174][ T2302] kpagecount_read: pfn 47fea8 is poisoned
[  588.607813][ T2302] kpagecount_read: pfn 47fea9 is poisoned
[  588.613429][ T2302] kpagecount_rea[  589.003773][ T2302] kpagecount_read: pfn 47feee is poisoned
[  589.009407][ T2302] kpagecount_read: pfn 47feef is poisoned
[  589.015021][ T2302] kpagecount_read: pfn 47fef0 is poisoned
[  589.020978][ T2302] kpagecount_read: pfn 47fef1 is poisoned
[  589.026610][ T2302] kpagecount_read: pfn 47fef2 is poisoned
[  589.032224][ T2302] kpagecount_read: pfn 47fef3 is poisoned
[  589.037857][ T2302] kpagecount_read: pfn 47fef4 is poisoned
[  589.043921][ T2302] kpagecount_read: pfn 47fef5 is poisoned
[  589.049557][ T2302] kpagecount_read: pfn 47fef6 is poisoned
[  589.055171][ T2302] kpagecount_read: pfn 47fef7 is poisoned
[  589.060805][ T2302] kpagecount_read: pfn 47fef8 is poisoned
[  589.066435][ T2302] kpagecount_read: pfn 47fef9 is poisoned
[  589.072476][ T2302] kpagecount_read: pfn 47fefa is poisoned
[  589.078107][ T2302] kpagecount_read: pfn 47fefb is poisoned
[  589.083722][ T2302] kpagecount_read: pfn 47fefc is poisoned
[  589.089352][ T2302] kpagecount_read: pfn 47fefd is poisoned
[  589.095500][ T2302] kpagecount_read: pfn 47fefe is poisoned
[  589poisoned
[  589.490872][ T2302] kpagecount_read: pfn 47ff43 is poisoned
[  589.496983][ T2302] kpagecount_read: pfn 47ff44 is poisoned
[  589.502597][ T2302] kpagecount_read: pfn 47ff45 is poisoned
[  589.508229][ T2302] kpagecount_read: pfn 47ff46 is poisoned
[  589.513843][ T2302] kpagecount_read: pfn 47ff47 is poisoned
[  589.519967][ T2302] kpagecount_read: pfn 47ff48 is poisoned
[  589.525603][ T2302] kpagecount_read: pfn 47ff49 is poisoned
[  589.531217][ T2302] kpagecount_read: pfn 47ff4a is poisoned
[  589.536853][ T2302] kpagecount_read: pfn 47ff4b is poisoned
[  589.542992][ T2302] kpagecount_read: pfn 47ff4c is poisoned
[  589.548623][ T2302] kpagecount_read: pfn 47ff4d is poisoned
[  589.554236][ T2302] kpagecount_read: pfn 47ff4e is poisoned
[  589.559867][ T2302] kpagecount_read: pfn 47ff4f is poisoned
[  589.565497][ T2302] kpagecount_read: pfn 47ff50 is poisoned
[  589.571610][ T2302] kpagecount_read: pfn 47ff51 is poisoned
[  589.577237][ T2302] kpagecount_read: pfn 47ff52 is poisoned
[  589.582850][ T2302] kpagecount_read: pfn 47ff53 is poisoned
[  589.588482][d
[  589.967726][ T2302] kpagecount_read: pfn 47ff96 is poisoned
[  589.973338][ T2302] kpagecount_read: pfn 47ff97 is poisoned
[  589.978970][ T2302] kpagecount_read: pfn 47ff98 is poisoned
[  589.984583][ T2302] kpagecount_read: pfn 47ff99 is poisoned
[  589.990214][ T2302] kpagecount_read: pfn 47ff9a is poisoned
[  589.996279][ T2302] kpagecount_read: pfn 47ff9b is poisoned
[  590.001893][ T2302] kpagecount_read: pfn 47ff9c is poisoned
[  590.007525][ T2302] kpagecount_read: pfn 47ff9d is poisoned
[  590.013140][ T2302] kpagecount_read: pfn 47ff9e is poisoned
[  590.019314][ T2302] kpagecount_read: pfn 47ff9f is poisoned
[  590.024931][ T2302] kpagecount_read: pfn 47ffa0 is poisoned
[  590.030569][ T2302] kpagecount_read: pfn 47ffa1 is poisoned
[  590.036203][ T2302] kpagecount_read: pfn 47ffa2 is poisoned
[  590.042349][ T2302] kpagecount_read: pfn 47ffa3 is poisoned
[  590.048102][ T2302] kpagecount_read: pfn 47ffa4 is poisoned
[  590.053718][ T2302] kpagecount_read: pfn 47ffa5 is poisoned
[  590.059347][ T2302] kpagecount_read: pfn 47ffa6 is poisoned
[  44][ T2302] kpagecount_read: pfn 47fffc is poisoned
[  590.558381][ T2302] kpagecount_read: pfn 47fffd is poisoned
[  590.563994][ T2302] kpagecount_read: pfn 47fffe is poisoned
[  590.570032][ T2302] kpagecount_read: pfn 47ffff is poisoned
[  604.268653][ T2302] kpagecount_read: pfn 87ff80 is poisoned
[  604.274281][ T2302] kpagecount_read: pfn 87ff81 is poisoned
[  604.279918][ T2302] kpagecount_read: pfn 87ff82 is poisoned
[  604.285561][ T2302] kpagecount_read: pfn 87ff83 is poisoned
[  604.291185][ T2302] kpagecount_read: pfn 87ff84 is poisoned
[  604.297353][ T2302] kpagecount_read: pfn 87ff85 is poisoned
[  604.302970][ T2302] kpagecount_read: pfn 87ff86 is poisoned
[  604.308600][ T2302] kpagecount_read: pfn 87ff87 is poisoned
[  604.314212][ T2302] kpagecount_read: pfn 87ff88 is poisoned
[  604.320181][ T2302] kpagecount_read: pfn 87ff89 is poisoned
[  604.325816][ T2302] kpagecount_read: pfn 87ff8a is poisoned
[  604.331429][ T2302] kpagecount_read: pfn 87ff8b is poisoned
[  604.337062][ T2302] kpagecount_read: pfn 87ff8c is poisoned
[  604.343142][ T2302] kpagecount_read: pfn 87ff8d is poisoned
[  604.348774][ T2302] kpagecount_read: pfn 87ff8e is poisoned
[  604.354392][ T2302] kpagecount_read: pfn 87ff8f is poisoned
[  604.360025][ T2302] kpagecount_read: pfn 87ff90 is poisoned
[  604.365660][ T2302] kpagecount_read: pfn 87ff91 is poisoned
[  604.371776][ T2302] kpagecount_read: pfn 87ff92 is poisoned
[  604.377456][ T2302] kpagecount_read: pfn 87ff93 is poisoned
[  604.383074][ T2302] kpagecount_read: pfn 87ff94 is poisoned
[  604.388707][ T2302] kpagecount_read: pfn 87ff95 is poisoned
[  604.394781][ T2302] kpagecount_read: pfn 87ff96 is poisoned
[  604.400414][ T2302] kpagecount_read: pfn 87ff97 is poisoned
[  604.406052][ T2302] kpagecount_read: pfn 87ff98 is poisoned
[  604.411667][ T2302] kpagecount_read: pfn 87ff99 is poisoned
[  604.417667][ T2302] kpagecount_read: pfn 87ff9a is poisoned
[  604.423283][ T2302] kpagecount_read: pfn 87ff9b is poisoned
[  604.428915][ T2302] kpagecount_read: pfn 87ff9c is poisoned
[  604.434533][ T2302] kpagecount_read: pfn 87ff9d is poisoned
[  604.440170][ T2302] kpagecount_read: pfn 87ff9e is poisoned
[  604.446189][ T2302] kpagecount_read: pfn 87ff9f is poisoned
[  604.451803][ T2302] kpagecount_read: pfn 87ffa0 is poisoned
[  604.457435][ T2302] kpagecount_read: pfn 87ffa1 is poisoned
[  604.463050][ T2302] kpagecount_read: pfn 87ffa2 is poisoned
[  604.469092][ T2302] kpagecount_read: pfn 87ffa3 is poisoned
[  604.474706][ T2302] kpagecount_read: pfn 87ffa4 is poisoned
[  604.480337][ T2302] kpagecount_read: pfn 87ffa5 is poisoned
[  604.485970][ T2302] kpagecount_read: pfn 87ffa6 is poisoned
[  604.491586][ T2302] kpagecount_read: pfn 87ffa7 is poisoned
[  604.497578][ T2302] kpagecount_read: pfn 87ffa8 is poisoned
[  604.503193][ T2302] kpagecount_read: pfn 87ffa9 is poisoned
[  604.508826][ T2302] kpagecount_read: pfn 87ffaa is poisoned
[  604.514441][ T2302] kpagecount_read: pfn 87ffab is poisoned
[  604.520473][ T2302] kpagecount_read: pfn 87ffac is poisoned
[  604.526109][ T2302] kpagecount_read: pfn 87ffad is poisoned
[  604.531727][ T2302] kpagecount_read: pfn 87ffae is poisoned
[  604.537361][ T2302] kpagecount_read: pfn 87ffaf is poisoned
[  604.543385][ T2302] kpagecount_read: pfn 87ffb0 is poisoned
[  604.549015][ T2302] kpagecount_read: pfn 87ffb1 is poisoned
[  604.554628][ T2302] kpagecount_read: pfn 87ffb2 is poisoned
[  604.560264][ T2302] kpagecount_read: pfn 87ffb3 is poisoned
[  604.565896][ T2302] kpagecount_read: pfn 87ffb4 is poisoned
[  604.571877][ T2302] kpagecount_read: pfn 87ffb5 is poisoned
[  604.577508][ T2302] kpagecount_read: pfn 87ffb6 is poisoned
[  604.583126][ T2302] kpagecount_read: pfn 87ffb7 is poisoned
[  604.588761][ T2302] kpagecount_read: pfn 87ffb8 is poisoned
[  604.594811][ T2302] kpagecount_read: pfn 87ffb9 is poisoned
[  604.600445][ T2302] kpagecount_read: pfn 87ffba is poisoned
[  604.606081][ T2302] kpagecount_read: pfn 87ffbb is poisoned
[  604.611698][ T2302] kpagecount_read: pfn 87ffbc is poisoned
[  604.617731][ T2302] kpagecount_read[  617.484205][ T2302] kpagecount_read: pfn c7ff80 is poisoned
[  617.489844][ T2302] kpagecount_read: pfn c7ff81 is poisoned
[  617.495947][ T2302] kpagecount_read: pfn c7ff82 is poisoned
[  617.501562][ T2302] kpagecount_read: pfn c7ff83 is poisoned
[  617.507194][ T2302] kpagecount_read: pfn c7ff84 is poisoned
[  617.512809][ T2302] kpagecount_read: pfn c7ff85 is poisoned
[  617.518819][ T2302] kpagecount_read: pfn c7ff86 is poisoned
[  617.524434][ T2302] kpagecount_read: pfn c7ff87 is poisoned
[  617.530068][ T2302] kpagecount_read: pfn c7ff88 is poisoned
[  617.535700][ T2302] kpagecount_read: pfn c7ff89 is poisoned
[  617.541316][ T2302] kpagecount_read: pfn c7ff8a is poisoned
[  617.547465][ T2302] kpagecount_read: pfn c7ff8b is poisoned
[  617.553081][ T2302] kpagecount_read: pfn c7ff8c is poisoned
[  617.558719][ T2302] kpagecount_read: pfn c7ff8d is poisoned
[  617.564333][ T2302] kpagecount_read: pfn c7ff8e is poisoned
[  617.570488][ T2302] kpagecount_read: pfn c7ff8f is poisoned
[  617.576124][ T2302] kpagecount_read: pfn c7ff90 is poisoned
[  617.581741][ T2302] kpagecount_read: pfn c7ff91 is poisoned
[  617.587384][ T2302] kpagecount_read: pfn c7ff92 is poisoned
[  617.593494][ T2302] kpagecount_read: pfn c7ff93 is poisoned
[  617.599130][ T2302] kpagecount_read: pfn c7ff94 is poisoned
[  617.604742][ T2302] kpagecount_read: pfn c7ff95 is poisoned
[  617.610375][ T2302] kpagecount_read: pfn c7ff96 is poisoned
[  617.616012][ T2302] kpagecount_read: pfn c7ff97 is poisoned
[  617.622111][ T2302] kpagecount_read: pfn c7ff98 is poisoned
[  617.627743][ T2302] kpagecount_read: pfn c7ff99 is poisoned
[  617.633356][ T2302] kpagecount_read: pfn c7ff9a is poisoned
[  617.638986][ T2302] kpagecount_read: pfn c7ff9b is poisoned
[  617.645188][ T2302] kpagecount_read: pfn c7ff9c is poisoned
[  617.650820][ T2302] kpagecount_read: pfn c7ff9d is poisoned
[  617.656450][ T2302] kpagecount_read: pfn c7ff9e is poisoned
[  617.662064][ T2302] kpagecount_read: pfn c7ff9f is poisoned
[  617.668190][ T2302] kpagecount_read: pfn c7ffa0 is poisoned
[  617.673802][ T2302] kpagecount_read: pfn c7ffa1 is poisoned
[  617.679438][ T2302] kpagecount_read: pfn c7ffa2 is poisoned
[  617.685053][ T2302] kpagecount_read: pfn c7ffa3 is poisoned
[  617.690683][ T2302] kpagecount_read: pfn c7ffa4 is poisoned
[  617.696804][ T2302] kpagecount_read: pfn c7ffa5 is poisoned
[  617.702421][ T2302] kpagecount_read: pfn c7ffa6 is poisoned
[  617.708055][ T2302] kpagecount_read: pfn c7ffa7 is poisoned
[  617.713667][ T2302] kpagecount_read: pfn c7ffa8 is poisoned
[  617.719831][ T2302] kpagecount_read: pfn c7ffa9 is poisoned
[  617.725444][ T2302] kpagecount_read: pfn c7ffaa is poisoned
[  617.731075][ T2302] kpagecount_read: pfn c7ffab is poisoned
[  617.736711][ T2302] kpagecount_read: pfn c7ffac is poisoned
[  617.742867][ T2302] kpagecount_read: pfn c7ffad is poisoned
[  617.748498][ T2302] kpagecount_read: pfn c7ffae is poisoned
[  617.754112][ T2302] kpagecount_read: pfn c7ffaf is poisoned
[  617.759746][ T2302] kpagecount_read: pfn c7ffb0 is poisoned
[  617.765361][ T2302] kpagecount_read: pfn c7ffb1 is poisoned
[  617.771399][ T2302] kpagecount_read: pfn c7ffb2 is poisoned
[  617.777032][ T2302] kpagecount_read: pfn c7ffb3 is poisoned
[  617.782649][ T2302] kpagecount_read: pfn c7ffb4 is poisoned
[  617.788278][ T2302] kpagecount_read: pfn c7ffb5 is poisoned
[  617.794335][ T2302] kpagecount_read: pfn c7ffb6 is poisoned
[  617.799971][ T2302] kpagecount_read: pfn c7ffb7 is poisoned
[  617.805607][ T2302] kpagecount_read: pfn c7ffb8 is poisoned
[  617.811221][ T2302] kpagecount_read: pfn c7ffb9 is poisoned
[  617.816876][ T2302] kpagecount_read: pfn c7ffba is poisoned
[  617.822862][ T2302] kpagecount_read: pfn c7ffbb is poisoned
[  617.828493][ T2302] kpagecount_read: pfn c7ffbc is poisoned
[  617.834107][ T2302] kpagecount_read: pfn c7ffbd is poisoned
[  617.839743][ T2302] kpagecount_read: pfn c7ffbe is poisoned
[  617.845843][ T2302] kpagecount_read: pfn c7ffbf is poisoned
[  617.851459][ T2302] kpagecount_read: pfn c7ffc0 is poisoned
[  617.857094][ T2302] kpagecount_read: pfn c7ffc1 is poisoned
[  617.862707][ T2302] kpagecount_read: pfn c7ffc2 is poisoned
[  617.868791][ T2302] kpagecount_read: pfn c7ffc3 is poisoned
[  617.874406][ T2302] kpagecount_read: pfn c7ffc4 is poisoned
[  617.880036][ T2302] kpagecount_read: pfn c7ffc5 is poisoned
[  617.885669][ T2302] kpagecount_read: pfn c7ffc6 is poisoned
[  617.891283][ T2302] kpagecount_read: pfn c7ffc7 is poisoned
[  617.897423][ T2302] kpagecount_read: pfn c7ffc8 is poisoned
[  617.903036][ T2302] kpagecount_read: pfn c7ffc9 is poisoned
[  617.908666][ T2302] kpagecount_read: pfn c7ffca is poisoned
[  617.914279][ T2302] kpagecount_read: pfn c7ffcb is poisoned
[  617.920361][ T2302] kpagecount_read: pfn c7ffcc is poisoned
[  617.925992][ T2302] kpagecount_read: pfn c7ffcd is poisoned
[  617.931607][ T2302] kpagecount_read: pfn c7ffce is poisoned
[  617.937237][ T2302] kpagecount_read: pfn c7ffcf is poisoned
[  617.943376][ T2302] kpagecount_read: pfn c7ffd0 is poisoned
[  617.949006][ T2302] kpagecount_read: pfn c7ffd1 is poisoned
[  617.954619][ T2302] kpagecount_read: pfn c7ffd2 is poisoned
[  617.960252][ T2302] kpagecount_read: pfn c7ffd3 is poisoned
[  617.965884][ T2302] kpagecount_read: pfn c7ffd4 is poisoned
[  617.971962][ T2302] kpagecount_read: pfn c7ffd5 is poisoned
[  617.977604][ T2302] kpagecount_read: pfn c7ffd6 is poisoned
[  617.983217][ T2302] kpagecount_read: pfn c7ffd7 is poisoned
[  617.988855][ T2302] kpagecount_read: pfn c7ffd8 is poisoned
[  617.994873][ T2302] kpagecount_read: pfn c7ffd9 is poisoned
[  618.000497][ T2302] kpagecount_read: pfn c7ffda is poisoned
[  618.006121][ T2302] kpagecount_read: pfn c7ffdb is poisoned
[  618.011733][ T2302] kpagecount_read: pfn c7ffdc is poisoned
[  618.017766][ T2302] kpagecount_read: pfn c7ffdd is poisoned
[  618.023379][ T2302] kpagecount_read: pfn c7ffde is poisoned
[  618.029004][ T2302] kpagecount_read: pfn c7ffdf is poisoned
[  618.034617][ T2302] kpagecount_read: pfn c7ffe0 is poisoned
[  618.040245][ T2302] kpagecount_read: pfn c7ffe1 is poisoned
[  618.046332][ T2302] kpagecount_read: pfn c7ffe2 is poisoned
[  618.051945][ T2302] kpagecount_read: pfn c7ffe3 is poisoned
[  618.057568][ T2302] kpagecount_read: pfn c7ffe4 is poisoned
[  618.063182][ T2302] kpagecount_read: pfn c7ffe5 is poisoned
[  618.069216][ T2302] kpagecount_read: pfn c7ffe6 is poisoned
[  618.074830][ T2302] kpagecount_read: pfn c7ffe7 is poisoned
[  618.080461][ T2302] kpagecount_read: pfn c7ffe8 is poisoned
[  618.086092][ T2302] kpagecount_read: pfn c7ffe9 is poisoned
[  618.091708][ T2302] kpagecount_read: pfn c7ffea is poisoned
[  618.097930][ T2302] kpagecount_read: pfn c7ffeb is poisoned
[  618.103545][ T2302] kpagecount_read: pfn c7ffec is poisoned
[  618.109184][ T2302] kpagecount_read: pfn c7ffed is poisoned
[  618.114801][ T2302] kpagecount_read: pfn c7ffee is poisoned
[  618.120913][ T2302] kpagecount_read: pfn c7ffef is poisoned
[  618.126546][ T2302] kpagecount_read: pfn c7fff0 is poisoned
[  618.132163][ T2302] kpagecount_read: pfn c7fff1 is poisoned
[  618.137797][ T2302] kpagecount_read: pfn c7fff2 is poisoned
[  618.143897][ T2302] kpagecount_read: pfn c7fff3 is poisoned
[  618.149528][ T2302] kpagecount_read: pfn c7fff4 is poisoned
[  618.155142][ T2302] kpagecount_read: pfn c7fff5 is poisoned
[  618.160778][ T2302] kpagecount_read: pfn c7fff6 is poisoned
[  618.166409][ T2302] kpagecount_read: pfn c7fff7 is poisoned
[  618.172494][ T2302] kpagecount_read: pfn c7fff8 is poisoned
[  618.178123][ T2302] kpagecount_read: pfn c7fff9 is poisoned
[  618.183737][ T2302] kpagecount_read: pfn c7fffa is poisoned
[  618.189370][ T2302] kpagecount_read: pfn c7fffb is poisoned
[  618.195461][ T2302] kpagecount_read: pfn c7fffc is poisoned
[  618.201095][ T2302] kpagecount_read: pfn c7fffd is poisoned
[  618.206727][ T2302] kpagecount_read: pfn c7fffe is poisoned
[  618.212344][ T2302] kpagecount_read: pfn c7ffff is poisoned
[  633.134228][ T2302] kpagecount_read: pfn 107ff80 is poisoned
[  633.139955][ T2302] kpagecount_read: pfn 107ff81 is poisoned
[  633.146198][ T2302] kpagecount_read: pfn 107ff82 is poisoned
[  633.151901][ T2302] kpagecount_read: pfn 107ff83 is poisoned
[  633.157621][ T2302] kpagecount_read: pfn 107ff84 is poisoned
[  633.163323][ T2302] kpagecount_read: pfn 107ff85 is poisoned
[  633.169530][ T2302] kpagecount_read: pfn 107ff86 is poisoned
[  633.175232][ T2302] kpagecount_read: pfn 107ff87 is poisoned
[  633.180953][ T2302] kpagecount_read: pfn 107ff88 is poisoned
[  633.186672][ T2302] kpagecount_read: pfn 107ff89 is poisoned
[  633.192956][ T2302] kpagecount_read: pfn 107ff8a is poisoned
[  633.198702][ T2302] kpagecount_read: pfn 107ff8b is poisoned
[  633.204405][ T2302] kpagecount_read: pfn 107ff8c is poisoned
[  633.210130][ T2302] kpagecount_read: pfn 107ff8d is poisoned
[  633.215854][ T2302] kpagecount_read: pfn 107ff8e is poisoned
[  633.221914][ T2302] kpagecount_read: pfn 107ff8f is poisoned
[  633.227632][ T2302] kpagecount_read: pfn 107ff90 is poisoned
[  633.233335][ T2302] kpagecount_read: pfn 107ff91 is poisoned
[  633.239056][ T2302] kpagecount_read: pfn 107ff92 is poisoned
[  633.245240][ T2302] kpagecount_read: pfn 107ff93 is poisoned
[  633.250969][ T2302] kpagecount_read: pfn 107ff94 is poisoned
[  633.256694][ T2302] kpagecount_read: pfn 107ff95 is poisoned
[  633.262395][ T2302] kpagecount_read: pfn 107ff96 is poisoned
[  633.268417][ T2302] kpagecount_read: pfn 107ff97 is poisoned
[  633.274117][ T2302] kpagecount_read: pfn 107ff98 is poisoned
[  633.279837][ T2302] kpagecount_read: pfn 107ff99 is poisoned
[  633.285540][ T2302] kpagecount_read: pfn 107ff9a is poisoned
[  633.291257][ T2302] kpagecount_read: pfn 107ff9b is poisoned
[  633.297457][ T2302] kpagecount_read: pfn 107ff9c is poisoned
[  633.303159][ T2302] kpagecount_read: pfn 107ff9d is poisoned
[  633.308868][ T2302] kpagecount_read: pfn 107ff9e is poisoned
[  633.314568][ T2302] kpagecount_read: pfn 107ff9f is poisoned
[  633.320726][ T2302] kpagecount_read: pfn 107ffa0 is poisoned
[  633.326441][ T2302] kpagecount_read: pfn 107ffa1 is poisoned
[  633.332141][ T2302] kpagecount_read: pfn 107ffa2 is poisoned
[  633.337849][ T2302] kpagecount_read: pfn 107ffa3 is poisoned
[  633.344042][ T2302] kpagecount_read: pfn 107ffa4 is poisoned
[  633.349754][ T2302] kpagecount_read: pfn 107ffa5 is poisoned
[  633.355453][ T2302] kpagecount_read: pfn 107ffa6 is poisoned
[  633.361163][ T2302] kpagecount_read: pfn 107ffa7 is poisoned
[  633.366876][ T2302] kpagecount_read: pfn 107ffa8 is poisoned
[  633.373062][ T2302] kpagecount_read: pfn 107ffa9 is poisoned
[  633.378784][ T2302] kpagecount_read: pfn 107ffaa is poisoned
[  633.384491][ T2302] kpagecount_read: pfn 107ffab is poisoned
[  633.390218][ T2302] kpagecount_read: pfn 107ffac is poisoned
[  633.396357][ T2302] kpagecount_read: pfn 107ffad is poisoned
[  633.402059][ T2302] kpagecount_read: pfn 107ffae is poisoned
[  633.407777][ T2302] kpagecount_read: pfn 107ffaf is poisoned
[  633.413478][ T2302] kpagecount_read: pfn 107ffb0 is poisoned
[  633.419746][ T2302] kpagecount_read: pfn 107ffb1 is poisoned
[  633.425450][ T2302] kpagecount_read: pfn 107ffb2 is poisoned
[  633.431178][ T2302] kpagecount_read: pfn 107ffb3 is poisoned
[  633.436902][ T2302] kpagecount_read: pfn 107ffb4 is poisoned
[  633.443167][ T2302] kpagecount_read: pfn 107ffb5 is poisoned
[  633.448893][ T2302] kpagecount_read: pfn 107ffb6 is poisoned
[  633.454596][ T2302] kpagecount_read: pfn 107ffb7 is poisoned
[  633.460315][ T2302] kpagecount_read: pfn 107ffb8 is poisoned
[  633.466032][ T2302] kpagecount_read: pfn 107ffb9 is poisoned
[  633.472170][ T2302] kpagecount_read: pfn 107ffba is poisoned
[  633.477889][ T2302] kpagecount_read: pfn 107ffbb is poisoned
[  633.483591][ T2302] kpagecount_read: pfn 107ffbc is poisoned
[  633.489308][ T2302] kpagecount_read: pfn 107ffbd is poisoned
[  633.495460][ T2302] kpagecount_read: pfn 107ffbe is poisoned
[  633.501179][ T2302] kpagecount_read: pfn 107ffbf is poisoned
[  633.506900][ T2302] kpagecount_read: pfn 107ffc0 is poisoned
[  633.512604][ T2302] kpagecount_read: pfn 107ffc1 is poisoned
[  633.518743][ T2302] kpagecount_read: pfn 107ffc2 is poisoned
[  633.524445][ T2302] kpagecount_read: pfn 107ffc3 is poisoned
[  633.530162][ T2302] kpagecount_read: pfn 107ffc4 is poisoned
[  633.535884][ T2302] kpagecount_read: pfn 107ffc5 is poisoned
[  633.541588][ T2302] kpagecount_read: pfn 107ffc6 is poisoned
[  633.547860][ T2302] kpagecount_read: pfn 107ffc7 is poisoned
[  633.553565][ T2302] kpagecount_read: pfn 107ffc8 is poisoned
[  633.559287][ T2302] kpagecount_read: pfn 107ffc9 is poisoned
[  633.564989][ T2302] kpagecount_read: pfn 107ffca is poisoned
[  633.571140][ T2302] kpagecount_read: pfn 107ffcb is poisoned
[  633.576863][ T2302] kpagecount_read: pfn 107ffcc is poisoned
[  633.582565][ T2302] kpagecount_read: pfn 107ffcd is poisoned
[  633.588282][ T2302] kpagecount_read: pfn 107ffce is poisoned
[  633.594509][ T2302] kpagecount_read: pfn 107ffcf is poisoned
[  633.600225][ T2302] kpagecount_read: pfn 107ffd0 is poisoned
[  633.605943][ T2302] kpagecount_read: pfn 107ffd1 is poisoned
[  633.611645][ T2302] kpagecount_read: pfn 107ffd2 is poisoned
[  633.617915][ T2302] kpagecount_read: pfn 107ffd3 is poisoned
[  633.623627][ T2302] kpagecount_read: pfn 107ffd4 is poisoned
[  633.629350][ T2302] kpagecount_read: pfn 107ffd5 is poisoned
[  633.635051][ T2302] kpagecount_read: pfn 107ffd6 is poisoned
[  633.640770][ T2302] kpagecount_read: pfn 107ffd7 is poisoned
[  633.646997][ T2302] kpagecount_read: pfn 107ffd8 is poisoned
[  633.652699][ T2302] kpagecount_read: pfn 107ffd9 is poisoned
[  633.658416][ T2302] kpagecount_read: pfn 107ffda is poisoned
[  633.664118][ T2302] kpagecount_read: pfn 107ffdb is poisoned
[  633.670258][ T2302] kpagecount_read: pfn 107ffdc is poisoned
[  633.675989][ T2302] kpagecount_read: pfn 107ffdd is poisoned
[  633.681693][ T2302] kpagecount_read: pfn 107ffde is poisoned
[  633.687418][ T2302] kpagecount_read: pfn 107ffdf is poisoned
[  633.693609][ T2302] kpagecount_read: pfn 107ffe0 is poisoned
[  633.699328][ T2302] kpagecount_read: pfn 107ffe1 is poisoned
[  633.705028][ T2302] kpagecount_read: pfn 107ffe2 is poisoned
[  633.710745][ T2302] kpagecount_read: pfn 107ffe3 is poisoned
[  633.716464][ T2302] kpagecount_read: pfn 107ffe4 is poisoned
[  633.722693][ T2302] kpagecount_read: pfn 107ffe5 is poisoned
[  633.728410][ T2302] kpagecount_read: pfn 107ffe6 is poisoned
[  633.734111][ T2302] kpagecount_read: pfn 107ffe7 is poisoned
[  633.739828][ T2302] kpagecount_read: pfn 107ffe8 is poisoned
[  633.746007][ T2302] kpagecount_read: pfn 107ffe9 is poisoned
[  633.751711][ T2302] kpagecount_read: pfn 107ffea is poisoned
[  633.757428][ T2302] kpagecount_read: pfn 107ffeb is poisoned
[  633.763131][ T2302] kpagecount_read: pfn 107ffec is poisoned
[  633.769324][ T2302] kpagecount_read: pfn 107ffed is poisoned
[  633.775025][ T2302] kpagecount_read: pfn 107ffee is poisoned
[  633.780743][ T2302] kpagecount_read: pfn 107ffef is poisoned
[  633.786461][ T2302] kpagecount_read: pfn 107fff0 is poisoned
[  633.792163][ T2302] kpagecount_read: pfn 107fff1 is poisoned
[  633.798381][ T2302] kpagecount_read: pfn 107fff2 is poisoned
[  633.804083][ T2302] kpagecount_read: pfn 107fff3 is poisoned
[  633.809815][ T2302] kpagecount_read: pfn 107fff4 is poisoned
[  633.815522][ T2302] kpagecount_read: pfn 107fff5 is poisoned
[  633.821703][ T2302] kpagecount_read: pfn 107fff6 is poisoned
[  633.827424][ T2302] kpagecount_read: pfn 107fff7 is poisoned
[  633.833127][ T2302] kpagecount_read: pfn 107fff8 is poisoned
[  633.838845][ T2302] kpagecount_read: pfn 107fff9 is poisoned
[  633.845075][ T2302] kpagecount_read: pfn 107fffa is poisoned
[  633.850793][ T2302] kpagecount_read: pfn 107fffb is poisoned
[  633.856510][ T2302] kpagecount_read: pfn 107fffc is poisoned
[  633.862212][ T2302] kpagecount_read: pfn 107fffd is poisoned
[  633.868385][ T2302] kpagecount_read: pfn 107fffe is poisoned
[  633.874087][ T2302] kpagecount_read: pfn 107ffff is poisoned
[  647.686412][ T2302] kpagecount_read: pfn 147ff80 is poisoned
[  647.692128][ T2302] kpagecount_read: pfn 147ff81 is poisoned
[  647.698399][ T2302] kpagecount_read: pfn 147ff82 is poisoned
[  647.704103][ T2302] kpagecount_read: pfn 147ff83 is poisoned
[  647.709816][ T2302] kpagecount_read: pfn 147ff84 is poisoned
[  647.715517][ T2302] kpagecount_read: pfn 147ff85 is poisoned
[  647.721596][ T2302] kpagecount_read: pfn 147ff86 is poisoned
[  647.727306][ T2302] kpagecount_read: pfn 147ff87 is poisoned
[  647.733007][ T2302] kpagecount_read: pfn 147ff88 is poisoned
[  647.738717][ T2302] kpagecount_read: pfn 147ff89 is poisoned
[  647.744911][ T2302] kpagecount_read: pfn 147ff8a is poisoned
[  647.750623][ T2302] kpagecount_read: pfn 147ff8b is poisoned
[  647.756340][ T2302] kpagecount_read: pfn 147ff8c is poisoned
[  647.762040][ T2302] kpagecount_read: pfn 147ff8d is poisoned
[  647.768171][ T2302] kpagecount_read: pfn 147ff8e is poisoned
[  647.773872][ T2302] kpagecount_read: pfn 147ff8f is poisoned
[  647.779585][ T2302] kpagecount_read: pfn 147ff90 is poisoned
[  647.785285][ T2302] kpagecount_read: pfn 147ff91 is poisoned
[  647.791007][ T2302] kpagecount_read: pfn 147ff92 is poisoned
[  647.797252][ T2302] kpagecount_read: pfn 147ff93 is poisoned
[  647.802950][ T2302] kpagecount_read: pfn 147ff94 is poisoned
[  647.808661][ T2302] kpagecount_read: pfn 147ff95 is poisoned
[  647.814359][ T2302] kpagecount_read: pfn 147ff96 is poisoned
[  647.820499][ T2302] kpagecount_read: pfn 147ff97 is poisoned
[  647.826212][ T2302] kpagecount_read: pfn 147ff98 is poisoned
[  647.831913][ T2302] kpagecount_read: pfn 147ff99 is poisoned
[  647.837626][ T2302] kpagecount_read: pfn 147ff9a is poisoned
[  647.843800][ T2302] kpagecount_read: pfn 147ff9b is poisoned
[  647.849522][ T2302] kpagecount_read: pfn 147ff9c is poisoned
[  647.855224][ T2302] kpagecount_read: pfn 147ff9d is poisoned
[  647.860941][ T2302] kpagecount_read: pfn 147ff9e is poisoned
[  647.866660][ T2302] kpagecount_read: pfn 147ff9f is poisoned
[  647.872829][ T2302] kpagecount_read: pfn 147ffa0 is poisoned
[  647.878549][ T2302] kpagecount_read: pfn 147ffa1 is poisoned
[  647.884249][ T2302] kpagecount_read: pfn 147ffa2 is poisoned
[  647.889971][ T2302] kpagecount_read: pfn 147ffa3 is poisoned
[  647.896107][ T2302] kpagecount_read: pfn 147ffa4 is poisoned
[  647.901808][ T2302] kpagecount_read: pfn 147ffa5 is poisoned
[  647.907532][ T2302] kpagecount_read: pfn 147ffa6 is poisoned
[  647.913233][ T2302] kpagecount_read: pfn 147ffa7 is poisoned
[  647.919388][ T2302] kpagecount_read: pfn 147ffa8 is poisoned
[  647.925097][ T2302] kpagecount_read: pfn 147ffa9 is poisoned
[  647.930817][ T2302] kpagecount_read: pfn 147ffaa is poisoned
[  647.936542][ T2302] kpagecount_read: pfn 147ffab is poisoned
[  647.942245][ T2302] kpagecount_read: pfn 147ffac is poisoned
[  647.948438][ T2302] kpagecount_read: pfn 147ffad is poisoned
[  647.954140][ T2302] kpagecount_read: pfn 147ffae is poisoned
[  647.959860][ T2302] kpagecount_read: pfn 147ffaf is poisoned
[  647.965562][ T2302] kpagecount_read: pfn 147ffb0 is poisoned
[  647.971792][ T2302] kpagecount_read: pfn 147ffb1 is poisoned
[  647.977520][ T2302] kpagecount_read: pfn 147ffb2 is poisoned
[  647.983222][ T2302] kpagecount_read: pfn 147ffb3 is poisoned
[  647.988942][ T2302] kpagecount_read: pfn 147ffb4 is poisoned
[  647.995085][ T2302] kpagecount_read: pfn 147ffb5 is poisoned
[  648.000810][ T2302] kpagecount_read: pfn 147ffb6 is poisoned
[  648.006530][ T2302] kpagecount_read: pfn 147ffb7 is poisoned
[  648.012234][ T2302] kpagecount_read: pfn 147ffb8 is poisoned
[  648.018434][ T2302] kpagecount_read: pfn 147ffb9 is poisoned
[  648.024135][ T2302] kpagecount_read: pfn 147ffba is poisoned
[  648.029851][ T2302] kpagecount_read: pfn 147ffbb is poisoned
[  648.035552][ T2302] kpagecount_read: pfn 147ffbc is poisoned
[  648.041277][ T2302] kpagecount_read: pfn 147ffbd is poisoned
[  648.047497][ T2302] kpagecount_read: pfn 147ffbe is poisoned
[  648.053202][ T2302] kpagecount_read: pfn 147ffbf is poisoned
[  648.058926][ T2302] kpagecount_read: pfn 147ffc0 is poisoned
[  648.064626][ T2302] kpagecount_read: pfn 147ffc1 is poisoned
[  648.070714][ T2302] kpagecount_read: pfn 147ffc2 is poisoned
[  648.076433][ T2302] kpagecount_read: pfn 147ffc3 is poisoned
[  648.082136][ T2302] kpagecount_read: pfn 147ffc4 is poisoned
[  648.087857][ T2302] kpagecount_read: pfn 147ffc5 is poisoned
[  648.094085][ T2302] kpagecount_read: pfn 147ffc6 is poisoned
[  648.099805][ T2302] kpagecount_read: pfn 147ffc7 is poisoned
[  648.105507][ T2302] kpagecount_read: pfn 147ffc8 is poisoned
[  648.111228][ T2302] kpagecount_read: pfn 147ffc9 is poisoned
[  648.116952][ T2302] kpagecount_read: pfn 147ffca is poisoned
[  648.123086][ T2302] kpagecount_read: pfn 147ffcb is poisoned
[  648.128806][ T2302] kpagecount_read: pfn 147ffcc is poisoned
[  648.134508][ T2302] kpagecount_read: pfn 147ffcd is poisoned
[  648.140226][ T2302] kpagecount_read: pfn 147ffce is poisoned
[  648.146438][ T2302] kpagecount_read: pfn 147ffcf is poisoned
[  648.152141][ T2302] kpagecount_read: pfn 147ffd0 is poisoned
[  648.157853][ T2302] kpagecount_read: pfn 147ffd1 is poisoned
[  648.163553][ T2302] kpagecount_read: pfn 147ffd2 is poisoned
[  648.169739][ T2302] kpagecount_read: pfn 147ffd3 is poisoned
[  648.175438][ T2302] kpagecount_read: pfn 147ffd4 is poisoned
[  648.181166][ T2302] kpagecount_read: pfn 147ffd5 is poisoned
[  648.186889][ T2302] kpagecount_read: pfn 147ffd6 is poisoned
[  648.193086][ T2302] kpagecount_read: pfn 147ffd7 is poisoned
[  648.198801][ T2302] kpagecount_read: pfn 147ffd8 is poisoned
[  648.204501][ T2302] kpagecount_read: pfn 147ffd9 is poisoned
[  648.210211][ T2302] kpagecount_read: pfn 147ffda is poisoned
[  648.215922][ T2302] kpagecount_read: pfn 147ffdb is poisoned
[  648.222050][ T2302] kpagecount_read: pfn 147ffdc is poisoned
[  648.227761][ T2302] kpagecount_read: pfn 147ffdd is poisoned
[  648.233460][ T2302] kpagecount_read: pfn 147ffde is poisoned
[  648.239177][ T2302] kpagecount_read: pfn 147ffdf is poisoned
[  648.245403][ T2302] kpagecount_read: pfn 147ffe0 is poisoned
[  648.251113][ T2302] kpagecount_read: pfn 147ffe1 is poisoned
[  648.256822][ T2302] kpagecount_read: pfn 147ffe2 is poisoned
[  648.262521][ T2302] kpagecount_read: pfn 147ffe3 is poisoned
[  648.268591][ T2302] kpagecount_read: pfn 147ffe4 is poisoned
[  648.274289][ T2302] kpagecount_read: pfn 147ffe5 is poisoned
[  648.280000][ T2302] kpagecount_read: pfn 147ffe6 is poisoned
[  648.285703][ T2302] kpagecount_read: pfn 147ffe7 is poisoned
[  648.291427][ T2302] kpagecount_read: pfn 147ffe8 is poisoned
[  648.297580][ T2302] kpagecount_read: pfn 147ffe9 is poisoned
[  648.303284][ T2302] kpagecount_read: pfn 147ffea is poisoned
[  648.309004][ T2302] kpagecount_read: pfn 147ffeb is poisoned
[  648.314705][ T2302] kpagecount_read: pfn 147ffec is poisoned
[  648.320848][ T2302] kpagecount_read: pfn 147ffed is poisoned
[  648.326567][ T2302] kpagecount_read: pfn 147ffee is poisoned
[  648.332270][ T2302] kpagecount_read: pfn 147ffef is poisoned
[  648.337986][ T2302] kpagecount_read: pfn 147fff0 is poisoned
[  648.344167][ T2302] kpagecount_read: pfn 147fff1 is poisoned
[  648.349886][ T2302] kpagecount_read: pfn 147fff2 is poisoned
[  648.355587][ T2302] kpagecount_read: pfn 147fff3 is poisoned
[  648.361309][ T2302] kpagecount_read: pfn 147fff4 is poisoned
[  648.367026][ T2302] kpagecount_read: pfn 147fff5 is poisoned
[  648.373169][ T2302] kpagecount_read: pfn 147fff6 is poisoned
[  648.378937][ T2302] kpagecount_read: pfn 147fff7 is poisoned
[  648.384641][ T2302] kpagecount_read: pfn 147fff8 is poisoned
[  648.390370][ T2302] kpagecount_read: pfn 147fff9 is poisoned
[  648.396528][ T2302] kpagecount_read: pfn 147fffa is poisoned
[  648.402229][ T2302] kpagecount_read: pfn 147fffb is poisoned
[  648.407949][ T2302] kpagecount_read: pfn 147fffc is poisoned
[  648.413649][ T2302] kpagecount_read: pfn 147fffd is poisoned
[  648.419845][ T2302] kpagecount_read: pfn 147fffe is poisoned
[  648.425548][ T2302] kpagecount_read: pfn 147ffff is poisoned
[  663.692630][ T2302] kpagecount_read: pfn 187ff80 is poisoned
[  663.698800][ T2302] kpagecount_read: pfn 187ff81 is poisoned
[  663.704502][ T2302] kpagecount_read: pfn 187ff82 is poisoned
[  663.710225][ T2302] kpagecount_read: pfn 187ff83 is poisoned
[  663.715955][ T2302] kpagecount_read: pfn 187ff84 is poisoned
[  663.722067][ T2302] kpagecount_read: pfn 187ff85 is poisoned
[  663.727787][ T2302] kpagecount_read: pfn 187ff86 is poisoned
[  663.733487][ T2302] kpagecount_read: pfn 187ff87 is poisoned
[  663.739206][ T2302] kpagecount_read: pfn 187ff88 is poisoned
[  663.745408][ T2302] kpagecount_read: pfn 187ff89 is poisoned
[  663.751133][ T2302] kpagecount_read: pfn 187ff8a is poisoned
[  663.756855][ T2302] kpagecount_read: pfn 187ff8b is poisoned
[  663.762559][ T2302] kpagecount_read: pfn 187ff8c is poisoned
[  663.768730][ T2302] kpagecount_read: pfn 187ff8d is poisoned
[  663.774430][ T2302] kpagecount_read: pfn 187ff8e is poisoned
[  663.780150][ T2302] kpagecount_read: pfn 187ff8f is poisoned
[  663.785855][ T2302] kpagecount_read: pfn 187ff90 is poisoned
[  663.791584][ T2302] kpagecount_read: pfn 187ff91 is poisoned
[  663.797780][ T2302] kpagecount_read: pfn 187ff92 is poisoned
[  663.803484][ T2302] kpagecount_read: pfn 187ff93 is poisoned
[  663.809209][ T2302] kpagecount_read: pfn 187ff94 is poisoned
[  663.814911][ T2302] kpagecount_read: pfn 187ff95 is poisoned
[  663.821090][ T2302] kpagecount_read: pfn 187ff96 is poisoned
[  663.826823][ T2302] kpagecount_read: pfn 187ff97 is poisoned
[  663.832528][ T2302] kpagecount_read: pfn 187ff98 is poisoned
[  663.838250][ T2302] kpagecount_read: pfn 187ff99 is poisoned
[  663.844435][ T2302] kpagecount_read: pfn 187ff9a is poisoned
[  663.850155][ T2302] kpagecount_read: pfn 187ff9b is poisoned
[  663.855859][ T2302] kpagecount_read: pfn 187ff9c is poisoned
[  663.861577][ T2302] kpagecount_read: pfn 187ff9d is poisoned
[  663.867303][ T2302] kpagecount_read: pfn 187ff9e is poisoned
[  663.873527][ T2302] kpagecount_read: pfn 187ff9f is poisoned
[  663.879249][ T2302] kpagecount_read: pfn 187ffa0 is poisoned
[  663.884952][ T2302] kpagecount_read: pfn 187ffa1 is poisoned
[  663.890670][ T2302] kpagecount_read: pfn 187ffa2 is poisoned
[  663.896801][ T2302] kpagecount_read: pfn 187ffa3 is poisoned
[  663.902504][ T2302] kpagecount_read: pfn 187ffa4 is poisoned
[  663.908226][ T2302] kpagecount_read: pfn 187ffa5 is poisoned
[  663.913930][ T2302] kpagecount_read: pfn 187ffa6 is poisoned
[  663.920020][ T2302] kpagecount_read: pfn 187ffa7 is poisoned
[  663.925725][ T2302] kpagecount_read: pfn 187ffa8 is poisoned
[  663.931448][ T2302] kpagecount_read: pfn 187ffa9 is poisoned
[  663.937170][ T2302] kpagecount_read: pfn 187ffaa is poisoned
[  663.943419][ T2302] kpagecount_read: pfn 187ffab is poisoned
[  663.949143][ T2302] kpagecount_read: pfn 187ffac is poisoned
[  663.954846][ T2302] kpagecount_read: pfn 187ffad is poisoned
[  663.960576][ T2302] kpagecount_read: pfn 187ffae is poisoned
[  663.966301][ T2302] kpagecount_read: pfn 187ffaf is poisoned
[  663.972433][ T2302] kpagecount_read: pfn 187ffb0 is poisoned
[  663.978152][ T2302] kpagecount_read: pfn 187ffb1 is poisoned
[  663.983855][ T2302] kpagecount_read: pfn 187ffb2 is poisoned
[  663.989578][ T2302] kpagecount_read: pfn 187ffb3 is poisoned
[  663.995817][ T2302] kpagecount_read: pfn 187ffb4 is poisoned
[  664.001538][ T2302] kpagecount_read: pfn 187ffb5 is poisoned
[  664.007259][ T2302] kpagecount_read: pfn 187ffb6 is poisoned
[  664.012964][ T2302] kpagecount_read: pfn 187ffb7 is poisoned
[  664.019224][ T2302] kpagecount_read: pfn 187ffb8 is poisoned
[  664.024926][ T2302] kpagecount_read: pfn 187ffb9 is poisoned
[  664.030645][ T2302] kpagecount_read: pfn 187ffba is poisoned
[  664.036372][ T2302] kpagecount_read: pfn 187ffbb is poisoned
[  664.042073][ T2302] kpagecount_read: pfn 187ffbc is poisoned
[  664.048306][ T2302] kpagecount_read: pfn 187ffbd is poisoned
[  664.054006][ T2302] kpagecount_read: pfn 187ffbe is poisoned
[  664.059727][ T2302] kpagecount_read: pfn 187ffbf is poisoned
[  664.065427][ T2302] kpagecount_read: pfn 187ffc0 is poisoned
[  664.071665][ T2302] kpagecount_read: pfn 187ffc1 is poisoned
[  664.077388][ T2302] kpagecount_read: pfn 187ffc2 is poisoned
[  664.083088][ T2302] kpagecount_read: pfn 187ffc3 is poisoned
[  664.088817][ T2302] kpagecount_read: pfn 187ffc4 is poisoned
[  664.095059][ T2302] kpagecount_read: pfn 187ffc5 is poisoned
[  664.100780][ T2302] kpagecount_read: pfn 187ffc6 is poisoned
[  664.106500][ T2302] kpagecount_read: pfn 187ffc7 is poisoned
[  664.112199][ T2302] kpagecount_read: pfn 187ffc8 is poisoned
[  664.118375][ T2302] kpagecount_read: pfn 187ffc9 is poisoned
[  664.124075][ T2302] kpagecount_read: pfn 187ffca is poisoned
[  664.129786][ T2302] kpagecount_read: pfn 187ffcb is poisoned
[  664.135486][ T2302] kpagecount_read: pfn 187ffcc is poisoned
[  664.141196][ T2302] kpagecount_read: pfn 187ffcd is poisoned
[  664.147463][ T2302] kpagecount_read: pfn 187ffce is poisoned
[  664.153162][ T2302] kpagecount_read: pfn 187ffcf is poisoned
[  664.158873][ T2302] kpagecount_read: pfn 187ffd0 is poisoned
[  664.164573][ T2302] kpagecount_read: pfn 187ffd1 is poisoned
[  664.170625][ T2302] kpagecount_read: pfn 187ffd2 is poisoned
[  664.176336][ T2302] kpagecount_read: pfn 187ffd3 is poisoned
[  664.182035][ T2302] kpagecount_read: pfn 187ffd4 is poisoned
[  664.187746][ T2302] kpagecount_read: pfn 187ffd5 is poisoned
[  664.193920][ T2302] kpagecount_read: pfn 187ffd6 is poisoned
[  664.199639][ T2302] kpagecount_read: pfn 187ffd7 is poisoned
[  664.205341][ T2302] kpagecount_read: pfn 187ffd8 is poisoned
[  664.211063][ T2302] kpagecount_read: pfn 187ffd9 is poisoned
[  664.216788][ T2302] kpagecount_read: pfn 187ffda is poisoned
[  664.222985][ T2302] kpagecount_read: pfn 187ffdb is poisoned
[  664.228712][ T2302] kpagecount_read: pfn 187ffdc is poisoned
[  664.234412][ T2302] kpagecount_read: pfn 187ffdd is poisoned
[  664.240129][ T2302] kpagecount_read: pfn 187ffde is poisoned
[  664.246272][ T2302] kpagecount_read: pfn 187ffdf is poisoned
[  664.251975][ T2302] kpagecount_read: pfn 187ffe0 is poisoned
[  664.257693][ T2302] kpagecount_read: pfn 187ffe1 is poisoned
[  664.263395][ T2302] kpagecount_read: pfn 187ffe2 is poisoned
[  664.269582][ T2302] kpagecount_read: pfn 187ffe3 is poisoned
[  664.275282][ T2302] kpagecount_read: pfn 187ffe4 is poisoned
[  664.281000][ T2302] kpagecount_read: pfn 187ffe5 is poisoned
[  664.286723][ T2302] kpagecount_read: pfn 187ffe6 is poisoned
[  664.292425][ T2302] kpagecount_read: pfn 187ffe7 is poisoned
[  664.298651][ T2302] kpagecount_read: pfn 187ffe8 is poisoned
[  664.304353][ T2302] kpagecount_read: pfn 187ffe9 is poisoned
[  664.310069][ T2302] kpagecount_read: pfn 187ffea is poisoned
[  664.315769][ T2302] kpagecount_read: pfn 187ffeb is poisoned
[  664.321943][ T2302] kpagecount_read: pfn 187ffec is poisoned
[  664.327662][ T2302] kpagecount_read: pfn 187ffed is poisoned
[  664.333364][ T2302] kpagecount_read: pfn 187ffee is poisoned
[  664.339085][ T2302] kpagecount_read: pfn 187ffef is poisoned
[  664.345393][ T2302] kpagecount_read: pfn 187fff0 is poisoned
[  664.351124][ T2302] kpagecount_read: pfn 187fff1 is poisoned
[  664.356846][ T2302] kpagecount_read: pfn 187fff2 is poisoned
[  664.362549][ T2302] kpagecount_read: pfn 187fff3 is poisoned
[  664.368735][ T2302] kpagecount_read: pfn 187fff4 is poisoned
[  664.374436][ T2302] kpagecount_read: pfn 187fff5 is poisoned
[  664.380199][ T2302] kpagecount_read: pfn 187fff6 is poisoned
[  664.385904][ T2302] kpagecount_read: pfn 187fff7 is poisoned
[  664.391637][ T2302] kpagecount_read: pfn 187fff8 is poisoned
[  664.397898][ T2302] kpagecount_read: pfn 187fff9 is poisoned
[  664.403600][ T2302] kpagecount_read: pfn 187fffa is poisoned
[  664.409325][ T2302] kpagecount_read: pfn 187fffb is poisoned
[  664.415027][ T2302] kpagecount_read: pfn 187fffc is poisoned
[  664.421249][ T2302] kpagecount_read: pfn 187fffd is poisoned
[  664.426969][ T2302] kpagecount_read: pfn 187fffe is poisoned
[  664.432671][ T2302] kpagecount_read: pfn 187ffff is poisoned
[  675.462757][ T2302] kpagecount_read: pfn 1c7ff80 is poisoned
[  675.468928][ T2302] kpagecount_read: pfn 1c7ff81 is poisoned
[  675.474630][ T2302] kpagecount_read: pfn 1c7ff82 is poisoned
[  675.480359][ T2302] kpagecount_read: pfn 1c7ff83 is poisoned
[  675.486083][ T2302] kpagecount_read: pfn 1c7ff84 is poisoned
[  675.491788][ T2302] kpagecount_read: pfn 1c7ff85 is poisoned
[  675.497981][ T2302] kpagecount_read: pfn 1c7ff86 is poisoned
[  675.503683][ T2302] kpagecount_read: pfn 1c7ff87 is poisoned
[  675.509403][ T2302] kpagecount_read: pfn 1c7ff88 is poisoned
[  675.515104][ T2302] kpagecount_read: pfn 1c7ff89 is poisoned
[  675.521174][ T2302] kpagecount_read: pfn 1c7ff8a is poisoned
[  675.526894][ T2302] kpagecount_read: pfn 1c7ff8b is poisoned
[  675.532598][ T2302] kpagecount_read: pfn 1c7ff8c is poisoned
[  675.538321][ T2302] kpagecount_read: pfn 1c7ff8d is poisoned
[  675.544484][ T2302] kpagecount_read: pfn 1c7ff8e is poisoned
[  675.550205][ T2302] kpagecount_read: pfn 1c7ff8f is poisoned
[  675.555910][ T2302] kpagecount_read: pfn 1c7ff90 is poisoned
[  675.561629][ T2302] kpagecount_read: pfn 1c7ff91 is poisoned
[  675.567354][ T2302] kpagecount_read: pfn 1c7ff92 is poisoned
[  675.573495][ T2302] kpagecount_read: pfn 1c7ff93 is poisoned
[  675.579217][ T2302] kpagecount_read: pfn 1c7ff94 is poisoned
[  675.584920][ T2302] kpagecount_read: pfn 1c7ff95 is poisoned
[  675.590643][ T2302] kpagecount_read: pfn 1c7ff96 is poisoned
[  675.596850][ T2302] kpagecount_read: pfn 1c7ff97 is poisoned
[  675.602554][ T2302] kpagecount_read: pfn 1c7ff98 is poisoned
[  675.608277][ T2302] kpagecount_read: pfn 1c7ff99 is poisoned
[  675.613979][ T2302] kpagecount_read: pfn 1c7ff9a is poisoned
[  675.620419][ T2302] kpagecount_read: pfn 1c7ff9b is poisoned
[  675.626146][ T2302] kpagecount_read: pfn 1c7ff9c is poisoned
[  675.631849][ T2302] kpagecount_read: pfn 1c7ff9d is poisoned
[  675.637568][ T2302] kpagecount_read: pfn 1c7ff9e is poisoned
[  675.643804][ T2302] kpagecount_read: pfn 1c7ff9f is poisoned
[  675.649528][ T2302] kpagecount_read: pfn 1c7ffa0 is poisoned
[  675.655228][ T2302] kpagecount_read: pfn 1c7ffa1 is poisoned
[  675.660947][ T2302] kpagecount_read: pfn 1c7ffa2 is poisoned
[  675.666665][ T2302] kpagecount_read: pfn 1c7ffa3 is poisoned
[  675.672799][ T2302] kpagecount_read: pfn 1c7ffa4 is poisoned
[  675.678515][ T2302] kpagecount_read: pfn 1c7ffa5 is poisoned
[  675.684215][ T2302] kpagecount_read: pfn 1c7ffa6 is poisoned
[  675.689932][ T2302] kpagecount_read: pfn 1c7ffa7 is poisoned
[  675.696115][ T2302] kpagecount_read: pfn 1c7ffa8 is poisoned
[  675.701816][ T2302] kpagecount_read: pfn 1c7ffa9 is poisoned
[  675.707538][ T2302] kpagecount_read: pfn 1c7ffaa is poisoned
[  675.713238][ T2302] kpagecount_read: pfn 1c7ffab is poisoned
[  675.719419][ T2302] kpagecount_read: pfn 1c7ffac is poisoned
[  675.725121][ T2302] kpagecount_read: pfn 1c7ffad is poisoned
[  675.730840][ T2302] kpagecount_read: pfn 1c7ffae is poisoned
[  675.736559][ T2302] kpagecount_read: pfn 1c7ffaf is poisoned
[  675.742260][ T2302] kpagecount_read: pfn 1c7ffb0 is poisoned
[  675.748575][ T2302] kpagecount_read: pfn 1c7ffb1 is poisoned
[  675.754277][ T2302] kpagecount_read: pfn 1c7ffb2 is poisoned
[  675.760003][ T2302] kpagecount_read: pfn 1c7ffb3 is poisoned
[  675.765708][ T2302] kpagecount_read: pfn 1c7ffb4 is poisoned
[  675.771913][ T2302] kpagecount_read: pfn 1c7ffb5 is poisoned
[  675.777630][ T2302] kpagecount_read: pfn 1c7ffb6 is poisoned
[  675.783331][ T2302] kpagecount_read: pfn 1c7ffb7 is poisoned
[  675.789049][ T2302] kpagecount_read: pfn 1c7ffb8 is poisoned
[  675.795262][ T2302] kpagecount_read: pfn 1c7ffb9 is poisoned
[  675.800978][ T2302] kpagecount_read: pfn 1c7ffba is poisoned
[  675.806695][ T2302] kpagecount_read: pfn 1c7ffbb is poisoned
[  675.812398][ T2302] kpagecount_read: pfn 1c7ffbc is poisoned
[  675.818641][ T2302] kpagecount_read: pfn 1c7ffbd is poisoned
[  675.824342][ T2302] kpagecount_read: pfn 1c7ffbe is poisoned
[  675.830064][ T2302] kpagecount_read: pfn 1c7ffbf is poisoned
[  675.835766][ T2302] kpagecount_read: pfn 1c7ffc0 is poisoned
[  675.841482][ T2302] kpagecount_read: pfn 1c7ffc1 is poisoned
[  675.847683][ T2302] kpagecount_read: pfn 1c7ffc2 is poisoned
[  675.853387][ T2302] kpagecount_read: pfn 1c7ffc3 is poisoned
[  675.859105][ T2302] kpagecount_read: pfn 1c7ffc4 is poisoned
[  675.864805][ T2302] kpagecount_read: pfn 1c7ffc5 is poisoned
[  675.870990][ T2302] kpagecount_read: pfn 1c7ffc6 is poisoned
[  675.876778][ T2302] kpagecount_read: pfn 1c7ffc7 is poisoned
[  675.882479][ T2302] kpagecount_read: pfn 1c7ffc8 is poisoned
[  675.888208][ T2302] kpagecount_read: pfn 1c7ffc9 is poisoned
[  675.894425][ T2302] kpagecount_read: pfn 1c7ffca is poisoned
[  675.900148][ T2302] kpagecount_read: pfn 1c7ffcb is poisoned
[  675.905850][ T2302] kpagecount_read: pfn 1c7ffcc is poisoned
[  675.911568][ T2302] kpagecount_read: pfn 1c7ffcd is poisoned
[  675.917286][ T2302] kpagecount_read: pfn 1c7ffce is poisoned
[  675.923384][ T2302] kpagecount_read: pfn 1c7ffcf is poisoned
[  675.929104][ T2302] kpagecount_read: pfn 1c7ffd0 is poisoned
[  675.934804][ T2302] kpagecount_read: pfn 1c7ffd1 is poisoned
[  675.940522][ T2302] kpagecount_read: pfn 1c7ffd2 is poisoned
[  675.946685][ T2302] kpagecount_read: pfn 1c7ffd3 is poisoned
[  675.952386][ T2302] kpagecount_read: pfn 1c7ffd4 is poisoned
[  675.958103][ T2302] kpagecount_read: pfn 1c7ffd5 is poisoned
[  675.963803][ T2302] kpagecount_read: pfn 1c7ffd6 is poisoned
[  675.969949][ T2302] kpagecount_read: pfn 1c7ffd7 is poisoned
[  675.975650][ T2302] kpagecount_read: pfn 1c7ffd8 is poisoned
[  675.981369][ T2302] kpagecount_read: pfn 1c7ffd9 is poisoned
[  675.987089][ T2302] kpagecount_read: pfn 1c7ffda is poisoned
[  675.992792][ T2302] kpagecount_read: pfn 1c7ffdb is poisoned
[  675.999006][ T2302] kpagecount_read: pfn 1c7ffdc is poisoned
[  676.004707][ T2302] kpagecount_read: pfn 1c7ffdd is poisoned
[  676.010435][ T2302] kpagecount_read: pfn 1c7ffde is poisoned
[  676.016163][ T2302] kpagecount_read: pfn 1c7ffdf is poisoned
[  676.022291][ T2302] kpagecount_read: pfn 1c7ffe0 is poisoned
[  676.028011][ T2302] kpagecount_read: pfn 1c7ffe1 is poisoned
[  676.033713][ T2302] kpagecount_read: pfn 1c7ffe2 is poisoned
[  676.039426][ T2302] kpagecount_read: pfn 1c7ffe3 is poisoned
[  676.045490][ T2302] kpagecount_read: pfn 1c7ffe4 is poisoned
[  676.051200][ T2302] kpagecount_read: pfn 1c7ffe5 is poisoned
[  676.056909][ T2302] kpagecount_read: pfn 1c7ffe6 is poisoned
[  676.062608][ T2302] kpagecount_read: pfn 1c7ffe7 is poisoned
[  676.068771][ T2302] kpagecount_read: pfn 1c7ffe8 is poisoned
[  676.074470][ T2302] kpagecount_read: pfn 1c7ffe9 is poisoned
[  676.080178][ T2302] kpagecount_read: pfn 1c7ffea is poisoned
[  676.085876][ T2302] kpagecount_read: pfn 1c7ffeb is poisoned
[  676.091590][ T2302] kpagecount_read: pfn 1c7ffec is poisoned
[  676.097795][ T2302] kpagecount_read: pfn 1c7ffed is poisoned
[  676.103496][ T2302] kpagecount_read: pfn 1c7ffee is poisoned
[  676.109213][ T2302] kpagecount_read: pfn 1c7ffef is poisoned
[  676.114915][ T2302] kpagecount_read: pfn 1c7fff0 is poisoned
[  676.121083][ T2302] kpagecount_read: pfn 1c7fff1 is poisoned
[  676.126807][ T2302] kpagecount_read: pfn 1c7fff2 is poisoned
[  676.132508][ T2302] kpagecount_read: pfn 1c7fff3 is poisoned
[  676.138273][ T2302] kpagecount_read: pfn 1c7fff4 is poisoned
[  676.144561][ T2302] kpagecount_read: pfn 1c7fff5 is poisoned
[  676.150290][ T2302] kpagecount_read: pfn 1c7fff6 is poisoned
[  676.156013][ T2302] kpagecount_read: pfn 1c7fff7 is poisoned
[  676.161719][ T2302] kpagecount_read: pfn 1c7fff8 is poisoned
[  676.167436][ T2302] kpagecount_read: pfn 1c7fff9 is poisoned
[  676.173522][ T2302] kpagecount_read: pfn 1c7fffa is poisoned
[  676.179240][ T2302] kpagecount_read: pfn 1c7fffb is poisoned
[  676.184942][ T2302] kpagecount_read: pfn 1c7fffc is poisoned
[  676.190665][ T2302] kpagecount_read: pfn 1c7fffd is poisoned
[  676.196831][ T2302] kpagecount_read: pfn 1c7fffe is poisoned
[  676.202548][ T2302] kpagecount_read: pfn 1c7ffff is poisoned
[  687.121605][ T2302] kpagecount_read: pfn 207ff80 is poisoned
[  687.127340][ T2302] kpagecount_read: pfn 207ff81 is poisoned
[  687.133041][ T2302] kpagecount_read: pfn 207ff82 is poisoned
[  687.138765][ T2302] kpagecount_read: pfn 207ff83 is poisoned
[  687.144980][ T2302] kpagecount_read: pfn 207ff84 is poisoned
[  687.150700][ T2302] kpagecount_read: pfn 207ff85 is poisoned
[  687.156417][ T2302] kpagecount_read: pfn 207ff86 is poisoned
[  687.162119][ T2302] kpagecount_read: pfn 207ff87 is poisoned
[  687.167847][ T2302] kpagecount_read: pfn 207ff88 is poisoned
[  687.174051][ T2302] kpagecount_read: pfn 207ff89 is poisoned
[  687.179772][ T2302] kpagecount_read: pfn 207ff8a is poisoned
[  687.185474][ T2302] kpagecount_read: pfn 207ff8b is poisoned
[  687.191192][ T2302] kpagecount_read: pfn 207ff8c is poisoned
[  687.197427][ T2302] kpagecount_read: pfn 207ff8d is poisoned
[  687.203130][ T2302] kpagecount_read: pfn 207ff8e is poisoned
[  687.208851][ T2302] kpagecount_read: pfn 207ff8f is poisoned
[  687.214551][ T2302] kpagecount_read: pfn 207ff90 is poisoned
[  687.220625][ T2302] kpagecount_read: pfn 207ff91 is poisoned
[  687.226355][ T2302] kpagecount_read: pfn 207ff92 is poisoned
[  687.232056][ T2302] kpagecount_read: pfn 207ff93 is poisoned
[  687.237787][ T2302] kpagecount_read: pfn 207ff94 is poisoned
[  687.244036][ T2302] kpagecount_read: pfn 207ff95 is poisoned
[  687.249770][ T2302] kpagecount_read: pfn 207ff96 is poisoned
[  687.255471][ T2302] kpagecount_read: pfn 207ff97 is poisoned
[  687.261191][ T2302] kpagecount_read: pfn 207ff98 is poisoned
[  687.266907][ T2302] kpagecount_read: pfn 207ff99 is poisoned
[  687.273080][ T2302] kpagecount_read: pfn 207ff9a is poisoned
[  687.278800][ T2302] kpagecount_read: pfn 207ff9b is poisoned
[  687.284502][ T2302] kpagecount_read: pfn 207ff9c is poisoned
[  687.290226][ T2302] kpagecount_read: pfn 207ff9d is poisoned
[  687.296454][ T2302] kpagecount_read: pfn 207ff9e is poisoned
[  687.302156][ T2302] kpagecount_read: pfn 207ff9f is poisoned
[  687.307876][ T2302] kpagecount_read: pfn 207ffa0 is poisoned
[  687.313575][ T2302] kpagecount_read: pfn 207ffa1 is poisoned
[  687.319785][ T2302] kpagecount_read: pfn 207ffa2 is poisoned
[  687.325486][ T2302] kpagecount_read: pfn 207ffa3 is poisoned
[  687.331204][ T2302] kpagecount_read: pfn 207ffa4 is poisoned
[  687.336923][ T2302] kpagecount_read: pfn 207ffa5 is poisoned
[  687.342625][ T2302] kpagecount_read: pfn 207ffa6 is poisoned
[  687.348892][ T2302] kpagecount_read: pfn 207ffa7 is poisoned
[  687.354593][ T2302] kpagecount_read: pfn 207ffa8 is poisoned
[  687.360322][ T2302] kpagecount_read: pfn 207ffa9 is poisoned
[  687.366025][ T2302] kpagecount_read: pfn 207ffaa is poisoned
[  687.372175][ T2302] kpagecount_read: pfn 207ffab is poisoned
[  687.377894][ T2302] kpagecount_read: pfn 207ffac is poisoned
[  687.383597][ T2302] kpagecount_read: pfn 207ffad is poisoned
[  687.389314][ T2302] kpagecount_read: pfn 207ffae is poisoned
[  687.395379][ T2302] kpagecount_read: pfn 207ffaf is poisoned
[  687.401098][ T2302] kpagecount_read: pfn 207ffb0 is poisoned
[  687.406820][ T2302] kpagecount_read: pfn 207ffb1 is poisoned
[  687.412523][ T2302] kpagecount_read: pfn 207ffb2 is poisoned
[  687.418685][ T2302] kpagecount_read: pfn 207ffb3 is poisoned
[  687.424386][ T2302] kpagecount_read: pfn 207ffb4 is poisoned
[  687.430104][ T2302] kpagecount_read: pfn 207ffb5 is poisoned
[  687.435804][ T2302] kpagecount_read: pfn 207ffb6 is poisoned
[  687.441521][ T2302] kpagecount_read: pfn 207ffb7 is poisoned
[  687.447758][ T2302] kpagecount_read: pfn 207ffb8 is poisoned
[  687.453460][ T2302] kpagecount_read: pfn 207ffb9 is poisoned
[  687.459176][ T2302] kpagecount_read: pfn 207ffba is poisoned
[  687.464878][ T2302] kpagecount_read: pfn 207ffbb is poisoned
[  687.471134][ T2302] kpagecount_read: pfn 207ffbc is poisoned
[  687.476855][ T2302] kpagecount_read: pfn 207ffbd is poisoned
[  687.482556][ T2302] kpagecount_read: pfn 207ffbe is poisoned
[  687.488282][ T2302] kpagecount_read: pfn 207ffbf is poisoned
[  687.494491][ T2302] kpagecount_read: pfn 207ffc0 is poisoned
[  687.500210][ T2302] kpagecount_read: pfn 207ffc1 is poisoned
[  687.505912][ T2302] kpagecount_read: pfn 207ffc2 is poisoned
[  687.511623][ T2302] kpagecount_read: pfn 207ffc3 is poisoned
[  687.517333][ T2302] kpagecount_read: pfn 207ffc4 is poisoned
[  687.523446][ T2302] kpagecount_read: pfn 207ffc5 is poisoned
[  687.529169][ T2302] kpagecount_read: pfn 207ffc6 is poisoned
[  687.534869][ T2302] kpagecount_read: pfn 207ffc7 is poisoned
[  687.540579][ T2302] kpagecount_read: pfn 207ffc8 is poisoned
[  687.546859][ T2302] kpagecount_read: pfn 207ffc9 is poisoned
[  687.552557][ T2302] kpagecount_read: pfn 207ffca is poisoned
[  687.558268][ T2302] kpagecount_read: pfn 207ffcb is poisoned
[  687.563968][ T2302] kpagecount_read: pfn 207ffcc is poisoned
[  687.570106][ T2302] kpagecount_read: pfn 207ffcd is poisoned
[  687.575804][ T2302] kpagecount_read: pfn 207ffce is poisoned
[  687.581515][ T2302] kpagecount_read: pfn 207ffcf is poisoned
[  687.587227][ T2302] kpagecount_read: pfn 207ffd0 is poisoned
[  687.592927][ T2302] kpagecount_read: pfn 207ffd1 is poisoned
[  687.599005][ T2302] kpagecount_read: pfn 207ffd2 is poisoned
[  687.604707][ T2302] kpagecount_read: pfn 207ffd3 is poisoned
[  687.610428][ T2302] kpagecount_read: pfn 207ffd4 is poisoned
[  687.616153][ T2302] kpagecount_read: pfn 207ffd5 is poisoned
[  687.622333][ T2302] kpagecount_read: pfn 207ffd6 is poisoned
[  687.628052][ T2302] kpagecount_read: pfn 207ffd7 is poisoned
[  687.633754][ T2302] kpagecount_read: pfn 207ffd8 is poisoned
[  687.639473][ T2302] kpagecount_read: pfn 207ffd9 is poisoned
[  687.645685][ T2302] kpagecount_read: pfn 207ffda is poisoned
[  687.651405][ T2302] kpagecount_read: pfn 207ffdb is poisoned
[  687.657125][ T2302] kpagecount_read: pfn 207ffdc is poisoned
[  687.662829][ T2302] kpagecount_read: pfn 207ffdd is poisoned
[  687.668995][ T2302] kpagecount_read: pfn 207ffde is poisoned
[  687.674698][ T2302] kpagecount_read: pfn 207ffdf is poisoned
[  687.680416][ T2302] kpagecount_read: pfn 207ffe0 is poisoned
[  687.686132][ T2302] kpagecount_read: pfn 207ffe1 is poisoned
[  687.691835][ T2302] kpagecount_read: pfn 207ffe2 is poisoned
[  687.698045][ T2302] kpagecount_read: pfn 207ffe3 is poisoned
[  687.703748][ T2302] kpagecount_read: pfn 207ffe4 is poisoned
[  687.709470][ T2302] kpagecount_read: pfn 207ffe5 is poisoned
[  687.715173][ T2302] kpagecount_read: pfn 207ffe6 is poisoned
[  687.721369][ T2302] kpagecount_read: pfn 207ffe7 is poisoned
[  687.727088][ T2302] kpagecount_read: pfn 207ffe8 is poisoned
[  687.732791][ T2302] kpagecount_read: pfn 207ffe9 is poisoned
[  687.738509][ T2302] kpagecount_read: pfn 207ffea is poisoned
[  687.744709][ T2302] kpagecount_read: pfn 207ffeb is poisoned
[  687.750435][ T2302] kpagecount_read: pfn 207ffec is poisoned
[  687.756159][ T2302] kpagecount_read: pfn 207ffed is poisoned
[  687.761861][ T2302] kpagecount_read: pfn 207ffee is poisoned
[  687.767589][ T2302] kpagecount_read: pfn 207ffef is poisoned
[  687.773792][ T2302] kpagecount_read: pfn 207fff0 is poisoned
[  687.779510][ T2302] kpagecount_read: pfn 207fff1 is poisoned
[  687.785213][ T2302] kpagecount_read: pfn 207fff2 is poisoned
[  687.790929][ T2302] kpagecount_read: pfn 207fff3 is poisoned
[  687.797152][ T2302] kpagecount_read: pfn 207fff4 is poisoned
[  687.802854][ T2302] kpagecount_read: pfn 207fff5 is poisoned
[  687.808570][ T2302] kpagecount_read: pfn 207fff6 is poisoned
[  687.814271][ T2302] kpagecount_read: pfn 207fff7 is poisoned
[  687.820534][ T2302] kpagecount_read: pfn 207fff8 is poisoned
[  687.826258][ T2302] kpagecount_read: pfn 207fff9 is poisoned
[  687.831959][ T2302] kpagecount_read: pfn 207fffa is poisoned
[  687.837678][ T2302] kpagecount_read: pfn 207fffb is poisoned
[  687.843849][ T2302] kpagecount_read: pfn 207fffc is poisoned
[  687.849565][ T2302] kpagecount_read: pfn 207fffd is poisoned
[  687.855265][ T2302] kpagecount_read: pfn 207fffe is poisoned
[  687.860981][ T2302] kpagecount_read: pfn 207ffff is poisoned


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout
  2021-01-06 21:04           ` Qian Cai
@ 2021-01-10 15:39             ` Mike Rapoport
  2021-01-11 15:06               ` Qian Cai
  0 siblings, 1 reply; 18+ messages in thread
From: Mike Rapoport @ 2021-01-10 15:39 UTC (permalink / raw)
  To: Qian Cai
  Cc: Andrew Morton, Andrea Arcangeli, Baoquan He, David Hildenbrand,
	Mel Gorman, Michal Hocko, Mike Rapoport, Vlastimil Babka,
	linux-kernel, linux-mm, stable, Stephen Rothwell,
	Linux Next Mailing List

On Wed, Jan 06, 2021 at 04:04:21PM -0500, Qian Cai wrote:
> On Wed, 2021-01-06 at 10:05 +0200, Mike Rapoport wrote:
> > I think we trigger PF_POISONED_CHECK() in PageSlab(), then fffffffffffffffe
> > is "accessed" from VM_BUG_ON_PAGE().
> > 
> > It seems to me that we are not initializing struct pages for holes at the node
> > boundaries because zones are already clamped to exclude those holes.
> > 
> > Can you please try to see if the patch below will produce any useful info:
> 
> [    0.000000] init_unavailable_range: spfn: 8c, epfn: 9b, zone: DMA, node: 0
> [    0.000000] init_unavailable_range: spfn: 1f7be, epfn: 1f9fe, zone: DMA32, node: 0
> [    0.000000] init_unavailable_range: spfn: 28784, epfn: 288e4, zone: DMA32, node: 0
> [    0.000000] init_unavailable_range: spfn: 298b9, epfn: 298bd, zone: DMA32, node: 0
> [    0.000000] init_unavailable_range: spfn: 29923, epfn: 29931, zone: DMA32, node: 0
> [    0.000000] init_unavailable_range: spfn: 29933, epfn: 29941, zone: DMA32, node: 0
> [    0.000000] init_unavailable_range: spfn: 29945, epfn: 29946, zone: DMA32, node: 0
> [    0.000000] init_unavailable_range: spfn: 29ff9, epfn: 2a823, zone: DMA32, node: 0
> [    0.000000] init_unavailable_range: spfn: 33a23, epfn: 33a53, zone: DMA32, node: 0
> [    0.000000] init_unavailable_range: spfn: 78000, epfn: 100000, zone: DMA32, node: 0
> ...
> [  572.222563][ T2302] kpagecount_read: pfn 47f380 is poisoned
...
> [  590.570032][ T2302] kpagecount_read: pfn 47ffff is poisoned
> [  604.268653][ T2302] kpagecount_read: pfn 87ff80 is poisoned
...
> [  604.611698][ T2302] kpagecount_read: pfn 87ffbc is poisoned
> [  617.484205][ T2302] kpagecount_read: pfn c7ff80 is poisoned
...
> [  618.212344][ T2302] kpagecount_read: pfn c7ffff is poisoned
> [  633.134228][ T2302] kpagecount_read: pfn 107ff80 is poisoned
...
> [  633.874087][ T2302] kpagecount_read: pfn 107ffff is poisoned
> [  647.686412][ T2302] kpagecount_read: pfn 147ff80 is poisoned
...
> [  648.425548][ T2302] kpagecount_read: pfn 147ffff is poisoned
> [  663.692630][ T2302] kpagecount_read: pfn 187ff80 is poisoned
...
> [  664.432671][ T2302] kpagecount_read: pfn 187ffff is poisoned
> [  675.462757][ T2302] kpagecount_read: pfn 1c7ff80 is poisoned
...
> [  676.202548][ T2302] kpagecount_read: pfn 1c7ffff is poisoned
> [  687.121605][ T2302] kpagecount_read: pfn 207ff80 is poisoned
...
> [  687.860981][ T2302] kpagecount_read: pfn 207ffff is poisoned

The e820 map has a hole near the end of each node and these holes are not
initialized with init_unavailable_range() after it was interleaved with
memmap initialization because such holes are not accounted by
zone->spanned_pages.

Yet, I'm still cannot really understand how this never triggered 

	VM_BUG_ON_PAGE(!zone_spans_pfn(page_zone(page), pfn), page);

before v5.7 as all the struct pages for these holes would have zone=0 and
node=0 ... 

@Qian, can you please boot your system with memblock=debug and share the
logs?

-- 
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout
  2021-01-10 15:39             ` Mike Rapoport
@ 2021-01-11 15:06               ` Qian Cai
  2021-01-11 17:47                 ` Mike Rapoport
  0 siblings, 1 reply; 18+ messages in thread
From: Qian Cai @ 2021-01-11 15:06 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: Andrew Morton, Andrea Arcangeli, Baoquan He, David Hildenbrand,
	Mel Gorman, Michal Hocko, Mike Rapoport, Vlastimil Babka,
	linux-kernel, linux-mm, stable, Stephen Rothwell,
	Linux Next Mailing List

On Sun, 2021-01-10 at 17:39 +0200, Mike Rapoport wrote:
> On Wed, Jan 06, 2021 at 04:04:21PM -0500, Qian Cai wrote:
> > On Wed, 2021-01-06 at 10:05 +0200, Mike Rapoport wrote:
> > > I think we trigger PF_POISONED_CHECK() in PageSlab(), then
> > > fffffffffffffffe
> > > is "accessed" from VM_BUG_ON_PAGE().
> > > 
> > > It seems to me that we are not initializing struct pages for holes at the
> > > node
> > > boundaries because zones are already clamped to exclude those holes.
> > > 
> > > Can you please try to see if the patch below will produce any useful info:
> > 
> > [    0.000000] init_unavailable_range: spfn: 8c, epfn: 9b, zone: DMA, node:
> > 0
> > [    0.000000] init_unavailable_range: spfn: 1f7be, epfn: 1f9fe, zone:
> > DMA32, node: 0
> > [    0.000000] init_unavailable_range: spfn: 28784, epfn: 288e4, zone:
> > DMA32, node: 0
> > [    0.000000] init_unavailable_range: spfn: 298b9, epfn: 298bd, zone:
> > DMA32, node: 0
> > [    0.000000] init_unavailable_range: spfn: 29923, epfn: 29931, zone:
> > DMA32, node: 0
> > [    0.000000] init_unavailable_range: spfn: 29933, epfn: 29941, zone:
> > DMA32, node: 0
> > [    0.000000] init_unavailable_range: spfn: 29945, epfn: 29946, zone:
> > DMA32, node: 0
> > [    0.000000] init_unavailable_range: spfn: 29ff9, epfn: 2a823, zone:
> > DMA32, node: 0
> > [    0.000000] init_unavailable_range: spfn: 33a23, epfn: 33a53, zone:
> > DMA32, node: 0
> > [    0.000000] init_unavailable_range: spfn: 78000, epfn: 100000, zone:
> > DMA32, node: 0
> > ...
> > [  572.222563][ T2302] kpagecount_read: pfn 47f380 is poisoned
> ...
> > [  590.570032][ T2302] kpagecount_read: pfn 47ffff is poisoned
> > [  604.268653][ T2302] kpagecount_read: pfn 87ff80 is poisoned
> ...
> > [  604.611698][ T2302] kpagecount_read: pfn 87ffbc is poisoned
> > [  617.484205][ T2302] kpagecount_read: pfn c7ff80 is poisoned
> ...
> > [  618.212344][ T2302] kpagecount_read: pfn c7ffff is poisoned
> > [  633.134228][ T2302] kpagecount_read: pfn 107ff80 is poisoned
> ...
> > [  633.874087][ T2302] kpagecount_read: pfn 107ffff is poisoned
> > [  647.686412][ T2302] kpagecount_read: pfn 147ff80 is poisoned
> ...
> > [  648.425548][ T2302] kpagecount_read: pfn 147ffff is poisoned
> > [  663.692630][ T2302] kpagecount_read: pfn 187ff80 is poisoned
> ...
> > [  664.432671][ T2302] kpagecount_read: pfn 187ffff is poisoned
> > [  675.462757][ T2302] kpagecount_read: pfn 1c7ff80 is poisoned
> ...
> > [  676.202548][ T2302] kpagecount_read: pfn 1c7ffff is poisoned
> > [  687.121605][ T2302] kpagecount_read: pfn 207ff80 is poisoned
> ...
> > [  687.860981][ T2302] kpagecount_read: pfn 207ffff is poisoned
> 
> The e820 map has a hole near the end of each node and these holes are not
> initialized with init_unavailable_range() after it was interleaved with
> memmap initialization because such holes are not accounted by
> zone->spanned_pages.
> 
> Yet, I'm still cannot really understand how this never triggered 
> 
> 	VM_BUG_ON_PAGE(!zone_spans_pfn(page_zone(page), pfn), page);
> 
> before v5.7 as all the struct pages for these holes would have zone=0 and
> node=0 ... 
> 
> @Qian, can you please boot your system with memblock=debug and share the
> logs?
> 

http://people.redhat.com/qcai/memblock.txt


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout
  2021-01-11 15:06               ` Qian Cai
@ 2021-01-11 17:47                 ` Mike Rapoport
  0 siblings, 0 replies; 18+ messages in thread
From: Mike Rapoport @ 2021-01-11 17:47 UTC (permalink / raw)
  To: Qian Cai
  Cc: Andrew Morton, Andrea Arcangeli, Baoquan He, David Hildenbrand,
	Mel Gorman, Michal Hocko, Mike Rapoport, Vlastimil Babka,
	linux-kernel, linux-mm, stable, Stephen Rothwell,
	Linux Next Mailing List

On Mon, Jan 11, 2021 at 10:06:43AM -0500, Qian Cai wrote:
> On Sun, 2021-01-10 at 17:39 +0200, Mike Rapoport wrote:
> > On Wed, Jan 06, 2021 at 04:04:21PM -0500, Qian Cai wrote:
> > > On Wed, 2021-01-06 at 10:05 +0200, Mike Rapoport wrote:
> > > > I think we trigger PF_POISONED_CHECK() in PageSlab(), then
> > > > fffffffffffffffe
> > > > is "accessed" from VM_BUG_ON_PAGE().
> > > > 
> > > > It seems to me that we are not initializing struct pages for holes at the
> > > > node
> > > > boundaries because zones are already clamped to exclude those holes.
> > > > 
> > > > Can you please try to see if the patch below will produce any useful info:
> > > 
> > > [    0.000000] init_unavailable_range: spfn: 8c, epfn: 9b, zone: DMA, node:
> > > 0
> > > [    0.000000] init_unavailable_range: spfn: 1f7be, epfn: 1f9fe, zone:
> > > DMA32, node: 0
> > > [    0.000000] init_unavailable_range: spfn: 28784, epfn: 288e4, zone:
> > > DMA32, node: 0
> > > [    0.000000] init_unavailable_range: spfn: 298b9, epfn: 298bd, zone:
> > > DMA32, node: 0
> > > [    0.000000] init_unavailable_range: spfn: 29923, epfn: 29931, zone:
> > > DMA32, node: 0
> > > [    0.000000] init_unavailable_range: spfn: 29933, epfn: 29941, zone:
> > > DMA32, node: 0
> > > [    0.000000] init_unavailable_range: spfn: 29945, epfn: 29946, zone:
> > > DMA32, node: 0
> > > [    0.000000] init_unavailable_range: spfn: 29ff9, epfn: 2a823, zone:
> > > DMA32, node: 0
> > > [    0.000000] init_unavailable_range: spfn: 33a23, epfn: 33a53, zone:
> > > DMA32, node: 0
> > > [    0.000000] init_unavailable_range: spfn: 78000, epfn: 100000, zone:
> > > DMA32, node: 0
> > > ...
> > > [  572.222563][ T2302] kpagecount_read: pfn 47f380 is poisoned
> > ...
> > > [  590.570032][ T2302] kpagecount_read: pfn 47ffff is poisoned
> > > [  604.268653][ T2302] kpagecount_read: pfn 87ff80 is poisoned
> > ...
> > > [  604.611698][ T2302] kpagecount_read: pfn 87ffbc is poisoned
> > > [  617.484205][ T2302] kpagecount_read: pfn c7ff80 is poisoned
> > ...
> > > [  618.212344][ T2302] kpagecount_read: pfn c7ffff is poisoned
> > > [  633.134228][ T2302] kpagecount_read: pfn 107ff80 is poisoned
> > ...
> > > [  633.874087][ T2302] kpagecount_read: pfn 107ffff is poisoned
> > > [  647.686412][ T2302] kpagecount_read: pfn 147ff80 is poisoned
> > ...
> > > [  648.425548][ T2302] kpagecount_read: pfn 147ffff is poisoned
> > > [  663.692630][ T2302] kpagecount_read: pfn 187ff80 is poisoned
> > ...
> > > [  664.432671][ T2302] kpagecount_read: pfn 187ffff is poisoned
> > > [  675.462757][ T2302] kpagecount_read: pfn 1c7ff80 is poisoned
> > ...
> > > [  676.202548][ T2302] kpagecount_read: pfn 1c7ffff is poisoned
> > > [  687.121605][ T2302] kpagecount_read: pfn 207ff80 is poisoned
> > ...
> > > [  687.860981][ T2302] kpagecount_read: pfn 207ffff is poisoned
> > 
> > The e820 map has a hole near the end of each node and these holes are not
> > initialized with init_unavailable_range() after it was interleaved with
> > memmap initialization because such holes are not accounted by
> > zone->spanned_pages.
> > 
> > Yet, I'm still cannot really understand how this never triggered 
> > 
> > 	VM_BUG_ON_PAGE(!zone_spans_pfn(page_zone(page), pfn), page);
> > 
> > before v5.7 as all the struct pages for these holes would have zone=0 and
> > node=0 ... 
> > 
> > @Qian, can you please boot your system with memblock=debug and share the
> > logs?
> > 
> 
> http://people.redhat.com/qcai/memblock.txt

Thanks!

So, we have these large allocations for the memory maps:

memblock_alloc_exact_nid_raw: 266338304 bytes align=0x200000 nid=0 from=0x0000000001000000 max_addr=0x0000000000000000 sparse_init_nid+0x13b/0x519
memblock_reserve: [0x000000046f400000-0x000000047f1fffff] memblock_alloc_range_nid+0x108/0x1b6
memblock_alloc_exact_nid_raw: 268435456 bytes align=0x200000 nid=1 from=0x0000000001000000 max_addr=0x0000000000000000 sparse_init_nid+0x13b/0x519
memblock_reserve: [0x000000086fe00000-0x000000087fdfffff] memblock_alloc_range_nid+0x108/0x1b6
memblock_alloc_exact_nid_raw: 268435456 bytes align=0x200000 nid=2 from=0x0000000001000000 max_addr=0x0000000000000000 sparse_init_nid+0x13b/0x519
memblock_reserve: [0x0000000c6fe00000-0x0000000c7fdfffff] memblock_alloc_range_nid+0x108/0x1b6
memblock_alloc_exact_nid_raw: 268435456 bytes align=0x200000 nid=3 from=0x0000000001000000 max_addr=0x0000000000000000 sparse_init_nid+0x13b/0x519
memblock_reserve: [0x000000106fe00000-0x000000107fdfffff] memblock_alloc_range_nid+0x108/0x1b6
memblock_alloc_exact_nid_raw: 268435456 bytes align=0x200000 nid=4 from=0x0000000001000000 max_addr=0x0000000000000000 sparse_init_nid+0x13b/0x519
memblock_reserve: [0x000000146fe00000-0x000000147fdfffff] memblock_alloc_range_nid+0x108/0x1b6
memblock_alloc_exact_nid_raw: 268435456 bytes align=0x200000 nid=5 from=0x0000000001000000 max_addr=0x0000000000000000 sparse_init_nid+0x13b/0x519
memblock_reserve: [0x000000186fe00000-0x000000187fdfffff] memblock_alloc_range_nid+0x108/0x1b6
memblock_alloc_exact_nid_raw: 268435456 bytes align=0x200000 nid=6 from=0x0000000001000000 max_addr=0x0000000000000000 sparse_init_nid+0x13b/0x519
memblock_reserve: [0x0000001c6fe00000-0x0000001c7fdfffff] memblock_alloc_range_nid+0x108/0x1b6
memblock_alloc_exact_nid_raw: 268435456 bytes align=0x200000 nid=7 from=0x0000000001000000 max_addr=0x0000000000000000 sparse_init_nid+0x13b/0x519
memblock_reserve: [0x000000206fc00000-0x000000207fbfffff] memblock_alloc_range_nid+0x108/0x1b6

that will be always next to the end of each node and so the last several
pageblocks in a node will never be used by the page allocator.
That masks wrong zone=0 links in the pages corresponding to the holes near
each node and the VM_BUG_ON_PAGE(!zone_spans_pfn) never triggers.

I'm going to send v3 soon that should take better care of the zone links.

--
Sincerely yours,
Mike.

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2021-01-11 17:48 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-09 21:43 [PATCH v2 0/2] mm: fix initialization of struct page for holes in memory layout Mike Rapoport
2020-12-09 21:43 ` [PATCH v2 1/2] mm: memblock: enforce overlap of memory.memblock and memory.reserved Mike Rapoport
2020-12-10  9:28   ` Greg KH
2020-12-14 10:11   ` David Hildenbrand
2020-12-14 11:12     ` Mike Rapoport
2020-12-14 11:18       ` David Hildenbrand
2020-12-14 13:58         ` Andrea Arcangeli
2020-12-09 21:43 ` [PATCH v2 2/2] mm: fix initialization of struct page for holes in memory layout Mike Rapoport
2020-12-10  1:51   ` Andrea Arcangeli
2020-12-10  9:29   ` Greg KH
2021-01-04 19:03   ` Qian Cai
2021-01-05  8:24     ` Mike Rapoport
2021-01-05 18:45       ` Qian Cai
2021-01-06  8:05         ` Mike Rapoport
2021-01-06 21:04           ` Qian Cai
2021-01-10 15:39             ` Mike Rapoport
2021-01-11 15:06               ` Qian Cai
2021-01-11 17:47                 ` Mike Rapoport

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).