Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Nov 2001 09:09:00 -0500 (EST)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        Yoriaki FUJIMORI <fujimori@grafin.fujimori.cache.waseda.ac.jp>
Cc:        freebsd-alpha@FreeBSD.ORG
Subject:   Re: 4GB memory on FreeBSD
Message-ID:  <15337.16508.292875.995398@grasshopper.cs.duke.edu>
In-Reply-To: <200111071152.fA7BqQm16675@grafin.fujimori.cache.waseda.ac.jp>
References:  <200111071152.fA7BqQm16675@grafin.fujimori.cache.waseda.ac.jp>

next in thread | previous in thread | raw e-mail | index | archive | help

Yoriaki FUJIMORI writes:
 > 
 > I have got a user's manual of up1500.  It is quiet realistic
 > to install full 4GB memory on that beast.
 > But, if my memory is correct, FreeBSD supports only upto 2GB
 > memory.  I wonder when this barrier will be overcome.


Where did you get the manual? I'd like to see it..

If the UP1500 is like the UP1[01]00, then more than 2GB should not be
a problem.  Here's why:

The problem that we run into for more than 1GB or 2GB of ram is that
most non-scsi FreeBSD drivers do not take advantage of busdma.  This
means they cannot use the scatter/gather facilities built into most
alpha pci chipsets, and they must use the direct map.  This direct map
is limited to 1 or 2 GB (platform dependent).

The scatter/gather facilities are a two edged sword.  On one hand,
they allow 32-bit PCI devices to DMA to any address in a machine with
more than 4GB of RAM (assuming the driver has used busdma to create an
entry in the chipset's s/g hardware corresponding to that address).  On
the other hand, they limit the size of the direct map (non s/g dma) to
something less than the 4GB which would normally be addressable by a
32-bit pci device.

The interesting thing about the UP1[01]00 (and I suspect the UP1500)
is that they use what is essentially an Athlon chipset which has no
s/g hardware. This means that the size of the direct map is 4GB.

Of course, it also means that ISA dma must be done via bounce buffers
like it is on x86, not via s/g mappings like on most other alpha
platforms.  We may run into more problems with bounce buffer
allocation (like you first saw with 768MB on your UP1100) as we
increase the memory size.  I think most of these problems were fixed
when I changed where the vm_page_array and vm_page_buckets were
allocated from to fix bounce buffer allocation last spring.

Cheers,

Drew


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15337.16508.292875.995398>