Bug 1258206 - [SR-IOV] - 'Queues' are not working if 'passthrough'' is checked on the vNIC profile
Summary: [SR-IOV] - 'Queues' are not working if 'passthrough'' is checked on the vNIC ...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: ovirt-engine
Classification: oVirt
Component: RFEs
Version: 3.6.0
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: ovirt-4.0.0-alpha
: ---
Assignee: Dan Kenigsberg
QA Contact: Michael Burman
URL:
Whiteboard:
Depends On: 1293233
Blocks: 1309274
TreeView+ depends on / blocked
 
Reported: 2015-08-30 09:33 UTC by Michael Burman
Modified: 2016-02-17 11:57 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
: 1309274 (view as bug list)
Environment:
Last Closed: 2016-02-17 11:57:03 UTC
oVirt Team: Network
Embargoed:
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 09:33 UTC, Michael Burman
no flags Details

Description Michael Burman 2015-08-30 09:33:37 UTC
Created attachment 1068389 [details]
Logs

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
    vm_sample.interval)
  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):
3.6.0-0.12.master.el6

How reproducible:
100

Steps to Reproduce:
1. Run - engine-config -s
'CustomDeviceProperties={type=interface;prop={queues=[1-9][0-9]*}}'
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 10:29:08 UTC
are queues supported by VF?

Comment 2 Dan Kenigsberg 2015-11-09 14:18:02 UTC
http://libvirt.org/formatdomain.html#elementsDriverBackendOptions

queues
    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 11:57:03 UTC
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.