Thread (8 messages) 8 messages, 4 authors, 2003-09-13

Re: Large framebuffers and HIGHMEM systems

From: Sven Luther <hidden>
Date: 2003-09-10 15:56:40

On Wed, Sep 10, 2003 at 08:01:00AM -0700, Jon Smirl wrote:
quoted hunk ↗ jump to hunk
--- Geert Uytterhoeven <geert@linux-m68k.org> wrote:
quoted
Or modify ioremap() to print the message? This problem is not only limited to
frame buffer devices, but to every driver that needs to ioremap() large
regions, right?
ioremap() is supposed to map the region into the bottom 1GB or fail. After
ioremap() fails you need to use a different API to map to the highmem regions.
The way Linux is set up there is always about 20-30MB of free address space
below 1GB. All of the hardware I've seen can map into that space. The only
exception is the huge amount of address space needed for kernel mapped video
frame buffers.

Memory below 1GB is important to the kernel for keeping page tables. Page table
can be pushed above 1GB but you incur performance penalties. There is no
problem creating a 256MB hole with reserve=XXXX in the 1GB address space to
allow the latest ATI/NV cards to run with framebuffers; but doing this will
slow your system down. It is also a very non-obvious solution to why a
framebuffer fails to load.

I don't think we should be forcing non-performance sensitve framebuffer memory
into the bottom 1GB and pushing performance sensitive page tables into highmem.
Besides, we are going that have to do something, we are likely to have 1GB
video cards two years from now.
We already have 512MB ones, i guess you will not have to wait for as
long as two years for 1GB video cards.

Friendly,

Sven Luther


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help