Re: Large framebuffers and HIGHMEM systems
From: James Simmons <hidden>
Date: 2003-09-12 22:56:37
Fbdev needs to come up with a general solution for mapping large framebuffers on systems with over 1GB memory. For example my system does not have 64MB of free address space below 1GB, this causes my framebuffer drivers to fail when loading. With RAM prices at $200 for 1GB memory 1GB systems will be common during the 2.6 timeframe. There are many possible solutions... 1) add reserve=XXXX to the kernel at boot. Drawback to this is reserving 256-512MB takes this memory out of lowmem kernel use. This will push page tables into highmem slowing the whole system down.
NOPE!!!!
2) Only map a 2048x2048x32 piece of the framebuffer. This still uses 16MB of address space which may not always be available. It could be possible to modify the kernel to always reserve this much address space at boot.
I was thinking about a solution like this. We have to consider that alot of drivers use the extra memory space to do hardware panning to create a scrolling effect. We could set a limit to the amount of memory mapped for this effect.
3) Only map what is actually needed on each mode change. Mode change could fail at run time if not enough free address space.
That is acceptable. I doubt it would fail all the time. We lose th eperformance boost for scrolling tho :-(
4) Map the buffer into the highmem address space using the highmem access macros.
We could do a partial mapping into highmem space. Lomem memory what we are using now. High memory for what we need less often.
5) Map the fb in a user process and send it signals to draw.
Yuck!!
The good news is fully accelerated drivers don't need to ioremap the
entire range in memory at one time. screen_base is not much use to them.
The only place this is not true is fb_read and fb_write. We could setup a
blitting engine use tho :-) Then of course mmap a huge framebuffer to
memory would fail then with 1 GB memory systems.
P.S
How bad is the cost to access high memory?
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf