From: Xunlei Pang <xpang@redhat.com>
To: "Kirill A. Shutemov" <kirill@shutemov.name>,
Xunlei Pang <xlpang@redhat.com>, Ingo Molnar <mingo@redhat.com>
Cc: x86@kernel.org, kexec@lists.infradead.org,
linux-kernel@vger.kernel.org,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Subject: Re: [RFC PATCH] x86_64/mm/boot: Fix kernel_ident_mapping_init() failure for kexec
Date: Thu, 30 Mar 2017 20:43:01 +0800 [thread overview]
Message-ID: <58DCFD55.8060602@redhat.com> (raw)
In-Reply-To: <58DCEA40.7040102@redhat.com>
On 03/30/2017 at 07:21 PM, Xunlei Pang wrote:
> On 03/24/2017 at 08:04 PM, Kirill A. Shutemov wrote:
>> On Mon, Mar 20, 2017 at 02:11:31PM +0800, Xunlei Pang wrote:
>>> I found that the kdump is broken on linux-4.11.0-rc2+
>> That's actually tip tree or linux-next. The problematic change is not in
>> Linus' tree.
>>
>>> , probably
>>> due to the 5level-paging feature that "#define p4d_present(p4d) 1",
>>> as a result in ident_p4d_init(), it will go into ident_pud_init()
>>> directly without allocating the new pud.
>>>
>>> Looks like this patch can make it work again.
>> Okay, that's bisectability issue. Uncovered by splitting my patchset into
>> parts.
>>
>> Could you check if applying "Part 2" of 5-level paging changes[1] would
>> help you?
> I confirmed that it works after applying your following patches:
> x86: Convert the rest of the code to support p4d_t
To be exact, this one("x86: Convert the rest of the code to support p4d_t") fixes the issue.
> x86/xen: Change __xen_pgd_walk() and xen_cleanmfnmap() to support p4d
> x86/kasan: Prepare clear_pgds() to switch to <asm-generic/pgtable-nop4d.h>
> x86/mm/pat: Add 5-level paging support
> x86/efi: Add 5-level paging support
> x86/kexec: Add 5-level paging support
>
> Regards,
> Xunlei
>
>> Making the code work with both <asm-generic/5level-fixup.h> and
>> <asm-generic/pgtable-nop4d.h> would make it even uglier. Not sure if it
>> makes sense to address it on its own if second part fixes the situation.
>>
>> [1] http://lkml.kernel.org/r/20170317185515.8636-1-kirill.shutemov@linux.intel.com
>>
>
> _______________________________________________
> kexec mailing list
> kexec@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kexec
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: Xunlei Pang <xpang@redhat.com>
To: "Kirill A. Shutemov" <kirill@shutemov.name>,
Xunlei Pang <xlpang@redhat.com>, Ingo Molnar <mingo@redhat.com>
Cc: x86@kernel.org, kexec@lists.infradead.org,
linux-kernel@vger.kernel.org,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Subject: Re: [RFC PATCH] x86_64/mm/boot: Fix kernel_ident_mapping_init() failure for kexec
Date: Thu, 30 Mar 2017 20:43:01 +0800 [thread overview]
Message-ID: <58DCFD55.8060602@redhat.com> (raw)
In-Reply-To: <58DCEA40.7040102@redhat.com>
On 03/30/2017 at 07:21 PM, Xunlei Pang wrote:
> On 03/24/2017 at 08:04 PM, Kirill A. Shutemov wrote:
>> On Mon, Mar 20, 2017 at 02:11:31PM +0800, Xunlei Pang wrote:
>>> I found that the kdump is broken on linux-4.11.0-rc2+
>> That's actually tip tree or linux-next. The problematic change is not in
>> Linus' tree.
>>
>>> , probably
>>> due to the 5level-paging feature that "#define p4d_present(p4d) 1",
>>> as a result in ident_p4d_init(), it will go into ident_pud_init()
>>> directly without allocating the new pud.
>>>
>>> Looks like this patch can make it work again.
>> Okay, that's bisectability issue. Uncovered by splitting my patchset into
>> parts.
>>
>> Could you check if applying "Part 2" of 5-level paging changes[1] would
>> help you?
> I confirmed that it works after applying your following patches:
> x86: Convert the rest of the code to support p4d_t
To be exact, this one("x86: Convert the rest of the code to support p4d_t") fixes the issue.
> x86/xen: Change __xen_pgd_walk() and xen_cleanmfnmap() to support p4d
> x86/kasan: Prepare clear_pgds() to switch to <asm-generic/pgtable-nop4d.h>
> x86/mm/pat: Add 5-level paging support
> x86/efi: Add 5-level paging support
> x86/kexec: Add 5-level paging support
>
> Regards,
> Xunlei
>
>> Making the code work with both <asm-generic/5level-fixup.h> and
>> <asm-generic/pgtable-nop4d.h> would make it even uglier. Not sure if it
>> makes sense to address it on its own if second part fixes the situation.
>>
>> [1] http://lkml.kernel.org/r/20170317185515.8636-1-kirill.shutemov@linux.intel.com
>>
>
> _______________________________________________
> kexec mailing list
> kexec@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/kexec
next prev parent reply other threads:[~2017-03-30 12:42 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-20 6:11 [RFC PATCH] x86_64/mm/boot: Fix kernel_ident_mapping_init() failure for kexec Xunlei Pang
2017-03-20 6:11 ` Xunlei Pang
2017-03-24 12:04 ` Kirill A. Shutemov
2017-03-24 12:04 ` Kirill A. Shutemov
2017-03-30 11:21 ` Xunlei Pang
2017-03-30 11:21 ` Xunlei Pang
2017-03-30 12:43 ` Xunlei Pang [this message]
2017-03-30 12:43 ` Xunlei Pang
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=58DCFD55.8060602@redhat.com \
--to=xpang@redhat.com \
--cc=kexec@lists.infradead.org \
--cc=kirill.shutemov@linux.intel.com \
--cc=kirill@shutemov.name \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=x86@kernel.org \
--cc=xlpang@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.