Add support for memory regions to ARM kernel
Implement memory region support, allowing power-up and power-down of independent memory banks on systems that support it.
Blueprint information
- Status:
- Complete
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Deepak Saxena
- Direction:
- Needs approval
- Assignee:
- Thomas Abraham
- Definition:
- Obsolete
- Series goal:
- Accepted for devtrack
- Implementation:
-
Deferred
- Milestone target:
-
backlog
- Started by
- Completed by
- Deepak Saxena
Related branches
Related bugs
Sprints
Whiteboard
[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.
finding:
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.