From: Cody P Schafer <cody@linux.vnet.ibm.com>
To: lsf-pc@lists.linux-foundation.org, Linux MM <linux-mm@kvack.org>
Cc: David Hansen <dave@linux.vnet.ibm.com>,
Cody P Schafer <cody@linux.vnet.ibm.com>
Subject: [LSF/MM TOPIC][ATTEND] Handling NUMA layout changes at runtime
Date: Thu, 21 Feb 2013 11:47:33 -0800 [thread overview]
Message-ID: <20130221194733.GA3778@negative> (raw)
Yes, this is late. Sorry.
I'd like to discuss the following topic:
--
Presently, NUMA layout is determined at boot time and never changes again.
This setup works for real hardware, but virtual machines are more dynamic:
they could be migrated between different hosts, and have to share the physical
memory space with other VMs which are also being moved around or shut down
while other new VMs are started up. As a result, the physical backing memory
that a VM had when it started up changes at runtime.
Problems to be overcome:
- How should userspace be notified? Do we need new interfaces so
applications can query memory to see if it was affected?
- Can we make the NUMA layout initialization generic? This also
implies that all initialization of struct zone/struct
page/NODE_DATA() would be made (somewhat) generic.
- Some one-time allocations now will know they are on a non-optimal
node.
- hotpluged per node data is (in general) not being allocated optimally)
- NODE_DATA() for hotpluged nodes is allocated off-node (except for
ia64).
- SLUB's kmem_cache_node is always allocated off-node for
hotpluged nodes.
[Not a new problem, but one that needs solving].
Some more generic NUMA layout/mm init things:
- boot-time and hotplug NUMA init don't share enough code.
- architectures do not share mm init code
- NUMA layout (from init) is kept (if it is kept at all) in only arch
specific ways. Memblock _happens_ to contain this info, while also
also tracking allocations, and every arch but powerpc discards it as
__init/__initdata)
A WIP patchset addressing initial reconfiguration of the page allocator:
https://github.com/jmesmon/linux/tree/dnuma/v25
--
Cody P Schafer
--
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>
next reply other threads:[~2013-02-21 22:32 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-21 19:47 Cody P Schafer [this message]
2013-02-22 14:23 ` [LSF/MM TOPIC][ATTEND] Handling NUMA layout changes at runtime Don Morris
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130221194733.GA3778@negative \
--to=cody@linux.vnet.ibm.com \
--cc=dave@linux.vnet.ibm.com \
--cc=linux-mm@kvack.org \
--cc=lsf-pc@lists.linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).