[libvirt] [PATCH v3 10/13] qemu: vcpu: Aggregate code to set vCPU tuning
Ján Tomko
jtomko at redhat.com
Fri Feb 5 19:42:11 UTC 2016
On Fri, Feb 05, 2016 at 04:44:46PM +0100, Peter Krempa wrote:
> Rather than iterating 3 times for various settings this function
> aggregates all the code into single place. One of the other advantages
> is that it can then be reused for properly setting vCPU info on hotplug.
>
> With this approach autoCpuset is also used when setting the process
> affinity rather than just via cgroups.
> ---
>
> Notes:
> v3:
> - mention change to affinity in commit message
> - reorder affinity/cgroups
> - fix comment spacing
>
> src/qemu/qemu_cgroup.c | 95 ---------------------
> src/qemu/qemu_cgroup.h | 1 -
> src/qemu/qemu_process.c | 215 +++++++++++++++++++++++++++++++++---------------
> src/qemu/qemu_process.h | 4 +
> 4 files changed, 151 insertions(+), 164 deletions(-)
> +
> + if (cpumask) {
> + /* setup cgroups */
> + if (cgroup_vcpu &&
> + virCgroupHasController(priv->cgroup, VIR_CGROUP_CONTROLLER_CPUSET)) {
> + if (mem_mask &&
> + virCgroupSetCpusetMems(cgroup_vcpu, mem_mask) < 0)
> + goto cleanup;
> +
> + if (qemuSetupCgroupCpusetCpus(cgroup_vcpu, cpumask) < 0)
> + goto cleanup;
> + }
> +
> + /* setup legacy affinty */
> + if (virProcessSetAffinity(vcpupid, cpumask) < 0)
> + goto cleanup;
This hunk...
> + }
> +
> + /* move the thread for vcpu to sub dir */
> + if (cgroup_vcpu &&
> + virCgroupAddTask(cgroup_vcpu, vcpupid) < 0)
> + goto cleanup;
> +
should go here after the thread has been moved to its cgroup dir to
preserve the original order.
Jan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20160205/29c9f353/attachment-0001.sig>
More information about the libvir-list
mailing list