All of lore.kernel.org
 help / color / mirror / Atom feed
From: ard.biesheuvel@linaro.org (Ard Biesheuvel)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v26 0/7] arm64: add kdump support
Date: Fri, 16 Sep 2016 21:17:33 +0100	[thread overview]
Message-ID: <CAKv+Gu_UvFnPtFHggaO6Z_ePuArdchEK1qYWPkkwpcgLus3Epw@mail.gmail.com> (raw)
In-Reply-To: <57DC1812.6040906@arm.com>

On 16 September 2016 at 17:04, James Morse <james.morse@arm.com> wrote:
> (Cc: Ard),
>
> Mark, Ard, how does/will reserved-memory work on an APCI only system?
>

It works by accident, at the moment. We used to ignore both
/memreserve/s and the /reserved-memory node, but due to some unrelated
refactoring, we ended up honouring the reserved-memory node when
booting via UEFI

I proposed some patches a while ago to at least check the
reservations, given that UEFI itself is unaware of them and may end up
occupying a region that should have been reserved.

http://article.gmane.org/gmane.linux.kernel.efi/6464

>
> On 07/09/16 05:29, AKASHI Takahiro wrote:
>>     v26-specific note: After a comment from Rob[0], an idea of adding
>>     "linux,usable-memory-range" was dropped. Instead, an existing
>>     "reserved-memory" node will be used to limit usable memory ranges
>>     on crash dump kernel.
>>     This works not only on UEFI/ACPI systems but also on DT-only systems,
>>     but if he really insists on using DT-specific "usable-memory" property,
>>     I will post additional patches for kexec-tools. Those would be
>>     redundant, though.
>>     Even in that case, the kernel will not have to be changed.
>
> Some narrative on how the old memory ranges get reserved, as there is no longer
> any code in the series doing this, (which is pretty neat!):
>
> kexec-tools parses the list of memory ranges in /proc/iomem, and adds a node to
> the /reserved-memory for System RAM ranges that don't cover the crash kernel.
> Decompiling the crash-kernel DT from Seattle, it looks roughly like this:
>
>         reserved-memory {
>                 ranges;
>                 #size-cells = <0x2>;
>                 #address-cells = <0x2>;
>
>                 crash_dump at 83ffe50000 {
>                         no-map;
>                         reg = <0x83 0xffe50000 0x0 0x1b0000>;
>                 };
>
>                 [ ... ]
>         };
>
>
> 'no-map' means its doing the same thing to memblock as
> 'linux,usable-memory-range' did in earlier versions,
> early_init_dt_reserve_memory_arch() takes no-map to mean memblock_remove().
> We trigger the removing via early_init_fdt_scan_reserved_mem() in
> arch/arm64/mm/init.c. This happens later than before, but its before the
> crashkernel and cma ranges get reserved.
>
> One difference I can see is that before we avoided memblock_remove()ing ranges
> that were also in memblock.nomap. This was to avoid the ACPI tables getting
> mapped as device memory by mistake, this is fixed by [1]. Now these ranges are
> published in /proc/iomem as 'reserved' and won't get covered by a
> reserved-memory node, and so we don't need to check memblock.nomap when
> memblock_remove()ing.
>
>
> The only odd thing I can see is for a (mythical?) pure-ACPI system. The EFI stub
> will create a DT with a chosen node containing pointers to the memory map and
> the efi command line. Now such as system may also grow a /reserved-memory node
> after kdump. I don't think this is a problem, but it may not match how an
> acpi-only system reserves memory. (how does that work?)
>
>
>> [1] "arm64: mark reserved memblock regions explicitly in iomem"
>>     http://lists.infradead.org/pipermail/linux-arm-kernel/2016-August/450433.html
>
> This is queued in Will's arm64/for-next/core,
>
>> [2] "efi: arm64: treat regions with WT/WC set but WB cleared as memory"
>>     http://lists.infradead.org/pipermail/linux-arm-kernel/2016-August/451491.html
>
> This is queued in tip, but I can't see why kdump depends on it. It only has an
> effect if the uefi memory map has !WB regions that linux needs to use.
>
>
>
> Thanks,
>
> James
>

WARNING: multiple messages have this Message-ID (diff)
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: James Morse <james.morse@arm.com>
Cc: Mark Rutland <mark.rutland@arm.com>,
	Geoff Levand <geoff@infradead.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	AKASHI Takahiro <takahiro.akashi@linaro.org>,
	Thiago Jung Bauermann <bauerman@linux.vnet.ibm.com>,
	Dave Young <dyoung@redhat.com>,
	"kexec@lists.infradead.org" <kexec@lists.infradead.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v26 0/7] arm64: add kdump support
Date: Fri, 16 Sep 2016 21:17:33 +0100	[thread overview]
Message-ID: <CAKv+Gu_UvFnPtFHggaO6Z_ePuArdchEK1qYWPkkwpcgLus3Epw@mail.gmail.com> (raw)
In-Reply-To: <57DC1812.6040906@arm.com>

On 16 September 2016 at 17:04, James Morse <james.morse@arm.com> wrote:
> (Cc: Ard),
>
> Mark, Ard, how does/will reserved-memory work on an APCI only system?
>

It works by accident, at the moment. We used to ignore both
/memreserve/s and the /reserved-memory node, but due to some unrelated
refactoring, we ended up honouring the reserved-memory node when
booting via UEFI

I proposed some patches a while ago to at least check the
reservations, given that UEFI itself is unaware of them and may end up
occupying a region that should have been reserved.

http://article.gmane.org/gmane.linux.kernel.efi/6464

>
> On 07/09/16 05:29, AKASHI Takahiro wrote:
>>     v26-specific note: After a comment from Rob[0], an idea of adding
>>     "linux,usable-memory-range" was dropped. Instead, an existing
>>     "reserved-memory" node will be used to limit usable memory ranges
>>     on crash dump kernel.
>>     This works not only on UEFI/ACPI systems but also on DT-only systems,
>>     but if he really insists on using DT-specific "usable-memory" property,
>>     I will post additional patches for kexec-tools. Those would be
>>     redundant, though.
>>     Even in that case, the kernel will not have to be changed.
>
> Some narrative on how the old memory ranges get reserved, as there is no longer
> any code in the series doing this, (which is pretty neat!):
>
> kexec-tools parses the list of memory ranges in /proc/iomem, and adds a node to
> the /reserved-memory for System RAM ranges that don't cover the crash kernel.
> Decompiling the crash-kernel DT from Seattle, it looks roughly like this:
>
>         reserved-memory {
>                 ranges;
>                 #size-cells = <0x2>;
>                 #address-cells = <0x2>;
>
>                 crash_dump@83ffe50000 {
>                         no-map;
>                         reg = <0x83 0xffe50000 0x0 0x1b0000>;
>                 };
>
>                 [ ... ]
>         };
>
>
> 'no-map' means its doing the same thing to memblock as
> 'linux,usable-memory-range' did in earlier versions,
> early_init_dt_reserve_memory_arch() takes no-map to mean memblock_remove().
> We trigger the removing via early_init_fdt_scan_reserved_mem() in
> arch/arm64/mm/init.c. This happens later than before, but its before the
> crashkernel and cma ranges get reserved.
>
> One difference I can see is that before we avoided memblock_remove()ing ranges
> that were also in memblock.nomap. This was to avoid the ACPI tables getting
> mapped as device memory by mistake, this is fixed by [1]. Now these ranges are
> published in /proc/iomem as 'reserved' and won't get covered by a
> reserved-memory node, and so we don't need to check memblock.nomap when
> memblock_remove()ing.
>
>
> The only odd thing I can see is for a (mythical?) pure-ACPI system. The EFI stub
> will create a DT with a chosen node containing pointers to the memory map and
> the efi command line. Now such as system may also grow a /reserved-memory node
> after kdump. I don't think this is a problem, but it may not match how an
> acpi-only system reserves memory. (how does that work?)
>
>
>> [1] "arm64: mark reserved memblock regions explicitly in iomem"
>>     http://lists.infradead.org/pipermail/linux-arm-kernel/2016-August/450433.html
>
> This is queued in Will's arm64/for-next/core,
>
>> [2] "efi: arm64: treat regions with WT/WC set but WB cleared as memory"
>>     http://lists.infradead.org/pipermail/linux-arm-kernel/2016-August/451491.html
>
> This is queued in tip, but I can't see why kdump depends on it. It only has an
> effect if the uefi memory map has !WB regions that linux needs to use.
>
>
>
> Thanks,
>
> James
>

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

  reply	other threads:[~2016-09-16 20:17 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-07  4:29 [PATCH v26 0/7] arm64: add kdump support AKASHI Takahiro
2016-09-07  4:29 ` AKASHI Takahiro
2016-09-07  4:29 ` [PATCH v26 1/7] arm64: kdump: reserve memory for crash dump kernel AKASHI Takahiro
2016-09-07  4:29   ` AKASHI Takahiro
2016-09-22 10:23   ` Matthias Bruger
2016-09-22 10:23     ` Matthias Bruger
2016-09-23  8:37     ` AKASHI Takahiro
2016-09-23  8:37       ` AKASHI Takahiro
2016-09-07  4:29 ` [PATCH v26 2/7] arm64: kdump: implement machine_crash_shutdown() AKASHI Takahiro
2016-09-07  4:29   ` AKASHI Takahiro
2016-09-14 18:09   ` James Morse
2016-09-14 18:09     ` James Morse
2016-09-15  8:13     ` Marc Zyngier
2016-09-15  8:13       ` Marc Zyngier
2016-09-16  3:21     ` AKASHI Takahiro
2016-09-16  3:21       ` AKASHI Takahiro
2016-09-16 14:49       ` James Morse
2016-09-16 14:49         ` James Morse
2016-09-20  7:36         ` AKASHI Takahiro
2016-09-20  7:36           ` AKASHI Takahiro
2016-09-07  4:29 ` [PATCH v26 3/7] arm64: kdump: add kdump support AKASHI Takahiro
2016-09-07  4:29   ` AKASHI Takahiro
2016-09-16 14:50   ` James Morse
2016-09-16 14:50     ` James Morse
2016-09-20  7:46     ` AKASHI Takahiro
2016-09-20  7:46       ` AKASHI Takahiro
2016-09-22 15:50   ` Matthias Brugger
2016-09-22 15:50     ` Matthias Brugger
2016-09-07  4:29 ` [PATCH v26 4/7] arm64: kdump: add VMCOREINFO's for user-space coredump tools AKASHI Takahiro
2016-09-07  4:29   ` AKASHI Takahiro
2016-09-16 16:04   ` James Morse
2016-09-16 16:04     ` James Morse
2016-09-07  4:29 ` [PATCH v26 5/7] arm64: kdump: enable kdump in the arm64 defconfig AKASHI Takahiro
2016-09-07  4:29   ` AKASHI Takahiro
2016-09-07  4:29 ` [PATCH v26 6/7] arm64: kdump: update a kernel doc AKASHI Takahiro
2016-09-07  4:29   ` AKASHI Takahiro
2016-09-16 16:08   ` James Morse
2016-09-16 16:08     ` James Morse
2016-09-20  8:27     ` AKASHI Takahiro
2016-09-20  8:27       ` AKASHI Takahiro
2016-09-26 17:21     ` Matthias Brugger
2016-09-26 17:21       ` Matthias Brugger
     [not found] ` <20160907042908.6232-1-takahiro.akashi-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-09-07  4:32   ` [PATCH v26 7/7] Documentation: dt: chosen properties for arm64 kdump AKASHI Takahiro
2016-09-07  4:32     ` AKASHI Takahiro
2016-09-07  4:32     ` AKASHI Takahiro
     [not found]     ` <20160907043203.6309-1-takahiro.akashi-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-09-16 13:03       ` Rob Herring
2016-09-16 13:03         ` Rob Herring
2016-09-16 13:03         ` Rob Herring
2016-09-07  4:37 ` [PATCH v26 0/7] arm64: add kdump support AKASHI Takahiro
2016-09-07  4:37   ` AKASHI Takahiro
2016-09-16 16:04 ` James Morse
2016-09-16 16:04   ` James Morse
2016-09-16 20:17   ` Ard Biesheuvel [this message]
2016-09-16 20:17     ` Ard Biesheuvel
2016-09-19 16:05     ` James Morse
2016-09-19 16:05       ` James Morse
2016-09-19 16:10       ` Ard Biesheuvel
2016-09-19 16:10         ` Ard Biesheuvel
2016-09-21  7:42       ` AKASHI Takahiro
2016-09-21  7:42         ` AKASHI Takahiro
2016-09-21  7:33   ` AKASHI Takahiro
2016-09-21  7:33     ` AKASHI Takahiro
2016-10-03  7:54 ` Manish Jaggi
2016-10-03  7:54   ` Manish Jaggi
2016-10-03 11:04   ` AKASHI Takahiro
2016-10-03 11:04     ` AKASHI Takahiro
2016-10-03 12:41     ` Manish Jaggi
2016-10-03 12:41       ` Manish Jaggi
2016-10-04  2:56       ` AKASHI Takahiro
2016-10-04  2:56         ` AKASHI Takahiro
2016-10-04  9:46       ` James Morse
2016-10-04  9:46         ` James Morse
2016-10-04 10:05         ` Manish Jaggi
2016-10-04 10:05           ` Manish Jaggi
2016-10-04 10:53           ` James Morse
2016-10-04 10:53             ` James Morse
2016-10-04 13:23             ` Manish Jaggi
2016-10-04 13:23               ` Manish Jaggi
2016-10-05  5:48               ` AKASHI Takahiro
2016-10-05  5:48                 ` AKASHI Takahiro
2016-10-05  5:41         ` AKASHI Takahiro
2016-10-05  5:41           ` AKASHI Takahiro
2016-10-04 10:18       ` Mark Rutland
2016-10-04 10:18         ` Mark Rutland
2016-10-17 15:41 ` Ruslan Bilovol
2016-10-17 15:41   ` Ruslan Bilovol
2016-10-18  6:26   ` AKASHI Takahiro
2016-10-18  6:26     ` AKASHI Takahiro
2016-11-01 12:19     ` Ruslan Bilovol
2016-11-01 12:19       ` Ruslan Bilovol

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=CAKv+Gu_UvFnPtFHggaO6Z_ePuArdchEK1qYWPkkwpcgLus3Epw@mail.gmail.com \
    --to=ard.biesheuvel@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.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 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.