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