libvirt/src/qemu
Osier Yang 0f8e7ae33a qemu: Support numad
numad is an user-level daemon that monitors NUMA topology and
processes resource consumption to facilitate good NUMA resource
alignment of applications/virtual machines to improve performance
and minimize cost of remote memory latencies. It provides a
pre-placement advisory interface, so significant processes can
be pre-bound to nodes with sufficient available resources.

More details: http://fedoraproject.org/wiki/Features/numad

"numad -w ncpus:memory_amount" is the advisory interface numad
provides currently.

This patch add the support by introducing a new XML attribute
for <vcpu>. e.g.

  <vcpu placement="auto">4</vcpu>
  <vcpu placement="static" cpuset="1-10^6">4</vcpu>

The returned advisory nodeset from numad will be printed
in domain's dumped XML. e.g.
  <vcpu placement="auto" cpuset="1-10^6">4</vcpu>

If placement is "auto", the number of vcpus and the current
memory amount specified in domain XML will be used for numad
command line (numad uses MB for memory amount):
  numad -w $num_of_vcpus:$current_memory_amount / 1024

The advisory nodeset returned from numad will be used to set
domain process CPU affinity then. (e.g. qemuProcessInitCpuAffinity).

If the user specifies both CPU affinity policy (e.g.
(<vcpu cpuset="1-10,^7,^8">4</vcpu>) and placement == "auto"
the specified CPU affinity will be overridden.

Only QEMU/KVM drivers support it now.

See docs update in patch for more details.
2012-03-15 12:24:56 +08:00
..
libvirtd_qemu.aug Add two new security label types 2012-02-02 17:44:37 -07:00
MIGRATION.txt qemu: Implement migration job phases 2011-07-27 08:45:09 -06:00
qemu_agent.c qemu: Implement DomainPMSuspendForDuration 2012-02-15 11:45:45 +01:00
qemu_agent.h qemu: Implement DomainPMSuspendForDuration 2012-02-15 11:45:45 +01:00
qemu_bridge_filter.c Remove conn parameter from virReportSystemError 2010-02-09 01:04:54 +01:00
qemu_bridge_filter.h build: consistently indent preprocessor directives 2010-03-09 19:22:28 +01:00
qemu_capabilities.c qemu: Use scsi-block for lun passthrough instead of scsi-disk 2012-03-14 23:32:53 +08:00
qemu_capabilities.h qemu: Use scsi-block for lun passthrough instead of scsi-disk 2012-03-14 23:32:53 +08:00
qemu_cgroup.c qemu: eliminate "Ignoring open failure" when using root-squash NFS 2012-02-03 16:47:43 -05:00
qemu_cgroup.h qemu: Implement period and quota tunable XML configuration and parsing 2011-07-21 17:11:12 +08:00
qemu_command.c qemu: Use scsi-block for lun passthrough instead of scsi-disk 2012-03-14 23:32:53 +08:00
qemu_command.h build: use correct type for pid and similar types 2012-03-02 06:57:43 -07:00
qemu_conf.c qemu driver for virDomainGetCPUstats using cpuacct cgroup. 2012-03-06 21:54:48 -07:00
qemu_conf.h Add two new security label types 2012-02-02 17:44:37 -07:00
qemu_domain.c qemu: Reverse condition in qemuDomainCheckDiskPresence 2012-03-14 12:52:46 +01:00
qemu_domain.h qemu: Fix (managed)save and snapshots with host mode CPU 2012-03-13 07:59:36 +01:00
qemu_driver.c qemu: Use scsi-block for lun passthrough instead of scsi-disk 2012-03-14 23:32:53 +08:00
qemu_driver.h Split all QEMU process mangement code into separate file 2011-02-17 12:48:55 +00:00
qemu_hostdev.c qemu: install port profile and mac address on netdev hostdevs 2012-03-06 06:04:04 -05:00
qemu_hostdev.h qemu: install port profile and mac address on netdev hostdevs 2012-03-06 06:04:04 -05:00
qemu_hotplug.c qemu: fix segfault when detaching non-existent network device 2012-03-13 03:06:35 -04:00
qemu_hotplug.h qemu: Don't drop hostdev config until security label restore 2011-12-16 11:53:03 +01:00
qemu_migration.c qemu: Fix (managed)save and snapshots with host mode CPU 2012-03-13 07:59:36 +01:00
qemu_migration.h qemu: Forbid migration with cache != none 2012-02-23 14:34:56 +01:00
qemu_monitor_json.c Fix a few typo in translated strings 2012-03-12 17:41:26 +08:00
qemu_monitor_json.h xml: use better types for memory values 2012-03-07 18:24:44 -07:00
qemu_monitor_text.c xml: use better types for memory values 2012-03-07 18:24:44 -07:00
qemu_monitor_text.h xml: use better types for memory values 2012-03-07 18:24:44 -07:00
qemu_monitor.c xml: use better types for memory values 2012-03-07 18:24:44 -07:00
qemu_monitor.h xml: use better types for memory values 2012-03-07 18:24:44 -07:00
qemu_process.c qemu: Support numad 2012-03-15 12:24:56 +08:00
qemu_process.h qemu: Fix startupPolicy for snapshot-revert 2012-03-08 10:03:08 +01:00
qemu.conf qemu driver for virDomainGetCPUstats using cpuacct cgroup. 2012-03-06 21:54:48 -07:00
test_libvirtd_qemu.aug qemu: Support for overriding NOFILE limit 2011-12-22 17:49:04 +01:00
THREADS.txt qemu: fix crash when mixing sync and async monitor jobs 2011-08-01 09:41:57 -06:00