Bug 1315197 - vhost-user interface cannot get ip if host is a numa machine
vhost-user interface cannot get ip if host is a numa machine
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev (Show other bugs)
7.2
x86_64 Linux
high Severity medium
: rc
: ---
Assigned To: Victor Kaplansky
Virtualization Bugs
: ZStream
Depends On: 1286492
Blocks:
  Show dependency treegraph
 
Reported: 2016-03-07 03:49 EST by Marcel Kolaja
Modified: 2016-04-03 21:17 EDT (History)
21 users (show)

See Also:
Fixed In Version: qemu-kvm-rhev-2.3.0-31.el7_2.9
Doc Type: Bug Fix
Doc Text:
Using a vhost-net device in a guest running on a NUMA host in some cases prevented the guest from obtaining a dynamic IP address. This update ensures that regions with different file handlers cannot be merged, which allows vhost-net devices to work properly.
Story Points: ---
Clone Of: 1286492
Environment:
Last Closed: 2016-04-03 21:17:19 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Marcel Kolaja 2016-03-07 03:49:15 EST
This bug has been copied from bug #1286492 and has been proposed
to be backported to 7.2 z-stream (EUS).
Comment 3 Miroslav Rezanina 2016-03-11 05:35:05 EST
Fix included in qemu-kvm-rhev-2.3.0-31.el7_2.9
Comment 5 Luyao Huang 2016-03-15 22:59:07 EDT
I cannot reproduce this problem with lastest 7.2.z qemu-kvm-rhev + libvirt

steps:
1.
# rpm -q libvirt
libvirt-1.2.17-13.el7_2.4.x86_64
# rpm -q qemu-kvm-rhev
qemu-kvm-rhev-2.3.0-31.el7_2.10.x86_64
# numactl --har
available: 2 nodes (0-1)
node 0 cpus: 0 1 2 3 4 5 6 7 16 17 18 19 20 21 22 23
node 0 size: 16362 MB
node 0 free: 4320 MB
node 1 cpus: 8 9 10 11 12 13 14 15 24 25 26 27 28 29 30 31
node 1 size: 16384 MB
node 1 free: 3084 MB
node distances:
node   0   1 
  0:  10  11 
  1:  11  10 

2.
# cat /sys/devices/system/node/node1/hugepages/hugepages-2048kB/free_hugepages 
3995
# cat /sys/devices/system/node/node0/hugepages/hugepages-2048kB/free_hugepages 
4000

3.

# cat run-slirp.sh
#!/bin/sh -x

/usr/libexec/qemu-kvm -enable-kvm \
     -net none \
     -net socket,vlan=0,udp=localhost:4444,localaddr=localhost:5555 \
     -net user,vlan=0

# ./vhost-user-bridge -l localhost:4444 -r localhost:5555 -u /tmp/vubr.sock &
# chown qemu:qemu /tmp/vubr.sock

4.

# virsh dumpxml rhel7.0-rhel
  <memoryBacking>
    <hugepages>
      <page size='2048' unit='KiB'/>
    </hugepages>
  </memoryBacking>
...
  <cpu>
    <numa>
      <cell id='0' cpus='0-1,4-6,10-12' memory='1048576' unit='KiB' memAccess='shared'/>
      <cell id='1' cpus='2-3' memory='1048576' unit='KiB' memAccess='shared'/>
      <cell id='2' cpus='7' memory='1048576' unit='KiB' memAccess='shared'/>
      <cell id='3' cpus='8-9' memory='1048576' unit='KiB' memAccess='shared'/>
      <cell id='4' cpus='13-31' memory='1048576' unit='KiB' memAccess='shared'/>
    </numa>
  </cpu>
...
    <interface type='vhostuser'>
      <mac address='54:52:00:ee:2c:01'/>
      <source type='unix' path='/tmp/vubr.sock' mode='client'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </interface>


5.
# virsh start rhel7.0-rhel
Domain rhel7.0-rhel started

6.
LOGIN guest:
# dhclient -d

and that interface can get ip in guest.
Comment 10 juzhang 2016-03-17 21:24:37 EDT
According to comment5, comment8 and comment9, set this issue as verified.
Comment 12 errata-xmlrpc 2016-04-03 21:17:19 EDT
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://access.redhat.com/errata/RHBA-2016:0587

Note You need to log in before you can comment on or make changes to this bug.