Messages in this thread | | | Date | Sat, 26 Apr 1997 21:20:35 +0200 (MET DST) | From | Ingo Molnar <> | Subject | Re: Problems with too much memory (?) |
| |
On 26 Apr 1997, H. Peter Anvin wrote:
> Followup to: <Pine.LNX.3.91.970426142745.10545D-100000@xgw15.pal.xgw.fi> > By author: Tuomas Heino <tbittih@xgw.fi> > In newsgroup: linux.dev.kernel > > > > MB is propably the cause... but anyway why doesn't Linux support > > non-cached ram... too complex and/or not worth it? ('swapping' to > > non-cached ram should still be quite a bit faster than swapping to harddisk) > > > > Some people have been known to hack the RAMdisk driver to get a RAM > disk in non-cached memory; then swap to the RAMdisk. This seems to > work, but I've never seen it supported in the official RAMdisk driver.
btw, this should be fairly easy with a recent kernel, if i'm not missing something. Use mem=less_by_16M to boot with a certain amount of physical memory less, then use ioremap_nocache() to grab that memory (people might want to add a boot option, say nocache_ramdisk=16) ...
i'm not sure how much hacking the ramdisk side needs and wether this solution is flexible enough (eg. it's a boot-time thing and thus doesnt support self-resizing ramdisks ... not that we have much chance getting this done with 4MB pages with whatever technique ...).
if someone goes this way then please tell me and a proper 4mb pages ioremap can be written too, to keep the ramdisk from trashing the TLB cache. [btw, does anyone else with big ioremap-ed buffers need a 4MB pages ioremap? it's not much fun coding it without any RL testing.]
-- mingo
| |