It's probably too late for that sort of thing now in 2.5 though.
> I am fine with memory that is not physically contiguous. The memory
> I really want the kernel is currently sitting on.....
Oh, in that case you should have no problem getting it from ZONE_NORMAL,
especially if you can wake up kswapd and wait for a few seconds.
> The largest I have heard of is currently is 96MB. Typical is
> somewhere between 900K and 6MB. You get some interesting
> kernel+ramdisk combinations when people are network booting a diskless
> system. Theoretically I can accommodate a nearly 4GB image, with the
> current code structure.
Personnally I don't have a problem setting aside that much space at boot
time, but it's probably not a good solution for small boxes.
> So the 4GB instead of 960MB limit, and not pesimizing the kernel for
> the cases where the new image sits in ram for a while (kexec on panic)
> is while I modified my code to use high memory.
Maybe IFF you want to suppork kexec on panic, it should be statically
reserved at boot time? You don't want to be mucking around in the panic
path trying to swap out memory, etc. when your kernel is halfway down
the toilet already ... and that has nothing to do with memory placement,
it's just a space issue.
> The nasty case comes with highmemory when I am allocating memory on a
> 32GB NUMA box and am allocating memory on the wrong node. In which
> case my code needs to allocate 28GB before it starts getting the
> memory it wants.
Oh, just do alloc_pages_node(0) (works on non NUMA as well, will just
fall back). But I can show you a 32Gb SMP box as well ;-) ZONE_NORMAL
is probably still easiest, and most general.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to firstname.lastname@example.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/