From: Andrew Morton <akpm@linux-foundation.org>
To: Pavel Machek <pavel@suse.cz>
Cc: linux-kernel@vger.kernel.org, mingo@elte.hu,
davej@codemonkey.org.uk, andi@firstfloor.org,
Thomas Gleixner <tglx@linutronix.de>
Subject: Re: aperture_64.c: corner case wrong
Date: Mon, 2 Jun 2008 15:30:33 -0700 [thread overview]
Message-ID: <20080602153033.2d1672f0.akpm@linux-foundation.org> (raw)
In-Reply-To: <20080526191730.GA18425@elf.ucw.cz>
On Mon, 26 May 2008 21:17:30 +0200
Pavel Machek <pavel@suse.cz> wrote:
>
> If
>
> fix == 0, aper_enabled == 1, gart_fix_e820 == 0
>
> if (!fix && !aper_enabled)
> return;
>
> if (gart_fix_e820 && !fix && aper_enabled) {
> if (e820_any_mapped(aper_base, aper_base + aper_size,
> E820_RAM)) {
> /* reserve it, so we can reuse it in second
> kernel */
> printk(KERN_INFO "update e820 for GART\n");
> add_memory_region(aper_base, aper_size,
> E820_RESERVED);
> update_e820();
> }
> return;
> }
>
> /* different nodes have different setting, disable them all atfirst*/
>
> we'll fall back here and disable all the settings, even when they were
> all consistent.
>
> What about this? (I hope it compiles...)
>
> Signed-off-by: Pavel Machek <pavel@suse.cz>
>
>
> diff --git a/arch/x86/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c
> index 02f4dba..aa4876a 100644
> --- a/arch/x86/kernel/aperture_64.c
> +++ b/arch/x86/kernel/aperture_64.c
> @@ -344,14 +323,16 @@ out:
> if (gart_fix_e820 && !fix && aper_enabled) {
> if (!e820_all_mapped(aper_base, aper_base + aper_size,
> E820_RESERVED)) {
> /* reserve it, so we can reuse it in second kernel */
> printk(KERN_INFO "update e820 for GART\n");
> add_memory_region(aper_base, aper_size, E820_RESERVED);
> update_e820();
> }
> - return;
> }
>
> + if (!fix)
> + return;
> +
> /* different nodes have different setting, disable them all at first*/
> for (i = 0; i < ARRAY_SIZE(bus_dev_ranges); i++) {
> int bus;
>
So what happened with this? Thomas has merged an "x86: aperture_64.c:
cleanups" from yourself but it appears that half of this bugfix got
applied somewhere and the below part did not?
diff -puN arch/x86/kernel/aperture_64.c~aperture_64c-corner-case-wrong arch/x86/kernel/aperture_64.c
--- a/arch/x86/kernel/aperture_64.c~aperture_64c-corner-case-wrong
+++ a/arch/x86/kernel/aperture_64.c
@@ -331,6 +331,9 @@ out:
return;
}
+ if (!fix)
+ return;
+
/* different nodes have different setting, disable them all at first*/
for (i = 0; i < ARRAY_SIZE(bus_dev_ranges); i++) {
int bus;
_
next prev parent reply other threads:[~2008-06-02 22:31 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-26 19:17 Pavel Machek
2008-05-27 0:18 ` Yinghai Lu
2008-05-27 9:06 ` Pavel Machek
2008-06-02 22:30 ` Andrew Morton [this message]
2008-06-03 13:54 ` Thomas Gleixner
2008-06-04 10:44 ` Ingo Molnar
2008-06-04 10:48 ` Thomas Gleixner
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=20080602153033.2d1672f0.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=davej@codemonkey.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=pavel@suse.cz \
--cc=tglx@linutronix.de \
/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
Powered by JetHome