1. 11 5月, 2015 4 次提交
    • P
      conf: Refactor domain list collection critical section · cbe7bbf7
      Peter Krempa 提交于
      Until now the virDomainListAllDomains API would lock the domain list and
      then every single domain object to access and filter it. This would
      potentially allow a unresponsive VM to block the whole daemon if a
      *listAllDomains call would get stuck.
      
      To avoid this problem this patch collects a list of referenced domain
      objects first from the list and then unlocks it right away. The
      expensive operation requiring locking of the domain object is executed
      after the list lock is dropped. While a single blocked domain will still
      lock up a listAllDomains call, the domain list won't be held locked and
      thus other APIs won't be blocked.
      
      Additionally this patch also fixes the lookup code, where we'd ignore
      the vm->removing flag and thus potentially return domain objects that
      would be deleted very soon so calling any API wouldn't make sense.
      
      As other clients also could benefit from operating on a list of domain
      objects rather than the public domain descriptors a new intermediate
      API - virDomainObjListCollect - is introduced by this patch.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1181074
      cbe7bbf7
    • P
      conf: Rename virDomainObjListFilter type to virDomainObjListACLFilter · 7906d5fb
      Peter Krempa 提交于
      The passed function is meant to filter domains according to ACL match.
      7906d5fb
    • P
      conf: Extract code to filter domain list into a separate function · 684675c3
      Peter Krempa 提交于
      Separate the code to simplify future refactors.
      684675c3
    • P
      util: Make the virDomainListFree helper more universal · a5e89ae1
      Peter Krempa 提交于
      Extend it to a universal helper used for clearing lists of any objects.
      Note that the argument type is specifically void * to allow implicit
      typecasting.
      
      Additionally add a helper that works on non-NULL terminated arrays once
      we know the length.
      a5e89ae1
  2. 05 5月, 2015 1 次提交
    • M
      Introduce GIC feature · 921c52b0
      Michal Privoznik 提交于
      Some platforms, like aarch64, don't have APIC but GIC. So there's
      no reason to have <apic/> feature turned on. However, we are
      still missing <gic/> feature. This commit introduces the feature
      to XML parser and formatter, adds documentation and updates RNG
      schema.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      921c52b0
  3. 04 5月, 2015 1 次提交
  4. 29 4月, 2015 2 次提交
  5. 28 4月, 2015 7 次提交
    • J
      conf: Resolve some Coverity errors · e505591e
      John Ferlan 提交于
      Resolve some Coverity errors with IOThread changes
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      e505591e
    • R
      conf: explicitly initialize 'cpumask' variable · fb9da19e
      Roman Bogorodskiy 提交于
      Build with clang fails with:
      
        CC       conf/libvirt_conf_la-domain_conf.lo
        conf/domain_conf.c:13377:9: error: variable 'cpumask' is used
        uninitialized whenever 'if' condition is true
        [-Werror,-Wsometimes-uninitialized]
            if (!(tmp = virXMLPropString(node, "cpuset"))) {
                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      and many other similar errors regarding the 'cpuset' variable.
      
      Fix by explicitly initializing it with NULL.
      fb9da19e
    • J
      domain: Introduce virDomainIOThreadSchedDelId · c6e2dc80
      John Ferlan 提交于
      We're about to allow IOThreads to be deleted, but an iothreadid may be
      included in some domain thread sched, so add a new API to allow removing
      an iothread from some entry.
      
      Then during the writing of the threadsched data and an additional check
      to determine whether the bitmap is all clear before writing it out.
      c6e2dc80
    • J
      conf: Adjust the iothreadsched expectations · 4dec8a01
      John Ferlan 提交于
      With iothreadid's allowing any 'id' value for an iothread_id, the
      iothreadsched code needs a slight adjustment to allow for "any"
      unsigned int value in order to create the bitmap of ids that will
      have scheduler adjustments. Adjusted the doc description as well.
      4dec8a01
    • J
      Move iothreadspin information into iothreadids · b266486f
      John Ferlan 提交于
      Remove the iothreadspin array from cputune and replace with a cpumask
      to be stored in the iothreadids list.
      
      Adjust the test output because our printing goes in order of the iothreadids
      list now.
      b266486f
    • J
      conf: Move virDomainPinIsDuplicate and make static · b96254d4
      John Ferlan 提交于
      Since it's only ever referenced in domain_conf.c, make the function
      static, but also will need to move it to somewhere before it's referenced
      rather than forward referencing it.
      b96254d4
    • J
      conf: Add new domain XML element 'iothreadids' · 93383c1f
      John Ferlan 提交于
      Adding a new XML element 'iothreadids' in order to allow defining
      specific IOThread ID's rather than relying on the algorithm to assign
      IOThread ID's starting at 1 and incrementing to iothreads count.
      
      This will allow future patches to be able to add new IOThreads by
      a specific iothread_id and of course delete any exisiting IOThread.
      
      Each iothreadids element will have 'n' <iothread> children elements
      which will have attribute "id".  The "id" will allow for definition
      of any "valid" (eg > 0) iothread_id value.
      
      On input, if any <iothreadids> <iothread>'s are provided, they will
      be marked so that we only print out what we read in.
      
      On input, if no <iothreadids> are provided, the PostParse code will
      self generate a list of ID's starting at 1 and going to the number
      of iothreads defined for the domain (just like the current algorithm
      numbering scheme).  A future patch will rework the existing algorithm
      to make use of the iothreadids list.
      
      On output, only print out the <iothreadids> if they were read in.
      93383c1f
  6. 27 4月, 2015 2 次提交
  7. 24 4月, 2015 5 次提交
  8. 22 4月, 2015 1 次提交
  9. 21 4月, 2015 9 次提交
  10. 17 4月, 2015 1 次提交
  11. 14 4月, 2015 7 次提交