Multi-Queue virtio-net Functionality in Linux


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Multi-Queue virtio-net Functionality in Linux
# 1  
Old 03-22-2019
Multi-Queue virtio-net Functionality in Linux

It seems that multi queue virtio functionality is enabled in the Redhat System being used, but I need to confirm if this functionality is working appropriately:

Code:
cat /usr/include/linux/virtio_net.hstruct virtio_net_config

{ /* The config defining mac address (if VIRTIO_NET_F_MAC) */ __u8 mac[6]; /* See VIRTIO_NET_F_STATUS and VIRTIO_NET_S_* above */ __u16 status; /* Maximum number of each of transmit and receive queues; * see VIRTIO_NET_F_MQ and VIRTIO_NET_CTRL_MQ. * Legal values are between 1 and 0x8000 */ __u16 max_virtqueue_pairs; }

_attribute_((packed));

I want to test below scenarios:

The guest is active on many connections at the same time, with traffic running between guests, guest to host, or guest to an external system.



Also is there any other way to check if Multi-Queue virtio-net Functionality is functioning appropriately
# 2  
Old 03-23-2019
Helper and debugging scripts for the Virtio-forwarder are located in /usr/lib[64]/virtio-forwarder/.

Here are pointers to using some of the more useful one, from the docs:
  • virtioforwarder_stats.py: Gathers statistics (including rate stats) from running relay instances.
  • virtioforwarder_core_pinner.py: Manually pin relay instances to CPUs at runtime. Uses the same syntax asmthe environment file, that is, -virtio-cpu=RN:Ci,Cj. Run without arguments to get the current relay to CPUmapping. Note that the mappings may be overridden by the load balancer if it is also running. The same is true for mappings provided in the configuration file.
  • virtioforwarder_monitor_load.py: Provides a bar-like representation of the current load on worker CPUs. Useful to monitor the work of the load balancer.


System logs can be viewed by running journalctl -u virtio-forwarder -u vio4wd_core_scheduler on systemd-enabled systems.

Syslog provides the same information on older systems.

Hope this helps....
# 3  
Old 03-25-2019
Thanks Neo. Also wanted to tell that I downloaded libvirt xml for the guest to see number of queues and number of vcpus , I read in some posts that number of vcpus should be made equal to the number of queues , but I did nt find any mention of queue in the xml file for that guest.Below I have pasted the lines from xml file associating to vcpus :

Code:
<currentMemory unit='KiB'>6291456</currentMemory>
  <vcpu placement='static' current='4'>32</vcpu>

 </features>
  <cpu mode='custom' match='exact' check='partial'>
    <model fallback='allow'>Skylake-Server-IBRS</model>
    <topology sockets='16' cores='2' threads='1'/>
    <numa>
      <cell id='0' cpus='0-3' memory='6291456' unit='KiB'/>
    </numa>
  </cpu>
  <clock offset='variable' adjustment='0' basis='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>

 <numa>
      <cell id='0' cpus='0-3' memory='6291456' unit='KiB'/>
    </numa>
  </cpu>
  <clock offset='variable' adjustment='0' basis='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>

</cpu>
  <clock offset='variable' adjustment='0' basis='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>

How can I enable/make best use of Multi-Queue virtio-net Functionality here.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX and Linux Applications

Information on forwarding queue occupation in a Linux router

Hello. I have an OpenWrt router forwarding traffic from a network to another and I'm building a monitoring tool that requires information about the packet queue/ ring buffer (in the receiving side/interface - rx) occupation, alerting me when it is close to its maximum capacity. However, after... (1 Reply)
Discussion started by: i_mll
1 Replies

2. UNIX for Beginners Questions & Answers

Merge multi-lines into one single line using shell script or Linux command

Hi, Can anyone help me for merge the following multi-line log which beginning with a " and line ending with ": into one line. *****Original Log***** 087;2008-12-06;084403;"mc;;SYHLR6AP1D\LNZW;AD-703;1;12475;SYHLR6AP1B;1.1.1.1;0000000062;HGPDI:MSISDN=12345678,APNID=1,EQOSID=365;... (3 Replies)
Discussion started by: rajeshlinux2010
3 Replies

3. Shell Programming and Scripting

Multi line sorting in Linux

I have log files with following format - YYYY/MM/DD HH:mm:ss.msec|field2|filed3| log message Now the message itself can be multi line message containing new line character. for e.g. 2013/02/05 15:33:12.234|abc|xyz| This is first single line message. 2013/02/05 15:33:12.786|abc|xyz| This... (6 Replies)
Discussion started by: gini32
6 Replies

4. Shell Programming and Scripting

How to substract selective values in multi row, multi column file (using awk or sed?)

Hi, I have a problem where I need to make this input: nameRow1a,text1a,text2a,floatValue1a,FloatValue2a,...,floatValue140a nameRow1b,text1b,text2b,floatValue1b,FloatValue2b,...,floatValue140b look like this output: nameRow1a,text1b,text2a,(floatValue1a - floatValue1b),(floatValue2a -... (4 Replies)
Discussion started by: nricardo
4 Replies

5. UNIX for Advanced & Expert Users

can "netif_queue_stopped" function check wether or not the net device queue is stopped?

Hi, all: In linux 3.0.4, can "netif_queue_stopped" function check wether or not the net device queue is stopped? How could I know wether a net device queue is stopped or not? li,kunlun (0 Replies)
Discussion started by: liklstar
0 Replies

6. IP Networking

help implementing an ip filter in linux/net/socket.c (kernel programming)

hi there so, i was given an assignment: implement a linux system call that blocks all packets that are sent to a given IP (i have to do it without using iptables) i'm really new to kernel programming btw (and i'm enjoying it a lot) so, my syscall is called ip_block() and receives a... (1 Reply)
Discussion started by: lgfaria
1 Replies

7. AIX

Remote printing to Linux CUPS queue

Hello all. I am setting up a queue under AIX 4.2.1 to print to a remote Linux CUPS queue. At present I can print to the queue remotely from Windows but not AIX. What I am seeing is lpstat reads the state of the remote queue but at job submission time I am getting backend exit fatal errors. The... (4 Replies)
Discussion started by: tgx
4 Replies

8. Linux

Modifying Linux in WesternDigital net disks

Hi, I am installing perl and rsnapshot on the OS of a Western Digital MyBook disk. To install perl the ./Configure command tells me that both 'tr' and 'split' are missing. I don't find them on the net. Where can I download them? Thanks. Charles. (2 Replies)
Discussion started by: mosndup
2 Replies

9. UNIX for Dummies Questions & Answers

Duplicating MAC linux or net?

hi guys I have a IBM eServer BladeCenter HS12 with Linux Red Hat 5.4 installed on it, it is using Bonding. ifcfg-bond0 DEVICE=bond0 BOOTPROTO=none ONBOOT=yes TYPE=Ethernet IPADDR=x.x.x.x NETMASK=x.x.x.x GATEWAY=x.x.x.x USERCTL=no IPV6INIT=no PEERDNS=no BONDING_OPTS="miimon=80... (1 Reply)
Discussion started by: karlochacon
1 Replies

10. Ubuntu

Message Queue in Linux

Hello How can I see the created message queues in the system? (4 Replies)
Discussion started by: xyzt
4 Replies
Login or Register to Ask a Question