Bug 1270715

Summary: Wrong display of numatune result if guest use numad advise
Product: Red Hat Enterprise Linux 7 Reporter: Luyao Huang <lhuang>
Component: libvirtAssignee: John Ferlan <jferlan>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2CC: dyuan, jferlan, lmiksik, mzhan, rbalakri
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-1.3.1-1.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-03 18:25:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Luyao Huang 2015-10-12 09:01:41 UTC
Description of problem:
Wrong display of numatune result if guest use numad advise

Version-Release number of selected component (if applicable):
libvirt-1.2.17-13.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. prepare a running guest which memtune placement is auto:

# virsh dumpxml rhel7.0-rhel |grep -1 numatune
  <vcpu placement='auto' current='2'>4</vcpu>
  <numatune>
    <memory mode='strict' placement='auto'/>
  </numatune>
  <resource>


2. use numatune to check nodeset:

# virsh numatune rhel7.0-rhel --live
numa_mode      : strict
numa_nodeset   : 



3.

Actual results:

libvirt do not print the current nodeset which guest running

Expected results:

# virsh numatune rhel7.0-rhel --live
numa_mode      : strict
numa_nodeset   : 0

Additional info:

test with 1.2.15-2 and find cannot reproduce this issue, so i think this maybe a regression issue:

# virsh dumpxml rhel7.0-rhel |grep -1 numatune
  <vcpu placement='auto' current='2'>4</vcpu>
  <numatune>
    <memory mode='strict' placement='auto'/>
  </numatune>
  <resource>

# virsh numatune rhel7.0-rhel --live
numa_mode      : strict
numa_nodeset   : 0

Comment 2 Luyao Huang 2015-10-12 09:31:19 UTC
Send a patch to upstream:

https://www.redhat.com/archives/libvir-list/2015-October/msg00328.html

Comment 3 John Ferlan 2015-10-28 20:57:20 UTC
Pushed upstream, commit id '4eac55238'

$ git describe 4eac55238
v1.2.20-148-g4eac552
$

Comment 5 Luyao Huang 2016-08-10 08:03:54 UTC
Verify this bug with libvirt-2.0.0-4.el7.x86_64:

1. check numa struct:

# numactl --har
available: 4 nodes (0-3)
node 0 cpus: 0 2 4 6 8 10
node 0 size: 10205 MB
node 0 free: 6198 MB
node 1 cpus: 12 14 16 18 20 22
node 1 size: 8192 MB
node 1 free: 5519 MB
node 2 cpus: 1 3 5 7 9 11
node 2 size: 6144 MB
node 2 free: 3818 MB
node 3 cpus: 13 15 17 19 21 23
node 3 size: 8175 MB
node 3 free: 5799 MB
node distances:
node   0   1   2   3 
  0:  10  20  20  20 
  1:  20  10  20  20 
  2:  20  20  10  20 
  3:  20  20  20  10 

2. prepare a guest which memtune placement is auto:

# virsh dumpxml r7
<domain type='kvm'>
  <name>r7</name>
  <uuid>67c7a123-5415-4136-af62-a2ee098ba6cd</uuid>
  <maxMemory slots='16' unit='KiB'>15243264</maxMemory>
  <memory unit='KiB'>2097152</memory>
  <currentMemory unit='KiB'>2097152</currentMemory>
  <vcpu placement='auto' current='6'>10</vcpu>
  <numatune>
    <memory mode='strict' placement='auto'/>
  </numatune>

3. start guest:

# virsh start r7
Domain r7 started

4. check numatune info:

# virsh numatune r7
numa_mode      : strict
numa_nodeset   : 0-1

5. restart libvirtd and recheck:

# virsh numatune r7
numa_mode      : strict
numa_nodeset   : 0-1

Comment 7 errata-xmlrpc 2016-11-03 18:25:59 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2016-2577.html