Re: [PATCH V3 2/2] mm/memblock: Add support for excluded memory areas

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]