Add support for memory regions to ARM kernel

Registered by Deepak Saxena

Implement memory region support, allowing power-up and power-down of independent memory banks on systems that support it.

Blueprint information

Deepak Saxena
Needs approval
Thomas Abraham
Series goal:
Accepted for devtrack
Milestone target:
milestone icon backlog
Completed by
Deepak Saxena

Related branches



[thomas-ab] Study of power management techniques available in SoC architectures (including Samsung, TI OMAP, TI Davinci, ST-Ericsson, Freescale and others): POSTPONED
[thomas-ab] Study of power management techniques defined by JEDEC standards for memory devices (DDR, DDR2, DDR3, LPDDR, mDDR): DONE
[thomas-ab] Short study of Linux VM code: TODO
[thomas-ab] Review and study of initial patch that will be submitted by IBM Engineers who are working on memory regions feature: DONE
[thomas-ab] Test the initial patch on memory regions developed by IBM on all available platforms (Exynos4, OMAP, U8500, imx51, others as available): DONE
[thomas-ab] Implement any additional features required to fully and efficiently support memory regions on all available platforms: TODO
[thomas-ab] Study of initial behaviour of memory regions support and identify suitable policies required to be developed that will efficiently perform the memory compaction/copy: TODO
[thomas-ab] Analyze whether copy of memory pages undermine the benefits of creating memory regions: TODO
[thomas-ab] Collect data about improvements in power saving when using memory regions: TODO
[thomas-ab] Analyze whether this mechanism is ideal for large contiguous memory allocations as required by multimedia drivers: TODO
[thomas-ab] Write a document that explains the procedure to test memory regions patches on Samsung's Exynos4 platform and points to be noted with doing the same on other platforms.

The memory regions blueprint was based on the memory regions patches from IBM. I completed testing of the first version of the patchset which IBM submitted. But there was no reduction in power consumed since the Exynos4 DDR controller is capable of detecting no-activity and moving DDR banks into low power mode. After that, there were no updates posted for the memory regions patchset and I have been only working on device tree support for Exynos.

From the tests that I did, I feel the real benefit of memory regions will be realized when pages of under utlized memory regions are moved / compacted with pages of other memory regions. But doing that is time consuming since portions of memory management subsystem might have to be changed.


Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.