Skip to contentSkip to conversation

Large process & 2.4.X

DISCUSSION [email protected] 1 participant 1 message May 28, 2003

lore
Share & tools
lore
#0 lore raw

Hello All,
I have found a set of instructions for compiling a kernel which
allows processes to access about an extra 500M of memory. I need this functionality since I run large processes which sometimes die because they can not allocate more then 3G of memory.
Before I go too far down this road, I want to bounce these
instructions off this list to make sure this is the best way to get what I am after and also to see what the downsides are.

What I am susposed to do is very simple:

1) Modify page.h such that __PAGE_OFFSET is changed from 0xC0000000 to 0xE0000000.

2) Modify processor.h such that TASK_UNMAPPED_BASE is changed from (TASK_SIZE/3) to (TASK_SIZE/16)

3) Modify vmlinux.lds similar to step 1

Then the kernel is built with CONFIG_HIGHMEM4G=y (the machines have 4G of ram).

The part that has me concerned is that I am not sure why I need to change __PAGE_OFFSET if CONFIG_HIGHMEM4G is on. I am not sure how these options interact with each other. Also, what am I loosing by making __PAGE_OFFSET this large? I believe that TASK_UNMAPPED_BASE is just moving the stack around so that it does not get in the way of malloc(). Is this correct?

Thanks,

Jim