linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Qian Cai <cai@lca.pw>
To: David Hildenbrand <david@redhat.com>
Cc: "Steven Price" <steven.price@arm.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	Linux-MM <linux-mm@kvack.org>,
	"Mark Rutland" <Mark.Rutland@arm.com>,
	"the arch/x86 maintainers" <x86@kernel.org>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Ard Biesheuvel" <ard.biesheuvel@linaro.org>,
	"Peter Zijlstra" <peterz@infradead.org>,
	"Catalin Marinas" <catalin.marinas@arm.com>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	linux-kernel@vger.kernel.org,
	"Jérôme Glisse" <jglisse@redhat.com>,
	"Ingo Molnar" <mingo@redhat.com>,
	"Borislav Petkov" <bp@alien8.de>,
	"Andy Lutomirski" <luto@kernel.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	"James Morse" <james.morse@arm.com>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Will Deacon" <will@kernel.org>,
	linux-arm-kernel@lists.infradead.org, "Liang,
	Kan" <kan.liang@linux.intel.com>
Subject: Re: [PATCH v15 00/23] Generic page walk and ptdump
Date: Wed, 4 Dec 2019 09:54:53 -0500	[thread overview]
Message-ID: <0FA196FD-3FCD-431A-AA3E-21BF00EA07DC@lca.pw> (raw)
In-Reply-To: <911fac4a-2204-f994-a101-16a60fba12e8@redhat.com>



> On Dec 3, 2019, at 6:02 AM, David Hildenbrand <david@redhat.com> wrote:
> 
> On 06.11.19 16:05, Steven Price wrote:
>> On 06/11/2019 13:31, Qian Cai wrote:
>>> 
>>> 
>>>> On Nov 4, 2019, at 2:35 PM, Qian Cai <cai@lca.pw> wrote:
>>>> 
>>>> On Fri, 2019-11-01 at 14:09 +0000, Steven Price wrote:
>> [...]
>>>>> Changes since v14:
>>>>> https://lore.kernel.org/lkml/20191028135910.33253-1-steven.price@arm.com/
>>>>> * Switch walk_page_range() into two functions, the existing
>>>>>   walk_page_range() now still requires VMAs (and treats areas without a
>>>>>   VMA as a 'hole'). The new walk_page_range_novma() ignores VMAs and
>>>>>   will report the actual page table layout. This fixes the previous
>>>>>   breakage of /proc/<pid>/pagemap
>>>>> * New patch at the end of the series which reduces the 'level' numbers
>>>>>   by 1 to simplify the code slightly
>>>>> * Added tags
>>>> 
>>>> Does this new version also take care of this boot crash seen with v14? Suppose
>>>> it is now breaking CONFIG_EFI_PGT_DUMP=y? The full config is,
>>>> 
>>>> https://raw.githubusercontent.com/cailca/linux-mm/master/x86.config
>>>> 
>>> 
>>> V15 is indeed DOA here.
>> 
>> Thanks for finding this, it looks like EFI causes issues here. The below fixes
>> this for me (booting in QEMU).
>> 
>> Andrew: do you want me to send out the entire series again for this fix, or
>> can you squash this into mm-pagewalk-allow-walking-without-vma.patch?
>> 
>> Thanks,
>> 
>> Steve
>> 
>> ---8<---
>> diff --git a/mm/pagewalk.c b/mm/pagewalk.c
>> index c7529dc4f82b..70dcaa23598f 100644
>> --- a/mm/pagewalk.c
>> +++ b/mm/pagewalk.c
>> @@ -90,7 +90,7 @@ static int walk_pmd_range(pud_t *pud, unsigned long addr, unsigned long end,
>>  			split_huge_pmd(walk->vma, pmd, addr);
>>  			if (pmd_trans_unstable(pmd))
>>  				goto again;
>> -		} else if (pmd_leaf(*pmd)) {
>> +		} else if (pmd_leaf(*pmd) || !pmd_present(*pmd)) {
>>  			continue;
>>  		}
>> 
>> @@ -141,7 +141,7 @@ static int walk_pud_range(p4d_t *p4d, unsigned long addr, unsigned long end,
>>  			split_huge_pud(walk->vma, pud, addr);
>>  			if (pud_none(*pud))
>>  				goto again;
>> -		} else if (pud_leaf(*pud)) {
>> +		} else if (pud_leaf(*pud) || !pud_present(*pud)) {
>>  			continue;
>>  		}
>> 
>> 
> 
> Even with this fix, booting for me under QEMU fails. See
> 
> https://lore.kernel.org/linux-mm/b7ce62f2-9a48-6e48-6685-003431e521aa@redhat.com/
> 

Yes, for some reasons, this starts to crash on almost all arches here, so it might be worth
for Andrew to revert those in the meantime while allowing Steven to rework.


  reply	other threads:[~2019-12-04 14:54 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-01 14:09 [PATCH v15 00/23] Generic page walk and ptdump Steven Price
2019-11-01 14:09 ` [PATCH v15 01/23] mm: Add generic p?d_leaf() macros Steven Price
2019-11-01 14:09 ` [PATCH v15 02/23] arc: mm: Add p?d_leaf() definitions Steven Price
2019-11-01 14:09 ` [PATCH v15 03/23] arm: " Steven Price
2019-11-01 14:09 ` [PATCH v15 04/23] arm64: " Steven Price
2019-11-01 14:09 ` [PATCH v15 05/23] mips: " Steven Price
2019-11-01 14:09 ` [PATCH v15 06/23] powerpc: " Steven Price
2019-11-01 14:09 ` [PATCH v15 07/23] riscv: " Steven Price
2019-11-01 14:09 ` [PATCH v15 08/23] s390: " Steven Price
2019-11-01 14:09 ` [PATCH v15 09/23] sparc: " Steven Price
2019-11-01 14:09 ` [PATCH v15 10/23] x86: " Steven Price
2019-11-01 14:09 ` [PATCH v15 11/23] mm: pagewalk: Add p4d_entry() and pgd_entry() Steven Price
2019-11-01 14:09 ` [PATCH v15 12/23] mm: pagewalk: Allow walking without vma Steven Price
2019-11-01 14:09 ` [PATCH v15 13/23] mm: pagewalk: Add test_p?d callbacks Steven Price
2019-11-01 14:09 ` [PATCH v15 14/23] mm: pagewalk: Add 'depth' parameter to pte_hole Steven Price
2019-11-01 14:09 ` [PATCH v15 15/23] x86: mm: Point to struct seq_file from struct pg_state Steven Price
2019-11-01 14:09 ` [PATCH v15 16/23] x86: mm+efi: Convert ptdump_walk_pgd_level() to take a mm_struct Steven Price
2019-11-01 14:09 ` [PATCH v15 17/23] x86: mm: Convert ptdump_walk_pgd_level_debugfs() to take an mm_struct Steven Price
2019-11-01 14:09 ` [PATCH v15 18/23] x86: mm: Convert ptdump_walk_pgd_level_core() " Steven Price
2019-11-01 14:09 ` [PATCH v15 19/23] mm: Add generic ptdump Steven Price
2019-11-01 14:09 ` [PATCH v15 20/23] x86: mm: Convert dump_pagetables to use walk_page_range Steven Price
2019-11-01 14:09 ` [PATCH v15 21/23] arm64: mm: Convert mm/dump.c to use walk_page_range() Steven Price
2019-11-01 14:09 ` [PATCH v15 22/23] arm64: mm: Display non-present entries in ptdump Steven Price
2019-11-01 14:09 ` [PATCH v15 23/23] mm: ptdump: Reduce level numbers by 1 in note_page() Steven Price
2019-11-04 19:35 ` [PATCH v15 00/23] Generic page walk and ptdump Qian Cai
2019-11-06 13:31   ` Qian Cai
2019-11-06 15:05     ` Steven Price
2019-12-03 11:02       ` David Hildenbrand
2019-12-04 14:54         ` Qian Cai [this message]
2019-12-04 14:56           ` David Hildenbrand
2019-12-04 16:32             ` Steven Price
2019-12-04 17:51               ` Thomas Hellstrom
2019-12-05 13:15               ` Qian Cai
2019-12-05 14:32                 ` Thomas Hellstrom
2019-12-05 14:38                   ` Qian Cai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0FA196FD-3FCD-431A-AA3E-21BF00EA07DC@lca.pw \
    --to=cai@lca.pw \
    --cc=Mark.Rutland@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=ard.biesheuvel@linaro.org \
    --cc=arnd@arndb.de \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=david@redhat.com \
    --cc=hpa@zytor.com \
    --cc=james.morse@arm.com \
    --cc=jglisse@redhat.com \
    --cc=kan.liang@linux.intel.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=luto@kernel.org \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=steven.price@arm.com \
    --cc=tglx@linutronix.de \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).