Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-104369

netkvm: excessive time for NIC ON/OFF operations when there are 27 NICs

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • No
    • Important
    • rhel-virt-windows
    • None
    • QE ack
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • Red Hat Enterprise Linux
    • None
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • x86_64
    • Windows
    • None

      What were you trying to do that didn't work?
      We attempted to turn on and off virtio-net (NetKVM) Ethernet adapters using `netsh` commands, but these operations took excessively long. Reproducible consistently on systems with NetKVM driver configured 4queues, rx_queuesize=1024, significantly exacerbated when Windows Driver Verifier is enabled, and "LazyAllocTimeMs" is displayed as -1. This issue disappeared when LazyAllocTimeMs was shown as an accurate value.

      Please provide the package NVR for which bug is seen:

      • CPU=AMD EPYC 7313 16-Core Processor
      • virtio-win-prewhql-0.1-283
      • kernel-5.14.0-590.el9.x86_64
      • seabios-bin-1.16.3-4.el9.noarch
      • edk2-ovmf-20241117-3.el9.noarch
      • swtpm-0.8.0-2.el9_4.x86_64
      • qemu-kvm-core-9.1.0-21.el9.x86_64

      How reproducible:
      100%

      Steps to reproduce
      1. Configure a Windows VM with virtio-net NICs using multiple and large queues (e.g., `NumOfQueues: 4`, `RxQueueSize: 1024`).
      2. Enable Driver Verifier for our netkvm.
      3. Boot the Windows guest OS.
      4. Open an elevated command prompt.
      5. Execute: `netsh interface set interface name="Ethernet" admin=ENABLED`
      6. Execute: `netsh interface set interface name="Ethernet" admin=DISABLED`
      7. Check the execution time of commands.

      Expected results
      Both turn-on and off `netsh` commands should complete promptly, typically within one second.

      Actual results
      Both turning operations on and off can take unacceptably long times.

      Notes:
      In the screenshot of attachment, the Disable operation often takes significantly longer. For the current NIC (`NumOfQueues: 4`, `RxQueueSize: 603`, `TxQueueSize: 256`, `LazyAllocTimeMs: -1):

      • Disable took more than 2 mins.

        1. compare with b266.png
          1.96 MB
          Wenkang Ji
        2. screenshot-1.png
          806 kB
          Wenkang Ji

              ybendito@redhat.com Yuri Benditovich
              rh-ee-wji Wenkang Ji
              Virt Windows SST Bugs Virt Windows SST Bugs
              Wenkang Ji Wenkang Ji
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: