Messages in this thread | | | Date | Tue, 14 Jan 2014 15:17:49 +0200 | From | Grygorii Strashko <> | Subject | Re: [PATCH V3 2/2] mm/memblock: Add support for excluded memory areas |
| |
Hi Philipp,
On 01/13/2014 03:03 PM, Philipp Hachtmann wrote: > Add a new memory state "nomap" to memblock. This can be used to truncate > the usable memory in the system without forgetting about what is really > installed.
Sorry, but this solution looks a bit complex (and probably wrong - from design point of view)) if you need just to fix memblock_start_of_DRAM()/memblock_end_of_DRAM() APIs.
More over, other arches use at least below APIs: - memblock_is_region_memory() !!! - for_each_memblock(memory, reg) !!! - __next_mem_pfn_range() !!! - memblock_phys_mem_size() - memblock_mem_size() - memblock_start_of_DRAM() - memblock_end_of_DRAM() with assumption that "memory" regions array have been updated when mem block is stolen (no-mapped), as result this change may have unpredictable side effects :( if these new APIs will be re-used (for ARM arch, as example).
You can take a look on how ARM is using arm_memblock_steal() - the stolen memory is not accounted any more.
Seems, it would be safer to track separately memory, available for Linux ("memory" regions), and real phys memory. For example: - add memblock type "phys_memory" and update it each time memblock_add()/memblock_remove() are called, but don't update, if memblock_nomap()/memblock_remap() are called?
Another question is - Should the real phys memory configuration data be a part of memblock or not?
Also, I like more memblock_steal()/memblock_reclaim() names for new APIs )
regards, -grygorii
| |