Hi all,
I'm trying to understand the use of alloc_bootmem_low. As my
understanding, it tries to allocate memory at boot time in the DMA zone
(under 16 MB on x86).
My question is, how can I be sure it _really_ allocates under 16MB? I've
read the file mm/bootmem.c and I didn't find any reference to 16MB DMA.
The only difference between alloc_bootmem and alloc_bootmem_low is the
starting point from which they try to find memory: 0 for alloc_bootmem
and 16MB for alloc_bootmem_low. But what I would aspect is that
alloc_bootmem_low has a limit of 16MB which it seems not to have (you
can check this in alloc_bootmem_core, which both eventually call).
I've found a reference to this problem in an old patch here:
http://lwn.net/Articles/146990/
but in recent kernels I can't see this kind of code anywhere.
Any hints?
NOTE: I know that from kernel 2.6.34 there is a lot of work in progress
to eliminate bootmem code and substitute it with early_res but suppose
for the moment that we didn't specify the config option NO_BOOTMEM.
Regards
Luca Ellero
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ