• Vinicius Costa Gomes's avatar
    igb: Fix the transmission mode of queue 0 for Qav mode · 2707df97
    Vinicius Costa Gomes authored
    When Qav mode is enabled, queue 0 should be kept on Stream Reservation
    mode. From the i210 datasheet, section 8.12.19:
    
    "Note: Queue0 QueueMode must be set to 1b when TransmitMode is set to
    Qav." ("QueueMode 1b" represents the Stream Reservation mode)
    
    The solution is to give queue 0 the all the credits it might need, so
    it has priority over queue 1.
    
    A situation where this can happen is when cbs is "installed" only on
    queue 1, leaving queue 0 alone. For example:
    
    $ tc qdisc replace dev enp2s0 handle 100: parent root mqprio num_tc 3 \
         	   map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@1 2@2 hw 0
    
    $ tc qdisc replace dev enp2s0 parent 100:2 cbs locredit -1470 \
         	   hicredit 30 sendslope -980000 idleslope 20000 offload 1
    Signed-off-by: default avatarVinicius Costa Gomes <vinicius.gomes@intel.com>
    Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    2707df97
igb_main.c 246 KB