- 23 11月, 2016 1 次提交
-
-
由 Michal Privoznik 提交于
If users try to hotplug RNG device with a backend different to /dev/random or /dev/urandom the whole operation fails as qemu is unable to access the device. The problem is we don't update device CGroups during the operation. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 12 11月, 2016 1 次提交
-
-
由 Eric Farman 提交于
As was suggested in an earlier review comment[1], we can catch some additional code points by cleaning up how we use the hostdev subsystem type in some switch statements. [1] End of https://www.redhat.com/archives/libvir-list/2016-September/msg00399.htmlSigned-off-by: NEric Farman <farman@linux.vnet.ibm.com> Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
-
- 22 10月, 2016 1 次提交
-
-
由 John Ferlan 提交于
Change the virDomainChrDef to use a pointer to 'source' and allocate that pointer during virDomainChrDefNew. This has tremendous "fallout" in the rest of the code which mainly has to change source.$field to source->$field. Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
-
- 14 9月, 2016 1 次提交
-
-
由 Peter Krempa 提交于
Name it virNumaGetHostMemoryNodeset and return only NUMA nodes which have memory installed. This is necessary as the kernel is not very happy to set the memory cgroup setting for nodes which do not have any memory. This would break vcpu hotplug with following message on such configruation: Invalid value '0,8' for 'cpuset.mems': Invalid argument Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1375268
-
- 13 9月, 2016 1 次提交
-
-
由 Peter Krempa 提交于
-
- 07 9月, 2016 1 次提交
-
-
由 Peter Krempa 提交于
When hot-adding vcpus qemu needs to allocate some structures in the DMA zone which may be outside of the numa pinning. Extract the code doing this in a set of helpers so that it can be reused.
-
- 11 7月, 2016 1 次提交
-
-
由 Peter Krempa 提交于
-
- 23 5月, 2016 1 次提交
-
- 19 5月, 2016 1 次提交
-
-
由 Ján Tomko 提交于
QEMU needs access to the /dev/dri/render* device for virgl to work. Allow access to all /dev/dri/* devices for domains with <video> <model type='virtio' heads='1' primary='yes'> <acceleration accel3d='yes'/> </model> </video> https://bugzilla.redhat.com/show_bug.cgi?id=1337290
-
- 11 4月, 2016 1 次提交
-
-
由 Martin Kletzander 提交于
Commit c3bd0019 forgot to cleanup after itself. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1325043Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
- 01 3月, 2016 2 次提交
-
-
由 Alexander Burluka 提交于
This functions setups per-domain cpu bandwidth parameters Signed-off-by: NAlexander Burluka <aburluka@virtuozzo.com>
-
由 Peter Krempa 提交于
Similarly to the refactors to iothreads and vcpus, move the code that initializes the emulator thread settings into single function.
-
- 18 2月, 2016 1 次提交
-
-
由 Bjoern Walk 提交于
Fix logic error introduced in commit d6c91b3c which essentially broke starting any domain. Signed-off-by: NBjoern Walk <bwalk@linux.vnet.ibm.com>
-
- 17 2月, 2016 8 次提交
-
-
由 Peter Krempa 提交于
oVirt wants to use OVMF images on top of lvm for their 'logical' storage thus we should set up device ACLs for them so it will actually work. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1305922
-
由 Peter Krempa 提交于
They will later be reused for setting cgroup for other image backed devices.
-
由 Peter Krempa 提交于
Separate the Teardown and Setup code paths into separate helpers.
-
由 Peter Krempa 提交于
For other objects we use the two functions rather than one with a bool. Convert qemuSetImageCgroup to the same approach.
-
由 Peter Krempa 提交于
Rather than reporting it and then reseting the error, don't report it in the first place.
-
由 Peter Krempa 提交于
When adding disk images to ACL we may call those functions on NFS shares. In that case we might get an EACCES, which isn't really relevant since NFS would not hold a block device. This patch adds a flag that allows to stop reporting an error on EACCES to avoid spaming logs. Currently there's no functional change.
-
由 Peter Krempa 提交于
Since commit 47e5b5ae virCgroupAllowDevice allows to pass -1 as either the minor or major device number and it automatically uses '*' in place of that. Reuse the new approach through the code and drop the duplicated functions.
-
由 Peter Krempa 提交于
This function doesn't do anything useful since 2049ef99.
-
- 09 2月, 2016 2 次提交
-
-
由 Peter Krempa 提交于
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 IOThread info on hotplug.
-
由 Peter Krempa 提交于
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.
-
- 08 2月, 2016 1 次提交
-
-
由 Peter Krempa 提交于
Now with the new struct the data can be stored in a much saner place.
-
- 05 2月, 2016 1 次提交
-
-
由 Martin Kletzander 提交于
So, systemd-machined has this philosophy that machine names are like hostnames and hence should follow the same rules. But we always allowed international characters in domain names. Thus we need to modify the machine name we are passing to systemd. In order to change some machine names that we will be passing to systemd, we also need to call TerminateMachine at the end of a lifetime of a domain. Even for domains that were started with older libvirt. That can be achieved thanks to virSystemdGetMachineNameByPID(). And because we can change machine names, we can get rid of the inconsistent and pointless escaping of domain names when creating machine names. So this patch modifies the naming in the following way. It creates the name as <drivername>-<id>-<name> where invalid hostname characters are stripped out of the name and if the resulting name is longer, it truncates it to 64 characters. That way we can start domains we couldn't start before. Well, at least on systemd. To make it work all together, the machineName (which is needed only with systemd) is saved in domain's private data. That way the generation is moved to the driver and we don't need to pass various unnecessary arguments to cgroup functions. The only thing this complicates a bit is the scope generation when validating a cgroup where we must check both old and new naming, so a slight modification was needed there. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1282846Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
- 15 1月, 2016 2 次提交
-
-
由 John Ferlan 提交于
Commit id '90b721e4' moved where the virCgroupAddTask was made until after the check for the vcpupin checks. However, in doing so it missed an option where if the cpumap didn't exist, then the code would continue back to the top of the current vcpu loop. The results was that the virCgroupAddTask wouldn't be called. Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
-
由 John Ferlan 提交于
This reverts commit 71ce4759. Since commit id 'a41c00b4' has been reverted, this no longer is necessary
-
- 14 1月, 2016 1 次提交
-
-
由 John Ferlan 提交于
This reverts commit a41c00b4. After much testing and upstream discussion this has been deemed to be the incorrect operation since it means we no longer have any guarantee about which resource controllers the QEMU processes in general are in.
-
- 15 12月, 2015 3 次提交
-
-
由 Henning Schild 提交于
Moving tasks to cgroups implied sched_setaffinity. Changing the cpus in a set implies the same for all tasks in the group. The old code put the the thread into the cpuset inherited from the machine cgroup, which allowed it to run outside of vcpupin for a short while. Signed-off-by: NHenning Schild <henning.schild@siemens.com>
-
由 Henning Schild 提交于
The machine cgroup is a superset, a parent to the emulator and vcpuX cgroups. The parent cgroup should never have any tasks directly in it. In fact the parent cpuset might contain way more cpus than the sum of emulatorpin and vcpupins. So putting tasks in the superset will allow them to run outside of <cputune>. Signed-off-by: NHenning Schild <henning.schild@siemens.com>
-
由 Henning Schild 提交于
virCgroupNewMachine used to add the pidleader to the newly created machine cgroup. Do not do this implicit anymore. Signed-off-by: NHenning Schild <henning.schild@siemens.com>
-
- 09 12月, 2015 4 次提交
-
-
由 Peter Krempa 提交于
Use the proper data structures for the iteration since ncpupids will be made private later.
-
由 Peter Krempa 提交于
Instead of directly accessing the array add a helper to do this.
-
由 Peter Krempa 提交于
Add qemuDomainHasVCpuPids to do the checking and replace in place checks with it. We no longer need checking whether the thread contains fake data (vcpupids[0] == vm->pid) as in b07f3d82 and 65686e5a this was removed.
-
由 Peter Krempa 提交于
Since commit 0c04906f the check for priv->cgroup doesn't make sense as the calls to virCgroupHasController return the same information. Remove it and move it's comment partially to the new check. The already spurious check was also later copied to the iothreads code.
-
- 30 11月, 2015 1 次提交
-
-
- 23 11月, 2015 3 次提交
-
-
由 Ján Tomko 提交于
We do not have a pointer to the device here, just its source.
-
由 Ján Tomko 提交于
The domain definition is not needed in any of these functions. Only pass it to qemuSetupChardevCgroup, which is used as a callback for virDomainChrDefForeach. Use the right type for passing virDomainObjPtr instead of void* where possible.
-
由 Ján Tomko 提交于
Change CGroup to Cgroup to match other functions in the file.
-
- 16 10月, 2015 1 次提交
-
-
由 John Ferlan 提交于
If there are no IOThreads defined, no sense making other checks
-