public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Russell King <rmk+lkml@arm.linux.org.uk>
To: David Hinds <dhinds@sonic.net>
Cc: linux-kernel@vger.kernel.org, Amit <mehrotraamit@yahoo.co.in>
Subject: Re: PCI memory allocation bug with CONFIG_HIGHMEM
Date: Mon, 5 Jan 2004 23:00:16 +0000	[thread overview]
Message-ID: <20040105230016.D11207@flint.arm.linux.org.uk> (raw)
In-Reply-To: <20040105120707.A18107@sonic.net>; from dhinds@sonic.net on Mon, Jan 05, 2004 at 12:07:07PM -0800

On Mon, Jan 05, 2004 at 12:07:07PM -0800, David Hinds wrote:
> 
> In arch/i386/kernel/setup.c we have:
> 
> 	/* Tell the PCI layer not to allocate too close to the RAM area.. */
> 	low_mem_size = ((max_low_pfn << PAGE_SHIFT) + 0xfffff) & ~0xfffff;
> 	if (low_mem_size > pci_mem_start)
> 		pci_mem_start = low_mem_size;
> 
> which is meant to round up pci_mem_start to the nearest 1 MB boundary
> past the top of physical RAM.  However this does not consider highmem.
> Should this just be using max_pfn rather than max_low_pfn?
> 
> (I have a report of this failing on a laptop with a highmem kernel,
> causing a PCI memory resource to be allocated on top of a RAM area)

Beware - people sometimes use mem= to tell the kernel how much RAM is
available for its use.  Unfortunately, this overrides the E820 map,
and causes the kernel to believe that all memory above the end of RAM
is available for use.

This is not the case, especially on ACPI systems.

I have come to the conclusion that the use of mem= is a _very_ bad idea
unless someone has an extremely good reason to override the E820 map.
And even then, it must be used with extreme care, and also in combination
with the reserve= parameter to ensure that reserved memory areas remain
marked as such.  (Reserved regions as in the ACPI data tables.)

Failure to follow this will result in non-functional PCMCIA/Cardbus
because of memory resource collisions between system RAM and PCI
memory space.

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 PCMCIA      - http://pcmcia.arm.linux.org.uk/
                 2.6 Serial core

  reply	other threads:[~2004-01-05 23:03 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-05 20:07 PCI memory allocation bug with CONFIG_HIGHMEM David Hinds
2004-01-05 23:00 ` Russell King [this message]
2004-01-05 23:45   ` David Hinds
2004-01-06  0:36 ` Linus Torvalds
2004-01-06  0:44   ` David Hinds
2004-01-06  1:11     ` Linus Torvalds
2004-01-06  1:41       ` Linus Torvalds
     [not found] <1aJdi-7TH-25@gated-at.bofh.it>
2004-01-06  3:32 ` Andi Kleen
2004-01-06  3:40   ` Linus Torvalds
2004-01-06  4:05     ` Andi Kleen
2004-01-06  5:04       ` Linus Torvalds
2004-01-06  8:12         ` Andi Kleen
2004-01-06  9:11           ` Mika Penttilä
2004-01-06  9:44             ` Andi Kleen
2004-01-06 10:16               ` Mika Penttilä
2004-01-06 10:49                 ` Andi Kleen
2004-01-06 15:27               ` Linus Torvalds
2004-01-06 15:37                 ` Andi Kleen
2004-01-06 15:48                   ` Linus Torvalds
2004-01-06 22:29                     ` Adam Belay
2004-01-07  4:06                       ` Linus Torvalds
2004-01-07  5:02                         ` Andi Kleen
2004-01-07  5:55                           ` Dave Jones
2004-01-07  6:06                             ` Linus Torvalds
2004-01-07  6:08                               ` Dave Jones
2004-01-07  6:45                                 ` Linus Torvalds
2004-01-07  6:51                             ` Andi Kleen
2004-01-07  2:43                               ` Adam Belay
2004-01-07  8:32                       ` Helge Hafting
2004-01-06 22:45                   ` Eric W. Biederman
2004-01-07  0:06                     ` Linus Torvalds
2004-01-07  4:58                       ` Eric W. Biederman
2004-01-07  5:32                         ` Linus Torvalds
2004-01-07 15:53                           ` Eric W. Biederman
2004-01-07 16:32                             ` Linus Torvalds
2004-01-07 17:32                               ` Eric W. Biederman
2004-01-08 19:34                               ` Eric W. Biederman
2004-01-07  9:31                         ` Russell King
2004-01-07 15:06                           ` Eric W. Biederman
2004-01-07 20:29                             ` Russell King
2004-01-06 22:56     ` Eric W. Biederman

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=20040105230016.D11207@flint.arm.linux.org.uk \
    --to=rmk+lkml@arm.linux.org.uk \
    --cc=dhinds@sonic.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mehrotraamit@yahoo.co.in \
    /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