Re: Memory in Kernel space

Leonard N. Zubkoff (lnz@dandelion.com)
Fri, 31 May 1996 11:01:36 -0700


From: Paul Gortmaker <gpg109@rsphy6.anu.edu.au>
Date: Fri, 31 May 1996 17:02:55 +1000 (EST)

- From Balaji Srinivasan (balaji@eecs.ukans.edu)
Thu, 30 May 1996 14:00:36 -0600 (CDT)

> I am modifying the kernel to do something that requires huge amounts of
> memory in the kernel space. I allocate this memory in 4K blocks.
> How much memory can I actually allocate in the kernel space as compared
> to the RAM that I have (I have a 32 MB RAM and I need to allocate 25MB
> or so)

Wow. If you need that much, then you are better off not letting the
kernel have it in the first place. Simply boot with "mem=7m" and
you can meddle with the upper 25MB as you see fit. The kernel won't
touch it, and you don't need to futz about with kmalloc().

I don't think it's quite that simple. I tried this once, and if I recall
correctly, the memory above the mem= value won't be mapped at all and the
kernel will fault trying to access it. There probably is a way, but it's more
complicated than this.

I think the easiest approach would be to add another call of the form:

memory_start = whatever_init(memory_start,memory_end);

into linux/init/main.c and let whatever_init ask for whatever it wants to
reserve.

Leonard