[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