[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YNqwl8EPVYZJV0EF@linux.ibm.com>
Date: Tue, 29 Jun 2021 08:33:11 +0300
From: Mike Rapoport <rppt@...ux.ibm.com>
To: Tony Lindgren <tony@...mide.com>
Cc: Mike Rapoport <rppt@...nel.org>,
linux-arm-kernel@...ts.infradead.org,
Andrew Morton <akpm@...ux-foundation.org>,
Kefeng Wang <wangkefeng.wang@...wei.com>,
Russell King <linux@...linux.org.uk>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
linux-omap@...r.kernel.org, regressions@...ts.linux.dev
Subject: Re: [PATCH v2 3/3] arm: extend pfn_valid to take into accound freed
memory map alignment
On Mon, Jun 28, 2021 at 06:26:26PM +0300, Tony Lindgren wrote:
> * Mike Rapoport <rppt@...ux.ibm.com> [210628 14:07]:
> > Can you please send log with 'memblock=debug' added to the command line?
>
> Sure, log now available at:
>
> http://muru.com/beagle-x15.txt
Hmm, no clues yet :(
Do you have CONFIG_DEBUG_VM, CONFIG_DEBUG_VM_PGFLAGS and
CONFIG_PAGE_POISONING enabled in your config?
If not, can you please enable them and see if any of VM_BUG_* triggers?
Do you use FLATMEM or SPARSEMEM in your config?
Let's try seeing what PFNs get false results from pfn_valid, maybe this
will give a better lead.
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 6162a070a410..66985fc3e730 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -126,10 +126,16 @@ int pfn_valid(unsigned long pfn)
{
phys_addr_t addr = __pfn_to_phys(pfn);
unsigned long pageblock_size = PAGE_SIZE * pageblock_nr_pages;
+ bool overlaps = memblock_overlaps_region(&memblock.memory,
+ ALIGN_DOWN(addr, pageblock_size),
+ pageblock_size);
if (__phys_to_pfn(addr) != pfn)
return 0;
+ if (memblock_is_map_memory(addr) != overlaps)
+ pr_info("%s(%pS): pfn: %lx: is_map: %d overlaps: %d\n", __func__, (void *)_RET_IP_, pfn, memblock_is_map_memory(addr), overlaps);
+
/*
* If address less than pageblock_size bytes away from a present
* memory chunk there still will be a memory map entry for it
--
Sincerely yours,
Mike.
Powered by blists - more mailing lists