mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
To: "Amadeusz Sławiński" <amadeuszx.slawinski@linux.intel.com>,
	x86@kernel.org, "Thomas Gleixner" <tglx@linutronix.de>,
	"Ingo Molnar" <mingo@redhat.com>,
	"Borislav Petkov" <bp@alien8.de>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>
Cc: <linux-kernel@vger.kernel.org>,
	Cezary Rojewski <cezary.rojewski@intel.com>,
	Linux PM <linux-pm@vger.kernel.org>
Subject: Re: [PATCH] x86: Preserve ACPI memory area during hibernation
Date: Mon, 14 Feb 2022 20:34:07 +0100	[thread overview]
Message-ID: <59ef4cd5-5703-2356-c893-9858985f91e0@intel.com> (raw)
In-Reply-To: <20220121103938.2602637-1-amadeuszx.slawinski@linux.intel.com>

On 1/21/2022 11:39 AM, Amadeusz Sławiński wrote:
> When overriding NHLT ACPI-table tests show that on some platforms
> there is problem that NHLT contains garbage after hibernation/resume
> cycle.
>
> Problem stems from the fact that ACPI override performs early memory
> allocation using memblock_phys_alloc_range() in
> memblock_phys_alloc_range(). This memory block is later being marked as
> ACPI memory block in arch_reserve_mem_area(). Later when memory areas
> are considered for hibernation it is being marked as nosave in
> e820__register_nosave_regions().
>
> Fix this by skipping ACPI memory area altogether when considering areas
> to mark as nosave.

This patch looks correct to me and I'm going to apply it as 5.18 
material unless there are any objections or concerns (in which case 
please let me know).


> Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
> Reviewed-by: Cezary Rojewski <cezary.rojewski@intel.com>
> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> ---
>   arch/x86/kernel/e820.c | 12 ++++++++++++
>   1 file changed, 12 insertions(+)
>
> diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c
> index bc0657f0deed..88c1b785ffe4 100644
> --- a/arch/x86/kernel/e820.c
> +++ b/arch/x86/kernel/e820.c
> @@ -758,6 +758,18 @@ void __init e820__register_nosave_regions(unsigned long limit_pfn)
>   	for (i = 0; i < e820_table->nr_entries; i++) {
>   		struct e820_entry *entry = &e820_table->entries[i];
>   
> +		/*
> +		 * Areas containing ACPI tables should be preserved during
> +		 * hibernation to prevent potential problems caused by BIOS
> +		 * upgrades when offline, as well as to preserve initrd
> +		 * ACPI tables overrides which are applied on boot.
> +		 * See also acpi_table_upgrade() & arch_reserve_mem_area()
> +		 */
> +		if (entry->type == E820_TYPE_ACPI) {
> +			pfn = PFN_UP(entry->addr + entry->size);
> +			continue;
> +		}
> +
>   		if (pfn < PFN_UP(entry->addr))
>   			register_nosave_region(pfn, PFN_UP(entry->addr));
>   



  reply	other threads:[~2022-02-14 19:45 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-21 10:39 Amadeusz Sławiński
2022-02-14 19:34 ` Rafael J. Wysocki [this message]
2022-02-15 12:22   ` Amadeusz Sławiński
2022-02-15 14:10     ` Rafael J. Wysocki

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=59ef4cd5-5703-2356-c893-9858985f91e0@intel.com \
    --to=rafael.j.wysocki@intel.com \
    --cc=amadeuszx.slawinski@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=cezary.rojewski@intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --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

all inboxes | Powered by JetHome®