[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v3 00/14] Series short description
Implement vcpu soft affinity for credit1 Hello everyone, Take 3 for his series. Very briefly, what it does is allowing each vcpu to have: - an hard affinity, which they already do, and we usually call pinning. This is the list of pcpus where a vcpu is allowed to run; - a soft affinity, which this series introduces. This is the list of pcpus where a vcpu *prefers* to run. Once that is done, per-vcpu NUMA-aware scheduling is easily implemented on top of that, just by instructing libxl to issue the proper call to setup the soft affinity of the domain's vcpus to be equal to its node-affinity. Wrt v2 review[*] I have addressed all the comments (see individual changelogs). In particular, I have completely redesigned the libxl interface. It now allows both the following usage patterns: 1. changing either soft affinity only or hard affinity only or both of them to the same value, and getting DEBUG or WARN output if that results in an inconsistent state; 2. changing both hard and soft affinity, each one to its own value, and getting DEBUG or WARN output only if the *final* state is inconsistent. The series is also available here: git://xenbits.xen.org/people/dariof/xen.git numa/per-vcpu-affinity-v3 Thanks and Regards, Dario [*] http://bugs.xenproject.org/xen/mid/%3C20131113190852.18086.5437.stgit@Solace%3E/ --- Dario Faggioli (14): a xl: match output of vcpu-list with pinning syntax n libxl: sanitize error handling in libxl_get_max_{cpus,nodes} ra xl: allow for node-wise specification of vcpu pinning a xl: implement and enable dryrun mode for `xl vcpu-pin' a xl: test script for the cpumap parser (for vCPU pinning) r xen: sched: rename v->cpu_affinity into v->cpu_hard_affinity r xen: sched: introduce soft-affinity and use it instead d->node-affinity xen: derive NUMA node affinity from hard and soft CPU affinity xen: sched: DOMCTL_*vcpuaffinity works with hard and soft affinity libxc: get and set soft and hard affinity libxl: get and set soft affinity xl: enable getting and setting soft * xl: enable for specifying node-affinity in the config file a libxl: automatic NUMA placement affects soft affinity n = new in v3 r = has been 'Reviewed-by' a = has been 'Acked-by' * = has been 'Acked-by' but the implementation changed a bit (IanJ explicitly said to point this out) docs/man/xl.cfg.pod.5 | 66 +++- docs/man/xl.pod.1 | 24 +- docs/misc/xl-numa-placement.markdown | 164 +++++++---- tools/libxc/xc_domain.c | 47 ++- tools/libxc/xenctrl.h | 44 +++ tools/libxl/Makefile | 2 tools/libxl/check-xl-vcpupin-parse | 294 +++++++++++++++++++ tools/libxl/check-xl-vcpupin-parse.data-example | 53 +++ tools/libxl/libxl.c | 146 +++++++++ tools/libxl/libxl.h | 30 ++ tools/libxl/libxl_create.c | 6 tools/libxl/libxl_dom.c | 23 + tools/libxl/libxl_types.idl | 4 tools/libxl/libxl_utils.c | 48 +++ tools/libxl/libxl_utils.h | 41 +-- tools/libxl/xl_cmdimpl.c | 356 ++++++++++++++++------- tools/libxl/xl_cmdtable.c | 5 tools/ocaml/libs/xc/xenctrl_stubs.c | 8 - tools/python/xen/lowlevel/xc/xc.c | 6 xen/arch/x86/traps.c | 13 - xen/common/domain.c | 87 +++--- xen/common/domctl.c | 54 +++ xen/common/keyhandler.c | 4 xen/common/sched_credit.c | 161 ++++------ xen/common/sched_sedf.c | 2 xen/common/schedule.c | 57 ++-- xen/common/wait.c | 10 - xen/include/public/domctl.h | 15 + xen/include/xen/sched.h | 14 + 29 files changed, 1377 insertions(+), 407 deletions(-) create mode 100755 tools/libxl/check-xl-vcpupin-parse create mode 100644 tools/libxl/check-xl-vcpupin-parse.data-example -- <<This happens because I choose it to happen!>> (Raistlin Majere) ----------------------------------------------------------------- Dario Faggioli, Ph.D, http://about.me/dario.faggioli Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |