Bug 1258206 - [SR-IOV] - 'Queues' are not working if 'passthrough'' is checked on the vNIC profile
[SR-IOV] - 'Queues' are not working if 'passthrough'' is checked on the vNIC ...
Product: ovirt-engine
Classification: oVirt
Component: RFEs (Show other bugs)
x86_64 Linux
medium Severity medium (vote)
: ovirt-4.0.0-alpha
: ---
Assigned To: Dan Kenigsberg
Michael Burman
: FutureFeature
Depends On: 1293233
Blocks: 1309274
  Show dependency treegraph
Reported: 2015-08-30 05:33 EDT by Michael Burman
Modified: 2016-02-17 06:57 EST (History)
10 users (show)

See Also:
Fixed In Version:
Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of:
: 1309274 (view as bug list)
Last Closed: 2016-02-17 06:57:03 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: Network
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
ylavi: ovirt‑4.0.0?
ylavi: planning_ack+
rule-engine: devel_ack?
rule-engine: testing_ack?

Attachments (Terms of Use)
Logs (190.01 KB, application/x-gzip)
2015-08-30 05:33 EDT, Michael Burman
no flags Details

  None (edit)
Description Michael Burman 2015-08-30 05:33:37 EDT
Created attachment 1068389 [details]

Description of problem:
[SR-IOV] - 'Queues' are not working if 'passthrough'' is checked on the vNIC profile.

queues are not working as expected when running VM and using vNIC profile with 'passthrough' checked and queues value configured.  

vdsm.log -->

Thread-1643::ERROR::2015-08-30 12:18:52,743::vm::1413::virt.vm::(_getRunningVmStats) vmId=`b76928d3-05bd-4c7a-9525-634f5a0f1c29`::Error fetching vm stats
Traceback (most recent call last):
  File "/usr/share/vdsm/virt/vm.py", line 1410, in _getRunningVmStats
  File "/usr/share/vdsm/virt/vmstats.py", line 42, in produce
    networks(vm, stats, first_sample, last_sample, interval)
  File "/usr/share/vdsm/virt/vmstats.py", line 213, in networks
    first_indexes = _find_bulk_stats_reverse_map(first_sample, 'net')
  File "/usr/share/vdsm/virt/vmstats.py", line 340, in _find_bulk_stats_reverse_map
    name_to_idx[stats['%s.%d.name' % (group, idx)]] = idx
KeyError: 'net.0.name'

- when running VM with queues but without 'passthrough' checked,everything works as expected.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. Run - engine-config -s
2. Create network with 'passthrouhg' profile and with queues configured (for example 2) 
3. Add profile vNIC with this profile to VM and run it
4. Check if value is updated in vdsm and if passed to libvirt 

Actual results:
error in vdsm log. queues value is not appear. 
less /var/log/vdsm/vdsm.log > ?queues

- virsh -r dumpxml 'DOM' | grep queue

- ps -ww `pgrep qemu-kvm`
XML is not sent to qemu-kvm 

Expected results:
queues feature should work when using 'passthrough' vNIC profile.
Comment 1 Yaniv Lavi 2015-10-07 06:29:08 EDT
are queues supported by VF?
Comment 2 Dan Kenigsberg 2015-11-09 09:18:02 EST

    The optional queues attribute controls the number of queues to be used for either Multiqueue virtio-net or vhost-user network interfaces. Use of multiple packet processing queues requires the interface having the <model type='virtio'/> element. Each queue will potentially be handled by a different processor, resulting in much higher throughput. virtio-net since 1.0.6 (QEMU and KVM only) vhost-user since 1.2.17 (QEMU and KVM only) 

"Queues" are irrelevant to sr-iov function. However, that field is implemented as a custom property of VNIC profile, so it impossible to add logic on when to show it.

We consider having a smarter policy of setting the number of queues, where we can be more precise. Let this bug track that as a feature
Comment 3 Dan Kenigsberg 2016-02-17 06:57:03 EST
closing this bug since it caused some confusion, opening rfe 1309274 instead.

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