1. 17 12月, 2014 1 次提交
  2. 16 12月, 2014 3 次提交
  3. 15 11月, 2014 1 次提交
  4. 11 11月, 2014 2 次提交
    • W
      qemu: fix domain startup failing with 'strict' mode in numatune · c6e90248
      Wang Rui 提交于
      If the memory mode is specified as 'strict' and with one node, we
      get the following error when starting domain.
      
      error: Unable to write to '$cgroup_path/cpuset.mems': Device or resource busy
      
      XML is configured with numatune as follows:
        <numatune>
          <memory mode='strict' nodeset='0'/>
        </numatune>
      
      It's broken by Commit 411cea63
      which moved qemuSetupCgroupForEmulator() before setting cpuset.mems
      in qemuSetupCgroupPostInit.
      
      Directory '$cgroup_path/emulator/' is created in qemuSetupCgroupForEmulator.
      But '$cgroup_path/emulator/cpuset.mems' it not set and has a default value
      (all nodes, such as 0-1). Then we setup '$cgroup_path/cpuset.mems' to the
      nodemask (in this case it's '0') in qemuSetupCgroupPostInit. It must fail.
      
      This patch makes '$cgroup_path/emulator/cpuset.mems' is set before
      '$cgroup_path/cpuset.mems'. The action is similar with that in
      qemuDomainSetNumaParamsLive.
      Signed-off-by: NWang Rui <moon.wangrui@huawei.com>
      c6e90248
    • W
      qemu: don't setup cpuset.mems if memory mode in numatune is not 'strict' · 38a0f6df
      Wang Rui 提交于
      If the memory mode in numatune is specified as 'preferred' with one node
      (such as nodeset='0'), domain's memory is not all in node 0 absolutely.
      Assumption that node 0 doesn't have enough memory, memory can be allocated
      on node 1 when qemu process startup. Then if we set cpuset.mems to '0',
      it may invoke OOM.
      
      Commit 1a7be8c6 changed the former logic of
      checking memory mode in virDomainNumatuneGetNodeset. This patch adds the
      check as before.
      Signed-off-by: NWang Rui <moon.wangrui@huawei.com>
      38a0f6df
  5. 21 10月, 2014 1 次提交
  6. 02 10月, 2014 1 次提交
    • G
      qemu: use systemd's TerminateMachine to kill all processes · 4882618e
      Guido Günther 提交于
      If we don't properly clean up all processes in the
      machine-<vmname>.scope systemd won't remove the cgroup and subsequent vm
      starts fail with
      
        'CreateMachine: File exists'
      
      Additional processes can e.g. be added via
      
        echo $PID > /sys/fs/cgroup/systemd/machine.slice/machine-${VMNAME}.scope/tasks
      
      but there are other cases like
      
        http://bugs.debian.org/761521
      
      Invoke TerminateMachine to be on the safe side since systemd tracks the
      cgroup anyway. This is a noop if all processes have terminated already.
      4882618e
  7. 29 9月, 2014 1 次提交
  8. 26 9月, 2014 1 次提交
    • D
      Rename tunable event constants · 0778c0be
      Daniel P. Berrange 提交于
      For the new VIR_DOMAIN_EVENT_ID_TUNABLE event we have a bunch of
      constants added
      
         VIR_DOMAIN_EVENT_CPUTUNE_<blah>
         VIR_DOMAIN_EVENT_BLKDEVIOTUNE_<blah>
      
      This naming convention is bad for two reasons
      
        - There is no common prefix unique for the events to both
          relate them, and distinguish them from other event
          constants
      
        - The values associated with the constants were chosen
          to match the names used with virConnectGetAllDomainStats
          so having EVENT in the constant name is not applicable in
          that respect
      
      This patch proposes renaming the constants to
      
          VIR_DOMAIN_TUNABLE_CPU_<blah>
          VIR_DOMAIN_TUNABLE_BLKDEV_<blah>
      
      ie, given them a common VIR_DOMAIN_TUNABLE prefix.
      Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
      0778c0be
  9. 24 9月, 2014 1 次提交
  10. 18 9月, 2014 1 次提交
  11. 16 9月, 2014 2 次提交
    • J
      qemu_cgroup: Adjust spacing around incrementor · 500c91c5
      John Ferlan 提交于
      Change "i+1" to "i + 1"
      500c91c5
    • J
      qemu_cgroup: Introduce cgroup functions for IOThreads · 5f6ad32c
      John Ferlan 提交于
      In order to support cpuset setting, introduce qemuSetupCgroupIOThreadsPin
      and qemuSetupCgroupForIOThreads to mimic the existing Vcpu API's.
      
      These will support having an 'iotrhreadpin' element in the 'cpuset' in
      order to pin named IOThreads to specific CPU's. The IOThread pin names
      will follow the IOThread naming scheme starting at 1 (eg "iothread1")
      up through an including the def->iothreads value.
      5f6ad32c
  12. 28 7月, 2014 1 次提交
  13. 25 7月, 2014 2 次提交
    • P
      virtio-rng: allow multiple RNG devices · bbddbefa
      Peter Krempa 提交于
      qemu supports adding multiple RNG devices. This patch allows libvirt to
      support this.
      bbddbefa
    • P
      qemu: cgroup: Don't use NULL path on default backed RNGs · 99ff49ee
      Peter Krempa 提交于
      The "random" backend for virtio-rng can be started with no path
      specified which equals to /dev/random. The cgroup code didn't consider
      this and called few of the functions with NULL resulting into:
      
       $ virsh start rng-vm
       error: Failed to start domain rng-vm
       error: Path '(null)' is not accessible: Bad address
      
      Problem introduced by commit c6320d34
      99ff49ee
  14. 24 7月, 2014 5 次提交
  15. 17 7月, 2014 5 次提交
  16. 09 7月, 2014 3 次提交
  17. 08 7月, 2014 1 次提交
  18. 06 6月, 2014 1 次提交
  19. 22 5月, 2014 1 次提交
  20. 22 4月, 2014 1 次提交
  21. 08 4月, 2014 2 次提交
  22. 26 3月, 2014 2 次提交
    • J
      Show the real cpu shares value in live XML · 97814d8a
      Ján Tomko 提交于
      Currently, the Linux kernel treats values of '0' and '1' as
      the minimum of 2. Values larger than the maximum are changed
      to the maximum.
      
      Re-reading the shares value after setting it reflects this in
      the live domain XML.
      97814d8a
    • J
      Treat zero cpu shares as a valid value · bdffab0d
      Ján Tomko 提交于
      Currently, <cputune><shares>0</shares></cputune> is treated
      as if it were not specified.
      
      Treat is as a valid value if it was explicitly specified
      and write it to the cgroups.
      bdffab0d
  23. 25 3月, 2014 1 次提交