lkml.org 
[lkml]   [2003]   [Sep]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: experiences beyond 4 GB RAM with 2.4.22
On Wed, Sep 17 2003, Rogier Wolff wrote:
> On Wed, Sep 17, 2003 at 12:26:29PM +0200, Jens Axboe wrote:
> > On Wed, Sep 17 2003, Rogier Wolff wrote:
> > > On Tue, Sep 16, 2003 at 03:36:14PM +0100, Alan Cox wrote:
> > > > I/O is a real pain. Also in some cases it might be interesting to try
> > > > using the extra RAM above the 4G boundary as a giant ram disk and using
> > > > it as first swap device.
> > >
> > > 4G? Above 4G? The limit should be configurable a lot earlier.
> > >
> > > I'd want to configure that on the machines I'm installing tomorrow.
> > > 4G RAM, but I'd rather not use the highmem stuff. I think the workload
> > > that this machine is likely to get will work very well with this setup.
> > >
> > > Why does this have the opportunity to work better than just using the
> > > 2 or 4G of RAM? Because after you've used the bottom 1G, that might
> > > just remain there, requiring lots of IO to go through bounce buffers
> > > and memory remappings. By considering the top part of RAM as swap,
> ^^^^^^^^^^^^^^^^^
> > > you'll force the important stuff into the more easily accessable
> > > RAM (Compare to fastram as it was called on the Amiga!).
> >
> > You are misunderstanding the problem. You don't use bounce buffers just
> > because the page happens to reside in high memory, it is only used if
> > the hardware cannot DMA to it. And that is exactly the problem here with
> > the 3ware adapter, it cannot dma to > 4GB. So in a 6GB setup (with
> > potentially 5G of highmem), only the last 2G requires bouncing.
>
> As I understand things (But this is from following discussions on
> linux-kernel from afar, not from personal poking at the code!) there
> is also a performance penalty for the kernel not having direct
> physically mapped access to RAM. We map up to 3G of virtual memory of
> userspace, and up to 1Gb of physical RAM into the kernel memory map
> for performance reasons. So if I have 2G RAM and want to keep 3G
> userspace, I have to use some "highmem" stuff right?
>
> This will not directly require the use of bounce buffers, but it will
> require the kernel to remap regions when it needs to access them.

That is completely correct. Your original post just didn't make this
distinction, and there is an order of magnitude performance difference
between kmap() and bouncing! :)

> If this doesn't have a performance impact, why do I have the option of
> directly mapping 1G, 2G, or 3G?

It does cost something of course, but not nearly as expensive as bounce
buffering. You cannot compare the two.

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:48    [W:0.081 / U:0.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site