From: Bjorn Helgaas <bjorn.helgaas@hp.com>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
Jesse Barnes <jbarnes@virtuousgeek.org>,
Thomas Gleixner <tglx@linutronix.de>,
Linus Torvalds <torvalds@linux-foundation.org>,
Ingo Molnar <mingo@elte.hu>, Matthew Garrett <mjg@redhat.com>
Subject: Re: [PATCH] x86/PCI: never allocate PCI space from the last 1M below 4G
Date: Mon, 29 Nov 2010 15:04:40 -0700 [thread overview]
Message-ID: <201011291504.40536.bjorn.helgaas@hp.com> (raw)
In-Reply-To: <4CF41C89.9060708@zytor.com>
On Monday, November 29, 2010 02:35:05 pm H. Peter Anvin wrote:
> On 11/29/2010 01:32 PM, Bjorn Helgaas wrote:
> >
> > Oops, egg on my face. In this case, there *is* an ACPI INT0800 device
> > at 0xff000000-0xffffffff, which should prevent us from allocating that
> > space for anything else. Only problem is, we IGNORE that useful bit of
> > information.
>
> Eep... why?
We have always ignored ACPI device resource information (except for
PNP0C01 and PNP0C02 motherboard devices). There are a number of issues
in the way: conflicts with the hardcoded assumptions about legacy
devices, init ordering (e.g., we currently initialize PCI before
PNPACPI), ACPI resource interpretation (e.g., we don't do it the way
Windows does so we trip over BIOS bugs), the E820 mess (E820 is non-
hierarchical, but we wedge it into the iomem_resource tree anyway),
etc.
I've been working on these for the last few years, but we aren't
there yet.
> >> It is certainly reasonable to block off the last chunk of the 32-bit
> >> address space. Some systems double-decode it to avoid issues with
> >> A20M#, so I would argue that we should avoid at least 2 MiB.
> >>
> >> As far as discovering them from the BIOS, there is a way to do it --
> >> E820. This is a fallback for the case where the BIOS has plain and
> >> simply failed to provide it, and so a heuristic is probably the best we
> >> can do. Probing is extremely unsafe.
> >
> > I think it's clearly a bug that Linux ignores ACPI resource information
> > (except PNP0C01/PNP0C02 motherboard devices). If we fix that bug, it
> > will fix Matthew's 2530p.
>
> I would definitely agree with that.
>
> > We might still want a patch like this current one because it could
> > work around some BIOS defects, and because I think it's too late to
> > fix the ACPI resource problem for .37. But I'm not convinced we
> > should reserve more than Windows does, because that may keep us from
> > discovering other important Linux problems.
>
> I'm not so sure about that... it feels like a pretty weak argument that
> we might work on some machines even though our code isn't perfect.
I think we're talking about whether to reserve the top 1MB or top 2MB.
I freely admit I don't know the right answer. My point is merely that
since we're using a heuristic anyway, copying Windows is a pretty good
starting point. In my mind, doing something different requires a
stronger argument than "it might fix some machines where Windows is
broken."
Bjorn
next prev parent reply other threads:[~2010-11-29 22:04 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-29 18:30 Bjorn Helgaas
2010-11-29 18:36 ` Matthew Garrett
2010-11-29 20:34 ` Bjorn Helgaas
2010-11-29 18:51 ` H. Peter Anvin
2010-11-29 21:32 ` Bjorn Helgaas
2010-11-29 21:35 ` H. Peter Anvin
2010-11-29 22:04 ` Bjorn Helgaas [this message]
2010-11-29 22:10 ` H. Peter Anvin
2010-12-03 1:19 ` Linus Torvalds
2010-12-03 15:15 ` Bjorn Helgaas
2010-12-09 16:54 ` Bjorn Helgaas
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=201011291504.40536.bjorn.helgaas@hp.com \
--to=bjorn.helgaas@hp.com \
--cc=hpa@zytor.com \
--cc=jbarnes@virtuousgeek.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mjg@redhat.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.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®