1. 13 8月, 2018 35 次提交
  2. 10 8月, 2018 5 次提交
    • P
      conf: Introduce virDomainDefPostParseMemtune · 0a476f15
      Pavel Hrdina 提交于
      Previously we were ignoring "nodeset" attribute for hugepage pages
      if there was no guest NUMA topology configured in the domain XML.
      Commit <fa6bdf6a> partially fixed
      that issue but it introduced a somehow valid regression.
      
      In case that there is no guest NUMA topology configured and the
      "nodeset" attribute is set to "0" it was accepted and was working
      properly even though it was not completely valid XML.
      
      This patch introduces a workaround that it will ignore the nodeset="0"
      only in case that there is no guest NUMA topology in order not to
      hit the validation error.
      
      After this commit the following XML configuration is valid:
      
        <memoryBacking>
          <hugepages>
            <page size='2048' unit='KiB' nodeset='0'/>
          </hugepages>
        </memoryBacking>
      
      but this configuration remains invalid:
      
        <memoryBacking>
          <hugepages>
            <page size='2048' unit='KiB' nodeset='0'/>
            <page size='1048576' unit='KiB'/>
          </hugepages>
        </memoryBacking>
      
      The issue with the second configuration is that it was originally
      working, however changing the order of the <page> elements resolved
      into using different page size for the guest.  The code is written
      in a way that it expect only one page configured and always uses only
      the first page in case that there is no guest NUMA topology configured.
      See qemuBuildMemPathStr() function for details.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1591235Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      0a476f15
    • P
      conf: Move hugepages validation out of XML parser · 82327038
      Pavel Hrdina 提交于
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      82327038
    • P
      conf: Move hugepage XML validation check out of qemu_command · 5c93dfb4
      Pavel Hrdina 提交于
      We can safely validate the hugepage nodeset attribute at a define time.
      This validation is not done for already existing domains when the daemon
      is restarted.
      
      All the changes to the tests are necessary because we move the error
      from domain start into XML parse.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      5c93dfb4
    • P
      tests: introduce hugepages-nodeset · 154b08a3
      Pavel Hrdina 提交于
      This use-case was broken by commit
      <fa6bdf6a>.
      
      We allowed this configuration and it was working as expected therefore
      we can consider it as regression.  We should have never allowed such
      configuration so now the best solution is in case of non-numa guest
      silently ignore the 'nodeset' attribute if it's set to '0'.
      
      That will be fixed by following patches.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      154b08a3
    • P
      tests: introduce hugepages-default-1G-nodeset-2M · 6ff69e93
      Pavel Hrdina 提交于
      This test case is currently working but it uncovers existing issue
      in our code that the generated QEMU commandline uses the default 1G
      hugepage instead of the 2M hugepage specified for exact node.
      
      The issue in our code is that for non-numa guests we take into account
      only the first hugepage.  This will be fixed as invalid configuration
      since it doesn't make any sense to set default and specific hugepage
      for non-numa guest.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      6ff69e93