• John Fastabend's avatar
    ixgbe: configure minimal packet buffers to support TC · 8b1c0b24
    John Fastabend authored
    ixgbe devices support different numbers of packet buffers either
    8 or 4. Here we only allocate the minimal number of packet
    buffers required to implement the net_devices number of traffic
    classes.
    
    Fewer traffic classes allows for larger packet buffers in
    hardware. Also more Tx/Rx queues can be given to each
    traffic class.
    
    This patch is mostly about propagating the number of traffic
    classes through the init path. Specifically this adds the 4TC
    cases to the MRQC and MTQC setup routines. Also ixgbe_setup_tc()
    was sanitized to handle other traffic class value.
    
    Finally changing the number of packet buffers in the hardware
    requires the device to reinit. So this moves the reinit work
    from DCB into the main ixgbe_setup_tc() routine to consolidate
    the reset code. Now dcbnl_xxx ops call ixgbe_setup_tc() to
    configure packet buffers if needed.
    Signed-off-by: default avatarJohn Fastabend <john.r.fastabend@intel.com>
    Tested-by: default avatarRoss Brattain <ross.b.brattain@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    8b1c0b24
ixgbe_main.c 218 KB