[libvirt] [PATCH 00/18] Re-arrange the way cgroups are setup
Viktor Mihajlovski
mihajlov at linux.vnet.ibm.com
Thu Apr 4 16:38:29 UTC 2013
On 04/04/2013 03:40 PM, Daniel P. Berrange wrote:
> /sys/fs/cgroup
> ├── cpu,cpuacct
> │ ├── libvirt
> │ │ ├── lxc
> │ │ │ └── busy
> │ │ └── qemu
> │ │ └── vm1
> │ │ ├── emulator
> │ │ └── vcpu0
It's somehow off-topic but if you do a rework you might also consider a
conceptual change wrt to $domain/emulator and $domain/vcpu* ...
Just today I was confronted with a race in
qemuSetupCgroupForEmulator/virCgroupMoveTask on highly utilized system.
The problem is that if a QEMU thread terminates during the move from
$domain/tasks to $domain/emulator/tasks the virCgroupAddTaskController
call will fail resulting in a failure to start the domain.
Another possible issue is that if new QEMU threads are spawned after
the virCgroupGetValueStr call they will not be moved.
So, since the threads in $domain/tasks are 'hypervisor' threads anyway,
shouldn't we get rid of the emulator directory altogether?
--
Mit freundlichen Grüßen/Kind Regards
Viktor Mihajlovski
IBM Deutschland Research & Development GmbH
Vorsitzender des Aufsichtsrats: Martina Köderitz
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen
Registergericht: Amtsgericht Stuttgart, HRB 243294
More information about the libvir-list
mailing list