I resend this because I erroneously add it to the wrong thread. Apologies for any inconvenience.

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 [email protected]
Please read the FAQ at http://kernelnewbies.org/FAQ

Reply via email to