From: Chuck Ebbert <cebbert@redhat.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel <linux-kernel@vger.kernel.org>,
Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
Daniel Ritz <daniel.ritz@gmx.ch>, Greg KH <greg@kroah.com>
Subject: Re: PCI resource problems caused by improper address rounding
Date: Tue, 18 Dec 2007 12:34:01 -0500 [thread overview]
Message-ID: <47680489.6040809@redhat.com> (raw)
In-Reply-To: <alpine.LFD.0.9999.0712171648150.21557@woody.linux-foundation.org>
On 12/17/2007 07:57 PM, Linus Torvalds wrote:
>
> On Mon, 17 Dec 2007, Chuck Ebbert wrote:
>> Looks like a commit that I can't find in git due to the arch merge
>> has broken PCI address assignment. This patch by Richard Henderson
>> against 2.6.23 fixes it for x86_64:
>>
>> --- linux-2.6.23.x86_64/arch/x86_64/kernel/e820.c 2007-10-09 13:31:38.000000000 -0700
>> +++ linux-2.6.23.x86_64-rth/arch/x86_64/kernel/e820.c 2007-12-15 12:37:44.000000000 -0800
>> @@ -718,8 +718,8 @@ __init void e820_setup_gap(void)
>> while ((gapsize >> 4) > round)
>> round += round;
>> /* Fun with two's complement */
>> - pci_mem_start = (gapstart + round) & -round;
>> + pci_mem_start = (gapstart + round - 1) & -round;
>
> No, it's very much meant to be that way.
>
> We do *not* want to have the PCI memory abutthe end of memory exactly. So
> it leaves a gap in between "gapstart" and the actual start of PCI memory
> addressing very much on purpose.
>
> In fact, the very commit (it's f0eca9626c6becb6fc56106b2e4287c6c784af3d in
> the kernel tree) you mention actually explicitly *explains* that, although
> maybe it's a bit indirect: if you start allocating PCI resources directly
> after the end-of-RAM thing, you can easily end up using addresses that are
> actually inside the magic stolen system RAM that is being used for UMA
> video etc.
>
> So you very much want to have a buffer in between the end-of-RAM and the
> actual start of the region we try to allocate in.
>
> So why do you want them to be close, anyway?
>
Because otherwise some video adapters with 256MB of memory end up with their
resources allocated above 4GB, and that doesn't work very well.
https://bugzilla.redhat.com/show_bug.cgi?id=425794#c0
>
> PS. On a different topic: if you do
>
> git log --follow arch/x86/kernel/e820_64.c
>
> you'd see the history past the renames in git. Or just do a "git blame -C"
> which will also follow renames (and copies).
The history in the web interface just ends at the rename.
next prev parent reply other threads:[~2007-12-18 17:34 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-18 0:25 PCI resource problems caused by improper address rounding Chuck Ebbert
2007-12-18 0:57 ` Linus Torvalds
2007-12-18 17:34 ` Chuck Ebbert [this message]
2007-12-18 18:21 ` Linus Torvalds
2007-12-18 20:22 ` Richard Henderson
2007-12-18 21:09 ` Linus Torvalds
2007-12-18 21:46 ` Chuck Ebbert
2007-12-18 21:56 ` Linus Torvalds
2007-12-18 22:17 ` Richard Henderson
2007-12-18 21:51 ` Richard Henderson
2007-12-18 22:31 ` Linus Torvalds
2007-12-19 1:38 ` Linus Torvalds
2007-12-20 21:52 ` Richard Henderson
2007-12-20 22:24 ` Linus Torvalds
2007-12-21 0:39 ` Richard Henderson
2007-12-21 1:00 ` Linus Torvalds
2007-12-21 2:28 ` Benjamin Herrenschmidt
2007-12-18 22:16 ` Keith Packard
2007-12-19 0:29 ` Bjorn Helgaas
2007-12-18 21:23 ` Ivan Kokshaysky
2007-12-18 21:46 ` Linus Torvalds
2007-12-20 8:46 ` Ivan Kokshaysky
2007-12-20 21:21 ` Benjamin Herrenschmidt
2007-12-22 9:12 ` Andrew Morton
2007-12-22 9:20 ` Andrew Morton
2007-12-20 21:10 ` Benjamin Herrenschmidt
2007-12-22 9:22 ` Andrew Morton
[not found] <fa.WmGIH8th8MfmciABVSBi6whxeFE@ifi.uio.no>
[not found] ` <fa.Obg5E3fyax+MaF94//uo40q/Zyk@ifi.uio.no>
[not found] ` <fa./6K5nXEIpws4VU8HtJhQjF4AoGg@ifi.uio.no>
[not found] ` <fa.V82IIxMkW3eu+9B44NfoyYYQDP4@ifi.uio.no>
[not found] ` <fa.DM9AyNQQtam66XpKVeXeqS639os@ifi.uio.no>
[not found] ` <fa.f5O3U527Rv8DNk05hDFRjdCaeFE@ifi.uio.no>
2007-12-19 0:11 ` Robert Hancock
2007-12-19 0:55 ` Chuck Ebbert
2007-12-19 1:12 ` Richard Henderson
2007-12-19 3:12 ` Linus Torvalds
[not found] ` <fa.PJGSMm4TIW6lRYng/jDqooIvj8U@ifi.uio.no>
[not found] ` <fa.0UHHdYi5zqyJ2xOPhNk/BhJkxYM@ifi.uio.no>
2007-12-19 0:18 ` Robert Hancock
2007-12-19 0:38 ` Robert Hancock
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=47680489.6040809@redhat.com \
--to=cebbert@redhat.com \
--cc=daniel.ritz@gmx.ch \
--cc=greg@kroah.com \
--cc=ink@jurassic.park.msu.ru \
--cc=linux-kernel@vger.kernel.org \
--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 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.