Message ID | 1573459282-26989-1-git-send-email-bhsharma@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | Append new variables to vmcoreinfo (TCR_EL1.T1SZ for arm64 and MAX_PHYSMEM_BITS for all archs) | expand |
Hi Bhupesh, Do you have a corresponding patch for userspace tools, including crash util and/or makedumpfile? Otherwise, we can't verify that a generated core file is correctly handled. Thanks, -Takahiro Akashi On Mon, Nov 11, 2019 at 01:31:19PM +0530, Bhupesh Sharma wrote: > Changes since v3: > ---------------- > - v3 can be seen here: > http://lists.infradead.org/pipermail/kexec/2019-March/022590.html > - Addressed comments from James and exported TCR_EL1.T1SZ in vmcoreinfo > instead of PTRS_PER_PGD. > - Added a new patch (via [PATCH 3/3]), which fixes a simple typo in > 'Documentation/arm64/memory.rst' > > Changes since v2: > ---------------- > - v2 can be seen here: > http://lists.infradead.org/pipermail/kexec/2019-March/022531.html > - Protected 'MAX_PHYSMEM_BITS' vmcoreinfo variable under CONFIG_SPARSEMEM > ifdef sections, as suggested by Kazu. > - Updated vmcoreinfo documentation to add description about > 'MAX_PHYSMEM_BITS' variable (via [PATCH 3/3]). > > Changes since v1: > ---------------- > - v1 was sent out as a single patch which can be seen here: > http://lists.infradead.org/pipermail/kexec/2019-February/022411.html > > - v2 breaks the single patch into two independent patches: > [PATCH 1/2] appends 'PTRS_PER_PGD' to vmcoreinfo for arm64 arch, whereas > [PATCH 2/2] appends 'MAX_PHYSMEM_BITS' to vmcoreinfo in core kernel code (all archs) > > This patchset primarily fixes the regression reported in user-space > utilities like 'makedumpfile' and 'crash-utility' on arm64 architecture > with the availability of 52-bit address space feature in underlying > kernel. These regressions have been reported both on CPUs which don't > support ARMv8.2 extensions (i.e. LVA, LPA) and are running newer kernels > and also on prototype platforms (like ARMv8 FVP simulator model) which > support ARMv8.2 extensions and are running newer kernels. > > The reason for these regressions is that right now user-space tools > have no direct access to these values (since these are not exported > from the kernel) and hence need to rely on a best-guess method of > determining value of 'vabits_actual' and 'MAX_PHYSMEM_BITS' supported > by underlying kernel. > > Exporting these values via vmcoreinfo will help user-land in such cases. > In addition, as per suggestion from makedumpfile maintainer (Kazu), > it makes more sense to append 'MAX_PHYSMEM_BITS' to > vmcoreinfo in the core code itself rather than in arm64 arch-specific > code, so that the user-space code for other archs can also benefit from > this addition to the vmcoreinfo and use it as a standard way of > determining 'SECTIONS_SHIFT' value in user-land. > > Cc: Boris Petkov <bp@alien8.de> > Cc: Ingo Molnar <mingo@kernel.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Jonathan Corbet <corbet@lwn.net> > Cc: James Morse <james.morse@arm.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: Will Deacon <will@kernel.org> > Cc: Steve Capper <steve.capper@arm.com> > Cc: Catalin Marinas <catalin.marinas@arm.com> > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> > Cc: Michael Ellerman <mpe@ellerman.id.au> > Cc: Paul Mackerras <paulus@samba.org> > Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> > Cc: Dave Anderson <anderson@redhat.com> > Cc: Kazuhito Hagio <k-hagio@ab.jp.nec.com> > Cc: x86@kernel.org > Cc: linuxppc-dev@lists.ozlabs.org > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > Cc: linux-doc@vger.kernel.org > Cc: kexec@lists.infradead.org > > Bhupesh Sharma (3): > crash_core, vmcoreinfo: Append 'MAX_PHYSMEM_BITS' to vmcoreinfo > arm64/crash_core: Export TCR_EL1.T1SZ in vmcoreinfo > Documentation/arm64: Fix a simple typo in memory.rst > > Documentation/arm64/memory.rst | 2 +- > arch/arm64/include/asm/pgtable-hwdef.h | 1 + > arch/arm64/kernel/crash_core.c | 9 +++++++++ > kernel/crash_core.c | 1 + > 4 files changed, 12 insertions(+), 1 deletion(-) > > -- > 2.7.4 >
Hi Akashi, On Wed, Nov 13, 2019 at 12:11 PM AKASHI Takahiro <takahiro.akashi@linaro.org> wrote: > > Hi Bhupesh, > > Do you have a corresponding patch for userspace tools, > including crash util and/or makedumpfile? > Otherwise, we can't verify that a generated core file is > correctly handled. Sure. I am still working on the crash-utility related changes, but you can find the makedumpfile changes I posted a couple of days ago here (see [0]) and the github link for the makedumpfile changes can be seen via [1]. I will post the crash-util changes shortly as well. Thanks for having a look at the same. [0]. http://lists.infradead.org/pipermail/kexec/2019-November/023963.html [1]. https://github.com/bhupesh-sharma/makedumpfile/tree/52-bit-va-support-via-vmcore-upstream-v4 Regards, Bhupesh > > Thanks, > -Takahiro Akashi > > On Mon, Nov 11, 2019 at 01:31:19PM +0530, Bhupesh Sharma wrote: > > Changes since v3: > > ---------------- > > - v3 can be seen here: > > http://lists.infradead.org/pipermail/kexec/2019-March/022590.html > > - Addressed comments from James and exported TCR_EL1.T1SZ in vmcoreinfo > > instead of PTRS_PER_PGD. > > - Added a new patch (via [PATCH 3/3]), which fixes a simple typo in > > 'Documentation/arm64/memory.rst' > > > > Changes since v2: > > ---------------- > > - v2 can be seen here: > > http://lists.infradead.org/pipermail/kexec/2019-March/022531.html > > - Protected 'MAX_PHYSMEM_BITS' vmcoreinfo variable under CONFIG_SPARSEMEM > > ifdef sections, as suggested by Kazu. > > - Updated vmcoreinfo documentation to add description about > > 'MAX_PHYSMEM_BITS' variable (via [PATCH 3/3]). > > > > Changes since v1: > > ---------------- > > - v1 was sent out as a single patch which can be seen here: > > http://lists.infradead.org/pipermail/kexec/2019-February/022411.html > > > > - v2 breaks the single patch into two independent patches: > > [PATCH 1/2] appends 'PTRS_PER_PGD' to vmcoreinfo for arm64 arch, whereas > > [PATCH 2/2] appends 'MAX_PHYSMEM_BITS' to vmcoreinfo in core kernel code (all archs) > > > > This patchset primarily fixes the regression reported in user-space > > utilities like 'makedumpfile' and 'crash-utility' on arm64 architecture > > with the availability of 52-bit address space feature in underlying > > kernel. These regressions have been reported both on CPUs which don't > > support ARMv8.2 extensions (i.e. LVA, LPA) and are running newer kernels > > and also on prototype platforms (like ARMv8 FVP simulator model) which > > support ARMv8.2 extensions and are running newer kernels. > > > > The reason for these regressions is that right now user-space tools > > have no direct access to these values (since these are not exported > > from the kernel) and hence need to rely on a best-guess method of > > determining value of 'vabits_actual' and 'MAX_PHYSMEM_BITS' supported > > by underlying kernel. > > > > Exporting these values via vmcoreinfo will help user-land in such cases. > > In addition, as per suggestion from makedumpfile maintainer (Kazu), > > it makes more sense to append 'MAX_PHYSMEM_BITS' to > > vmcoreinfo in the core code itself rather than in arm64 arch-specific > > code, so that the user-space code for other archs can also benefit from > > this addition to the vmcoreinfo and use it as a standard way of > > determining 'SECTIONS_SHIFT' value in user-land. > > > > Cc: Boris Petkov <bp@alien8.de> > > Cc: Ingo Molnar <mingo@kernel.org> > > Cc: Thomas Gleixner <tglx@linutronix.de> > > Cc: Jonathan Corbet <corbet@lwn.net> > > Cc: James Morse <james.morse@arm.com> > > Cc: Mark Rutland <mark.rutland@arm.com> > > Cc: Will Deacon <will@kernel.org> > > Cc: Steve Capper <steve.capper@arm.com> > > Cc: Catalin Marinas <catalin.marinas@arm.com> > > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> > > Cc: Michael Ellerman <mpe@ellerman.id.au> > > Cc: Paul Mackerras <paulus@samba.org> > > Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> > > Cc: Dave Anderson <anderson@redhat.com> > > Cc: Kazuhito Hagio <k-hagio@ab.jp.nec.com> > > Cc: x86@kernel.org > > Cc: linuxppc-dev@lists.ozlabs.org > > Cc: linux-arm-kernel@lists.infradead.org > > Cc: linux-kernel@vger.kernel.org > > Cc: linux-doc@vger.kernel.org > > Cc: kexec@lists.infradead.org > > > > Bhupesh Sharma (3): > > crash_core, vmcoreinfo: Append 'MAX_PHYSMEM_BITS' to vmcoreinfo > > arm64/crash_core: Export TCR_EL1.T1SZ in vmcoreinfo > > Documentation/arm64: Fix a simple typo in memory.rst > > > > Documentation/arm64/memory.rst | 2 +- > > arch/arm64/include/asm/pgtable-hwdef.h | 1 + > > arch/arm64/kernel/crash_core.c | 9 +++++++++ > > kernel/crash_core.c | 1 + > > 4 files changed, 12 insertions(+), 1 deletion(-) > > > > -- > > 2.7.4 > > >
Bhupesh, On Fri, Nov 15, 2019 at 01:24:17AM +0530, Bhupesh Sharma wrote: > Hi Akashi, > > On Wed, Nov 13, 2019 at 12:11 PM AKASHI Takahiro > <takahiro.akashi@linaro.org> wrote: > > > > Hi Bhupesh, > > > > Do you have a corresponding patch for userspace tools, > > including crash util and/or makedumpfile? > > Otherwise, we can't verify that a generated core file is > > correctly handled. > > Sure. I am still working on the crash-utility related changes, but you > can find the makedumpfile changes I posted a couple of days ago here > (see [0]) and the github link for the makedumpfile changes can be seen > via [1]. > > I will post the crash-util changes shortly as well. > Thanks for having a look at the same. Thank you. I have tested my kdump patch with a hacked version of crash where VA_BITS_ACTUAL is calculated from tcr_el1_t1sz in vmcoreinfo. -Takahiro Akashi > [0]. http://lists.infradead.org/pipermail/kexec/2019-November/023963.html > [1]. https://github.com/bhupesh-sharma/makedumpfile/tree/52-bit-va-support-via-vmcore-upstream-v4 > > Regards, > Bhupesh > > > > > Thanks, > > -Takahiro Akashi > > > > On Mon, Nov 11, 2019 at 01:31:19PM +0530, Bhupesh Sharma wrote: > > > Changes since v3: > > > ---------------- > > > - v3 can be seen here: > > > http://lists.infradead.org/pipermail/kexec/2019-March/022590.html > > > - Addressed comments from James and exported TCR_EL1.T1SZ in vmcoreinfo > > > instead of PTRS_PER_PGD. > > > - Added a new patch (via [PATCH 3/3]), which fixes a simple typo in > > > 'Documentation/arm64/memory.rst' > > > > > > Changes since v2: > > > ---------------- > > > - v2 can be seen here: > > > http://lists.infradead.org/pipermail/kexec/2019-March/022531.html > > > - Protected 'MAX_PHYSMEM_BITS' vmcoreinfo variable under CONFIG_SPARSEMEM > > > ifdef sections, as suggested by Kazu. > > > - Updated vmcoreinfo documentation to add description about > > > 'MAX_PHYSMEM_BITS' variable (via [PATCH 3/3]). > > > > > > Changes since v1: > > > ---------------- > > > - v1 was sent out as a single patch which can be seen here: > > > http://lists.infradead.org/pipermail/kexec/2019-February/022411.html > > > > > > - v2 breaks the single patch into two independent patches: > > > [PATCH 1/2] appends 'PTRS_PER_PGD' to vmcoreinfo for arm64 arch, whereas > > > [PATCH 2/2] appends 'MAX_PHYSMEM_BITS' to vmcoreinfo in core kernel code (all archs) > > > > > > This patchset primarily fixes the regression reported in user-space > > > utilities like 'makedumpfile' and 'crash-utility' on arm64 architecture > > > with the availability of 52-bit address space feature in underlying > > > kernel. These regressions have been reported both on CPUs which don't > > > support ARMv8.2 extensions (i.e. LVA, LPA) and are running newer kernels > > > and also on prototype platforms (like ARMv8 FVP simulator model) which > > > support ARMv8.2 extensions and are running newer kernels. > > > > > > The reason for these regressions is that right now user-space tools > > > have no direct access to these values (since these are not exported > > > from the kernel) and hence need to rely on a best-guess method of > > > determining value of 'vabits_actual' and 'MAX_PHYSMEM_BITS' supported > > > by underlying kernel. > > > > > > Exporting these values via vmcoreinfo will help user-land in such cases. > > > In addition, as per suggestion from makedumpfile maintainer (Kazu), > > > it makes more sense to append 'MAX_PHYSMEM_BITS' to > > > vmcoreinfo in the core code itself rather than in arm64 arch-specific > > > code, so that the user-space code for other archs can also benefit from > > > this addition to the vmcoreinfo and use it as a standard way of > > > determining 'SECTIONS_SHIFT' value in user-land. > > > > > > Cc: Boris Petkov <bp@alien8.de> > > > Cc: Ingo Molnar <mingo@kernel.org> > > > Cc: Thomas Gleixner <tglx@linutronix.de> > > > Cc: Jonathan Corbet <corbet@lwn.net> > > > Cc: James Morse <james.morse@arm.com> > > > Cc: Mark Rutland <mark.rutland@arm.com> > > > Cc: Will Deacon <will@kernel.org> > > > Cc: Steve Capper <steve.capper@arm.com> > > > Cc: Catalin Marinas <catalin.marinas@arm.com> > > > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> > > > Cc: Michael Ellerman <mpe@ellerman.id.au> > > > Cc: Paul Mackerras <paulus@samba.org> > > > Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> > > > Cc: Dave Anderson <anderson@redhat.com> > > > Cc: Kazuhito Hagio <k-hagio@ab.jp.nec.com> > > > Cc: x86@kernel.org > > > Cc: linuxppc-dev@lists.ozlabs.org > > > Cc: linux-arm-kernel@lists.infradead.org > > > Cc: linux-kernel@vger.kernel.org > > > Cc: linux-doc@vger.kernel.org > > > Cc: kexec@lists.infradead.org > > > > > > Bhupesh Sharma (3): > > > crash_core, vmcoreinfo: Append 'MAX_PHYSMEM_BITS' to vmcoreinfo > > > arm64/crash_core: Export TCR_EL1.T1SZ in vmcoreinfo > > > Documentation/arm64: Fix a simple typo in memory.rst > > > > > > Documentation/arm64/memory.rst | 2 +- > > > arch/arm64/include/asm/pgtable-hwdef.h | 1 + > > > arch/arm64/kernel/crash_core.c | 9 +++++++++ > > > kernel/crash_core.c | 1 + > > > 4 files changed, 12 insertions(+), 1 deletion(-) > > > > > > -- > > > 2.7.4 > > > > > >
Hi Akashi, On Fri, Nov 15, 2019 at 7:29 AM AKASHI Takahiro <takahiro.akashi@linaro.org> wrote: > > Bhupesh, > > On Fri, Nov 15, 2019 at 01:24:17AM +0530, Bhupesh Sharma wrote: > > Hi Akashi, > > > > On Wed, Nov 13, 2019 at 12:11 PM AKASHI Takahiro > > <takahiro.akashi@linaro.org> wrote: > > > > > > Hi Bhupesh, > > > > > > Do you have a corresponding patch for userspace tools, > > > including crash util and/or makedumpfile? > > > Otherwise, we can't verify that a generated core file is > > > correctly handled. > > > > Sure. I am still working on the crash-utility related changes, but you > > can find the makedumpfile changes I posted a couple of days ago here > > (see [0]) and the github link for the makedumpfile changes can be seen > > via [1]. > > > > I will post the crash-util changes shortly as well. > > Thanks for having a look at the same. > > Thank you. > I have tested my kdump patch with a hacked version of crash > where VA_BITS_ACTUAL is calculated from tcr_el1_t1sz in vmcoreinfo. Thanks a lot for testing the changes. I will push the crash utility changes for review shortly and also Cc you to the patches. It would be great to have your Tested-by for this patch-set, if the user-space works fine for you with these changes. Regards, Bhupesh > -Takahiro Akashi > > > > [0]. http://lists.infradead.org/pipermail/kexec/2019-November/023963.html > > [1]. https://github.com/bhupesh-sharma/makedumpfile/tree/52-bit-va-support-via-vmcore-upstream-v4 > > > > Regards, > > Bhupesh > > > > > > > > Thanks, > > > -Takahiro Akashi > > > > > > On Mon, Nov 11, 2019 at 01:31:19PM +0530, Bhupesh Sharma wrote: > > > > Changes since v3: > > > > ---------------- > > > > - v3 can be seen here: > > > > http://lists.infradead.org/pipermail/kexec/2019-March/022590.html > > > > - Addressed comments from James and exported TCR_EL1.T1SZ in vmcoreinfo > > > > instead of PTRS_PER_PGD. > > > > - Added a new patch (via [PATCH 3/3]), which fixes a simple typo in > > > > 'Documentation/arm64/memory.rst' > > > > > > > > Changes since v2: > > > > ---------------- > > > > - v2 can be seen here: > > > > http://lists.infradead.org/pipermail/kexec/2019-March/022531.html > > > > - Protected 'MAX_PHYSMEM_BITS' vmcoreinfo variable under CONFIG_SPARSEMEM > > > > ifdef sections, as suggested by Kazu. > > > > - Updated vmcoreinfo documentation to add description about > > > > 'MAX_PHYSMEM_BITS' variable (via [PATCH 3/3]). > > > > > > > > Changes since v1: > > > > ---------------- > > > > - v1 was sent out as a single patch which can be seen here: > > > > http://lists.infradead.org/pipermail/kexec/2019-February/022411.html > > > > > > > > - v2 breaks the single patch into two independent patches: > > > > [PATCH 1/2] appends 'PTRS_PER_PGD' to vmcoreinfo for arm64 arch, whereas > > > > [PATCH 2/2] appends 'MAX_PHYSMEM_BITS' to vmcoreinfo in core kernel code (all archs) > > > > > > > > This patchset primarily fixes the regression reported in user-space > > > > utilities like 'makedumpfile' and 'crash-utility' on arm64 architecture > > > > with the availability of 52-bit address space feature in underlying > > > > kernel. These regressions have been reported both on CPUs which don't > > > > support ARMv8.2 extensions (i.e. LVA, LPA) and are running newer kernels > > > > and also on prototype platforms (like ARMv8 FVP simulator model) which > > > > support ARMv8.2 extensions and are running newer kernels. > > > > > > > > The reason for these regressions is that right now user-space tools > > > > have no direct access to these values (since these are not exported > > > > from the kernel) and hence need to rely on a best-guess method of > > > > determining value of 'vabits_actual' and 'MAX_PHYSMEM_BITS' supported > > > > by underlying kernel. > > > > > > > > Exporting these values via vmcoreinfo will help user-land in such cases. > > > > In addition, as per suggestion from makedumpfile maintainer (Kazu), > > > > it makes more sense to append 'MAX_PHYSMEM_BITS' to > > > > vmcoreinfo in the core code itself rather than in arm64 arch-specific > > > > code, so that the user-space code for other archs can also benefit from > > > > this addition to the vmcoreinfo and use it as a standard way of > > > > determining 'SECTIONS_SHIFT' value in user-land. > > > > > > > > Cc: Boris Petkov <bp@alien8.de> > > > > Cc: Ingo Molnar <mingo@kernel.org> > > > > Cc: Thomas Gleixner <tglx@linutronix.de> > > > > Cc: Jonathan Corbet <corbet@lwn.net> > > > > Cc: James Morse <james.morse@arm.com> > > > > Cc: Mark Rutland <mark.rutland@arm.com> > > > > Cc: Will Deacon <will@kernel.org> > > > > Cc: Steve Capper <steve.capper@arm.com> > > > > Cc: Catalin Marinas <catalin.marinas@arm.com> > > > > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> > > > > Cc: Michael Ellerman <mpe@ellerman.id.au> > > > > Cc: Paul Mackerras <paulus@samba.org> > > > > Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> > > > > Cc: Dave Anderson <anderson@redhat.com> > > > > Cc: Kazuhito Hagio <k-hagio@ab.jp.nec.com> > > > > Cc: x86@kernel.org > > > > Cc: linuxppc-dev@lists.ozlabs.org > > > > Cc: linux-arm-kernel@lists.infradead.org > > > > Cc: linux-kernel@vger.kernel.org > > > > Cc: linux-doc@vger.kernel.org > > > > Cc: kexec@lists.infradead.org > > > > > > > > Bhupesh Sharma (3): > > > > crash_core, vmcoreinfo: Append 'MAX_PHYSMEM_BITS' to vmcoreinfo > > > > arm64/crash_core: Export TCR_EL1.T1SZ in vmcoreinfo > > > > Documentation/arm64: Fix a simple typo in memory.rst > > > > > > > > Documentation/arm64/memory.rst | 2 +- > > > > arch/arm64/include/asm/pgtable-hwdef.h | 1 + > > > > arch/arm64/kernel/crash_core.c | 9 +++++++++ > > > > kernel/crash_core.c | 1 + > > > > 4 files changed, 12 insertions(+), 1 deletion(-) > > > > > > > > -- > > > > 2.7.4 > > > > > > > > > >
Hi Akashi, On Fri, Nov 15, 2019 at 7:29 AM AKASHI Takahiro <takahiro.akashi@linaro.org> wrote: > > Bhupesh, > > On Fri, Nov 15, 2019 at 01:24:17AM +0530, Bhupesh Sharma wrote: > > Hi Akashi, > > > > On Wed, Nov 13, 2019 at 12:11 PM AKASHI Takahiro > > <takahiro.akashi@linaro.org> wrote: > > > > > > Hi Bhupesh, > > > > > > Do you have a corresponding patch for userspace tools, > > > including crash util and/or makedumpfile? > > > Otherwise, we can't verify that a generated core file is > > > correctly handled. > > > > Sure. I am still working on the crash-utility related changes, but you > > can find the makedumpfile changes I posted a couple of days ago here > > (see [0]) and the github link for the makedumpfile changes can be seen > > via [1]. > > > > I will post the crash-util changes shortly as well. > > Thanks for having a look at the same. > > Thank you. > I have tested my kdump patch with a hacked version of crash > where VA_BITS_ACTUAL is calculated from tcr_el1_t1sz in vmcoreinfo. > I also did hack to calculate VA_BITS_ACTUAL is calculated from tcr_el1_t1sz in vmcoreinfo. Now i am getting error same as mentioned by you in other thread last month. https://www.mail-archive.com/crash-utility@redhat.com/msg07385.html how this error was overcome? I am using - crashkernel: https://github.com/crash-utility/crash.git commit: babd7ae62d4e8fd6f93fd30b88040d9376522aa3 and - Linux: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git commit: af42d3466bdc8f39806b26f593604fdc54140bcb --pk
Hi Prabhakar, On Tue, Nov 19, 2019 at 12:02:46PM +0530, Prabhakar Kushwaha wrote: > Hi Akashi, > > On Fri, Nov 15, 2019 at 7:29 AM AKASHI Takahiro > <takahiro.akashi@linaro.org> wrote: > > > > Bhupesh, > > > > On Fri, Nov 15, 2019 at 01:24:17AM +0530, Bhupesh Sharma wrote: > > > Hi Akashi, > > > > > > On Wed, Nov 13, 2019 at 12:11 PM AKASHI Takahiro > > > <takahiro.akashi@linaro.org> wrote: > > > > > > > > Hi Bhupesh, > > > > > > > > Do you have a corresponding patch for userspace tools, > > > > including crash util and/or makedumpfile? > > > > Otherwise, we can't verify that a generated core file is > > > > correctly handled. > > > > > > Sure. I am still working on the crash-utility related changes, but you > > > can find the makedumpfile changes I posted a couple of days ago here > > > (see [0]) and the github link for the makedumpfile changes can be seen > > > via [1]. > > > > > > I will post the crash-util changes shortly as well. > > > Thanks for having a look at the same. > > > > Thank you. > > I have tested my kdump patch with a hacked version of crash > > where VA_BITS_ACTUAL is calculated from tcr_el1_t1sz in vmcoreinfo. > > > > I also did hack to calculate VA_BITS_ACTUAL is calculated from > tcr_el1_t1sz in vmcoreinfo. Now i am getting error same as mentioned > by you in other thread last month. > https://www.mail-archive.com/crash-utility@redhat.com/msg07385.html > > how this error was overcome? > > I am using > - crashkernel: https://github.com/crash-utility/crash.git commit: > babd7ae62d4e8fd6f93fd30b88040d9376522aa3 > and > - Linux: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > commit: af42d3466bdc8f39806b26f593604fdc54140bcb # I am rather reluctant to cross-post non-kernel patch to lkml/lakml, The only change I made to crash utility was: ===8<=== diff --git a/arm64.c b/arm64.c index 5ee5f1a29a41..84e40aeb561b 100644 --- a/arm64.c +++ b/arm64.c @@ -3857,8 +3857,8 @@ arm64_calc_VA_BITS(void) } else if (ACTIVE()) error(FATAL, "cannot determine VA_BITS_ACTUAL: please use /proc/kcore\n"); else { - if ((string = pc->read_vmcoreinfo("NUMBER(VA_BITS_ACTUAL)"))) { - value = atol(string); + if ((string = pc->read_vmcoreinfo("NUMBER(tcr_el1_t1sz)"))) { + value = 64 - strtoll(string, NULL, 0); free(string); machdep->machspec->VA_BITS_ACTUAL = value; machdep->machspec->VA_BITS = value; ===>8=== Thanks, -Takahiro Akashi > --pk
On Tue, Nov 19, 2019 at 12:03 PM Prabhakar Kushwaha <prabhakar.pkin@gmail.com> wrote: > > Hi Akashi, > > On Fri, Nov 15, 2019 at 7:29 AM AKASHI Takahiro > <takahiro.akashi@linaro.org> wrote: > > > > Bhupesh, > > > > On Fri, Nov 15, 2019 at 01:24:17AM +0530, Bhupesh Sharma wrote: > > > Hi Akashi, > > > > > > On Wed, Nov 13, 2019 at 12:11 PM AKASHI Takahiro > > > <takahiro.akashi@linaro.org> wrote: > > > > > > > > Hi Bhupesh, > > > > > > > > Do you have a corresponding patch for userspace tools, > > > > including crash util and/or makedumpfile? > > > > Otherwise, we can't verify that a generated core file is > > > > correctly handled. > > > > > > Sure. I am still working on the crash-utility related changes, but you > > > can find the makedumpfile changes I posted a couple of days ago here > > > (see [0]) and the github link for the makedumpfile changes can be seen > > > via [1]. > > > > > > I will post the crash-util changes shortly as well. > > > Thanks for having a look at the same. > > > > Thank you. > > I have tested my kdump patch with a hacked version of crash > > where VA_BITS_ACTUAL is calculated from tcr_el1_t1sz in vmcoreinfo. > > > > I also did hack to calculate VA_BITS_ACTUAL is calculated from > tcr_el1_t1sz in vmcoreinfo. Now i am getting error same as mentioned > by you in other thread last month. > https://www.mail-archive.com/crash-utility@redhat.com/msg07385.html > > how this error was overcome? > > I am using > - crashkernel: https://github.com/crash-utility/crash.git commit: > babd7ae62d4e8fd6f93fd30b88040d9376522aa3 > and > - Linux: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > commit: af42d3466bdc8f39806b26f593604fdc54140bcb I will post a formal change for crash-utility shortly that fixes the same. Right now we are having issues with emails bouncing off 'crash-utility@redhat.com', so my patches sent to the same are in undelivered state at-the-moment. For easy testing I will share the link to my github tree (off-line) [which contains the changes] as well. Regards, Bhupesh
On 11/11/19 at 01:31pm, Bhupesh Sharma wrote: > Changes since v3: > ---------------- > - v3 can be seen here: > http://lists.infradead.org/pipermail/kexec/2019-March/022590.html > - Addressed comments from James and exported TCR_EL1.T1SZ in vmcoreinfo > instead of PTRS_PER_PGD. > - Added a new patch (via [PATCH 3/3]), which fixes a simple typo in > 'Documentation/arm64/memory.rst' > > Changes since v2: > ---------------- > - v2 can be seen here: > http://lists.infradead.org/pipermail/kexec/2019-March/022531.html > - Protected 'MAX_PHYSMEM_BITS' vmcoreinfo variable under CONFIG_SPARSEMEM > ifdef sections, as suggested by Kazu. > - Updated vmcoreinfo documentation to add description about > 'MAX_PHYSMEM_BITS' variable (via [PATCH 3/3]). > > Changes since v1: > ---------------- > - v1 was sent out as a single patch which can be seen here: > http://lists.infradead.org/pipermail/kexec/2019-February/022411.html > > - v2 breaks the single patch into two independent patches: > [PATCH 1/2] appends 'PTRS_PER_PGD' to vmcoreinfo for arm64 arch, whereas > [PATCH 2/2] appends 'MAX_PHYSMEM_BITS' to vmcoreinfo in core kernel code (all archs) > > This patchset primarily fixes the regression reported in user-space > utilities like 'makedumpfile' and 'crash-utility' on arm64 architecture > with the availability of 52-bit address space feature in underlying > kernel. These regressions have been reported both on CPUs which don't > support ARMv8.2 extensions (i.e. LVA, LPA) and are running newer kernels > and also on prototype platforms (like ARMv8 FVP simulator model) which > support ARMv8.2 extensions and are running newer kernels. > > The reason for these regressions is that right now user-space tools > have no direct access to these values (since these are not exported > from the kernel) and hence need to rely on a best-guess method of > determining value of 'vabits_actual' and 'MAX_PHYSMEM_BITS' supported > by underlying kernel. > > Exporting these values via vmcoreinfo will help user-land in such cases. > In addition, as per suggestion from makedumpfile maintainer (Kazu), > it makes more sense to append 'MAX_PHYSMEM_BITS' to > vmcoreinfo in the core code itself rather than in arm64 arch-specific > code, so that the user-space code for other archs can also benefit from > this addition to the vmcoreinfo and use it as a standard way of > determining 'SECTIONS_SHIFT' value in user-land. > > Cc: Boris Petkov <bp@alien8.de> > Cc: Ingo Molnar <mingo@kernel.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Jonathan Corbet <corbet@lwn.net> > Cc: James Morse <james.morse@arm.com> > Cc: Mark Rutland <mark.rutland@arm.com> > Cc: Will Deacon <will@kernel.org> > Cc: Steve Capper <steve.capper@arm.com> > Cc: Catalin Marinas <catalin.marinas@arm.com> > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> > Cc: Michael Ellerman <mpe@ellerman.id.au> > Cc: Paul Mackerras <paulus@samba.org> > Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> > Cc: Dave Anderson <anderson@redhat.com> > Cc: Kazuhito Hagio <k-hagio@ab.jp.nec.com> > Cc: x86@kernel.org > Cc: linuxppc-dev@lists.ozlabs.org > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-kernel@vger.kernel.org > Cc: linux-doc@vger.kernel.org > Cc: kexec@lists.infradead.org > > Bhupesh Sharma (3): > crash_core, vmcoreinfo: Append 'MAX_PHYSMEM_BITS' to vmcoreinfo > arm64/crash_core: Export TCR_EL1.T1SZ in vmcoreinfo Soft reminder: the new introduced vmcoreinfo needs documentation Please check Documentation/admin-guide/kdump/vmcoreinfo.rst Thanks Dave
Hi Dave, On Thu, Nov 21, 2019 at 8:51 AM Dave Young <dyoung@redhat.com> wrote: > > On 11/11/19 at 01:31pm, Bhupesh Sharma wrote: > > Changes since v3: > > ---------------- > > - v3 can be seen here: > > http://lists.infradead.org/pipermail/kexec/2019-March/022590.html > > - Addressed comments from James and exported TCR_EL1.T1SZ in vmcoreinfo > > instead of PTRS_PER_PGD. > > - Added a new patch (via [PATCH 3/3]), which fixes a simple typo in > > 'Documentation/arm64/memory.rst' > > > > Changes since v2: > > ---------------- > > - v2 can be seen here: > > http://lists.infradead.org/pipermail/kexec/2019-March/022531.html > > - Protected 'MAX_PHYSMEM_BITS' vmcoreinfo variable under CONFIG_SPARSEMEM > > ifdef sections, as suggested by Kazu. > > - Updated vmcoreinfo documentation to add description about > > 'MAX_PHYSMEM_BITS' variable (via [PATCH 3/3]). > > > > Changes since v1: > > ---------------- > > - v1 was sent out as a single patch which can be seen here: > > http://lists.infradead.org/pipermail/kexec/2019-February/022411.html > > > > - v2 breaks the single patch into two independent patches: > > [PATCH 1/2] appends 'PTRS_PER_PGD' to vmcoreinfo for arm64 arch, whereas > > [PATCH 2/2] appends 'MAX_PHYSMEM_BITS' to vmcoreinfo in core kernel code (all archs) > > > > This patchset primarily fixes the regression reported in user-space > > utilities like 'makedumpfile' and 'crash-utility' on arm64 architecture > > with the availability of 52-bit address space feature in underlying > > kernel. These regressions have been reported both on CPUs which don't > > support ARMv8.2 extensions (i.e. LVA, LPA) and are running newer kernels > > and also on prototype platforms (like ARMv8 FVP simulator model) which > > support ARMv8.2 extensions and are running newer kernels. > > > > The reason for these regressions is that right now user-space tools > > have no direct access to these values (since these are not exported > > from the kernel) and hence need to rely on a best-guess method of > > determining value of 'vabits_actual' and 'MAX_PHYSMEM_BITS' supported > > by underlying kernel. > > > > Exporting these values via vmcoreinfo will help user-land in such cases. > > In addition, as per suggestion from makedumpfile maintainer (Kazu), > > it makes more sense to append 'MAX_PHYSMEM_BITS' to > > vmcoreinfo in the core code itself rather than in arm64 arch-specific > > code, so that the user-space code for other archs can also benefit from > > this addition to the vmcoreinfo and use it as a standard way of > > determining 'SECTIONS_SHIFT' value in user-land. > > > > Cc: Boris Petkov <bp@alien8.de> > > Cc: Ingo Molnar <mingo@kernel.org> > > Cc: Thomas Gleixner <tglx@linutronix.de> > > Cc: Jonathan Corbet <corbet@lwn.net> > > Cc: James Morse <james.morse@arm.com> > > Cc: Mark Rutland <mark.rutland@arm.com> > > Cc: Will Deacon <will@kernel.org> > > Cc: Steve Capper <steve.capper@arm.com> > > Cc: Catalin Marinas <catalin.marinas@arm.com> > > Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> > > Cc: Michael Ellerman <mpe@ellerman.id.au> > > Cc: Paul Mackerras <paulus@samba.org> > > Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> > > Cc: Dave Anderson <anderson@redhat.com> > > Cc: Kazuhito Hagio <k-hagio@ab.jp.nec.com> > > Cc: x86@kernel.org > > Cc: linuxppc-dev@lists.ozlabs.org > > Cc: linux-arm-kernel@lists.infradead.org > > Cc: linux-kernel@vger.kernel.org > > Cc: linux-doc@vger.kernel.org > > Cc: kexec@lists.infradead.org > > > > Bhupesh Sharma (3): > > crash_core, vmcoreinfo: Append 'MAX_PHYSMEM_BITS' to vmcoreinfo > > arm64/crash_core: Export TCR_EL1.T1SZ in vmcoreinfo > > Soft reminder: the new introduced vmcoreinfo needs documentation > > Please check Documentation/admin-guide/kdump/vmcoreinfo.rst Sure, will send a v5 to address the same. Thanks, Bhupesh