linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [RFC v2 PATCH 0/8] mm: mirrored memory support for page buddy allocations
@ 2015-06-27  2:19 Xishi Qiu
  2015-06-27  2:23 ` [RFC v2 PATCH 1/8] mm: add a new config to manage the code Xishi Qiu
                   ` (9 more replies)
  0 siblings, 10 replies; 29+ messages in thread
From: Xishi Qiu @ 2015-06-27  2:19 UTC (permalink / raw)
  To: Andrew Morton, H. Peter Anvin, Ingo Molnar, Luck, Tony,
	Hanjun Guo, Xiexiuqi, leon, Kamezawa Hiroyuki, Dave Hansen,
	Naoya Horiguchi, Vlastimil Babka, Mel Gorman
  Cc: Xishi Qiu, Linux MM, LKML

Intel Xeon processor E7 v3 product family-based platforms introduces support
for partial memory mirroring called as 'Address Range Mirroring'. This feature
allows BIOS to specify a subset of total available memory to be mirrored (and
optionally also specify whether to mirror the range 0-4 GB). This capability
allows user to make an appropriate tradeoff between non-mirrored memory range
and mirrored memory range thus optimizing total available memory and still
achieving highly reliable memory range for mission critical workloads and/or
kernel space.

Tony has already send a patchset to supprot this feature at boot time.
https://lkml.org/lkml/2015/5/8/521
This patchset is based on Tony's, it can support the feature after boot time.
Use mirrored memory for all kernel allocations.

TBD: 
  - Add compatibility with memory online/offline, memory compaction, CMA...
  - Need to discuss the implementation ideas, add a new zone or a new
    migratetype or others.

V2:
  - Use memblock which marked MEMBLOCK_MIRROR to find mirrored memory instead
    of mirror_info.
  - Remove __GFP_MIRROR and /proc/sys/vm/mirrorable.
  - Use mirrored memory for all kernel allocations.


Xishi Qiu (8):
  mm: add a new config to manage the code
  mm: introduce MIGRATE_MIRROR to manage the mirrored pages
  mm: find mirrored memory in memblock
  mm: add mirrored memory to buddy system
  mm: introduce a new zone_stat_item NR_FREE_MIRROR_PAGES
  mm: add free mirrored pages info
  mm: add the buddy system interface
  mm: add the PCP interface

 drivers/base/node.c      |  17 ++++---
 fs/proc/meminfo.c        |   6 +++
 include/linux/memblock.h |  29 ++++++++++--
 include/linux/mmzone.h   |  10 ++++
 include/linux/vmstat.h   |   2 +
 mm/Kconfig               |   8 ++++
 mm/memblock.c            |  33 +++++++++++--
 mm/nobootmem.c           |   3 ++
 mm/page_alloc.c          | 117 ++++++++++++++++++++++++++++++++++++-----------
 mm/vmstat.c              |   4 ++
 10 files changed, 190 insertions(+), 39 deletions(-)

-- 
2.0.0


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

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2015-07-13  5:08 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-27  2:19 [RFC v2 PATCH 0/8] mm: mirrored memory support for page buddy allocations Xishi Qiu
2015-06-27  2:23 ` [RFC v2 PATCH 1/8] mm: add a new config to manage the code Xishi Qiu
2015-06-29  6:50   ` Kamezawa Hiroyuki
2015-06-30  2:52     ` Xishi Qiu
2015-06-27  2:24 ` [RFC v2 PATCH 2/8] mm: introduce MIGRATE_MIRROR to manage the mirrored pages Xishi Qiu
2015-06-29  7:32   ` Kamezawa Hiroyuki
2015-06-30  2:45     ` Xishi Qiu
2015-06-30  7:53       ` Kamezawa Hiroyuki
2015-06-30  9:22         ` Xishi Qiu
2015-06-27  2:24 ` [RFC v2 PATCH 3/8] mm: find mirrored memory in memblock Xishi Qiu
2015-06-27  2:25 ` [RFC v2 PATCH 4/8] mm: add mirrored memory to buddy system Xishi Qiu
2015-06-29  7:39   ` Kamezawa Hiroyuki
2015-06-27  2:26 ` [RFC v2 PATCH 5/8] mm: introduce a new zone_stat_item NR_FREE_MIRROR_PAGES Xishi Qiu
2015-06-27  2:27 ` [RFC v2 PATCH 6/8] mm: add free mirrored pages info Xishi Qiu
2015-06-27  2:27 ` [RFC v2 PATCH 7/8] mm: add the buddy system interface Xishi Qiu
2015-06-29 23:11   ` Luck, Tony
2015-06-30  1:01     ` Kamezawa Hiroyuki
2015-06-30  1:31       ` Xishi Qiu
2015-06-30  2:01         ` Kamezawa Hiroyuki
2015-06-27  2:28 ` [RFC v2 PATCH 8/8] mm: add the PCP interface Xishi Qiu
2015-06-29 15:19 ` [RFC v2 PATCH 0/8] mm: mirrored memory support for page buddy allocations Dave Hansen
2015-06-30  1:26   ` Xishi Qiu
2015-06-30  1:52     ` Dave Hansen
2015-06-30  2:48       ` Xishi Qiu
2015-06-30  9:41 ` Mel Gorman
2015-06-30 10:46   ` Ingo Molnar
2015-06-30 11:53     ` Mel Gorman
2015-06-30 18:12       ` Luck, Tony
2015-07-13  4:56       ` Xishi Qiu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).