All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ross Dickson <ross@datscreative.com.au>
To: ross.biro@gmail.com
Cc: linux-kernel@vger.kernel.org, root@chaos.analogic.com
Subject: Re: Kernel writes to RAM it doesn't own on 2.4.24
Date: Sat, 17 Apr 2004 14:40:18 +1000	[thread overview]
Message-ID: <200404171440.18829.ross@datscreative.com.au> (raw)

On Fri, 16 Apr 2004, Ross Biro wrote: 

> On Fri, 16 Apr 2004, Richard B. Johnson wrote: 
> > 
> > On Fri, 16 Apr 2004, Ross Biro wrote: 
> > 
> > > mem= isn't there to tell the kernel what ram it owns and what ram it 
> > > doesn't own. It's there to tell the kernel what ram is in the system. 
> > > Since you told the system it only has 500m, it assumes the rest of 
> > > the 3.5G of address space is available for things like memory mapped 
> > > i/o. If you cat /proc/iomem, you'll probably see something has 
> > > reserved the memory range in question. 
> > > 
> > 
> > No! This is address space, not RAM. Whether or not a PCI device 
> > or whatever has internal RAM that's mapped makes no difference. 
> > 
> > I told the kernel that it has 500m of RAM. It better not assume 
> > I don't know what I'm talking about. I might have reserved that 
> > RAM because it's bad or I may have something else important to 
> > do with that RAM (which I do). 
 


> The problem is that the kernel does assume you know what you are 
> talking about, and you don't. You are abusing the mem= parameter. 
> That's fine, but then you have to tell the kernel what you really 
> mean. What you really want to say is there is memory above 500M and I 
> don't want you to touch it. There may be a way to do that via the 
> fancy mem=@ parameters. 
 


> What mem= tells the kernel is that there is RAM in a certain spot an 
>  no where else. Since you told the kernel there is no ram about 500M, 
> that means that address space is free to be used for memory mapped 
> I/O. Since the kernel trusts you, it started using the memory above 
> 500m for memory mapped i/o. Since you LIED to the kernel, you are 
> getting results you do not like. The solution I settled on was to 
> tell the kernel that people LIE to it and only use memory for I/O if 
> both the BIOS and the USER agree that it's available. You have to 
> find a way to tell the kernel the TRUTH, or you will never get the 
> results you want. 
> - 


This is all most enlightening. If I am understanding correctly then every
device driver that the author specifies to use a "mem=" command to 
reserve some memory for said drivers use at the upper part of physical
memory is stuffed by design. 

I thought it was a valid technique? I never questioned it because there is
a history of its use -I think the early bttv driver was written this way.

I have been debugging an oops on a system which uses the open source
driver for the Matrox MeteorII multichannel available from,
http://www.emlix.com/index.php?id=158
This driver uses the technique and I am getting a corrupted slab free list. 

Ross B, could I please have details of your mem bios hack please so I can try
it as a workaround.

Regards
Ross Dickson




             reply	other threads:[~2004-04-17  4:36 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-17  4:40 Ross Dickson [this message]
2004-04-17 12:40 ` Kernel writes to RAM it doesn't own on 2.4.24 Ross Biro
2004-04-20 16:46   ` Ross Biro
2004-04-17 20:21 ` H. Peter Anvin
  -- strict thread matches above, loose matches on Subject: below --
2004-04-16 15:55 Richard B. Johnson
2004-04-16 16:09 ` Ross Biro
2004-04-16 16:55   ` Richard B. Johnson
2004-04-16 17:07     ` Ross Biro

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=200404171440.18829.ross@datscreative.com.au \
    --to=ross@datscreative.com.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=root@chaos.analogic.com \
    --cc=ross.biro@gmail.com \
    /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.