1. 01 11月, 2016 6 次提交
    • A
      ldmvsw: tx queue stuck in stopped state after LDC reset · 8778b276
      Aaron Young 提交于
      The following patch fixes an issue with the ldmvsw driver where
      the network connection of a guest domain becomes non-functional after
      the guest domain has panic'd and rebooted.
      
      The root cause was determined to be from the following series of
      events:
      
      1. Guest domain panics - resulting in the guest no longer processing
         network packets (from ldmvsw driver)
      2. The ldmvsw driver (in the control domain) eventually exerts flow
         control due to no more available tx drings and stops the tx queue
         for the guest domain
      3. The LDC of the network connection for the guest is reset when
         the guest domain reboots after the panic.
      4. The LDC reset event is received by the ldmvsw driver and the ldmvsw
         responds by clearing the tx queue for the guest.
      5. ldmvsw waits indefinitely for a DATA ACK from the guest - which is
         the normal method to re-enable the tx queue. But the ACK never comes
         because the tx queue was cleared due to the LDC reset.
      
      To fix this issue, in addition to clearing the tx queue, re-enable the
      tx queue on a LDC reset. This prevents the ldmvsw from getting caught in
      this deadlocked state of waiting for a DATA ACK which will never come.
      Signed-off-by: NAaron Young <Aaron.Young@oracle.com>
      Acked-by: NSowmini Varadhan <sowmini.varadhan@oracle.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8778b276
    • D
      Merge branch 'xps-DCB' · 04f762e8
      David S. Miller 提交于
      Alexander Duyck says:
      
      ====================
      Add support for XPS when using DCB
      
      This patch series enables proper isolation between traffic classes when
      using XPS while DCB is enabled.  Previously enabling XPS would cause the
      traffic to be potentially pulled from one traffic class into another on
      egress.  This change essentially multiplies the XPS map by the number of
      traffic classes and allows us to do a lookup per traffic class for a given
      CPU.
      
      To guarantee the isolation I invalidate the XPS map for any queues that are
      moved from one traffic class to another, or if we change the number of
      traffic classes.
      
      v2: Added sysfs to display traffic class
          Replaced do/while with for loop
          Cleaned up several other for for loops throughout the patch
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      04f762e8
    • A
      net: Add support for XPS with QoS via traffic classes · 184c449f
      Alexander Duyck 提交于
      This patch adds support for setting and using XPS when QoS via traffic
      classes is enabled.  With this change we will factor in the priority and
      traffic class mapping of the packet and use that information to correctly
      select the queue.
      
      This allows us to define a set of queues for a given traffic class via
      mqprio and then configure the XPS mapping for those queues so that the
      traffic flows can avoid head-of-line blocking between the individual CPUs
      if so desired.
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      184c449f
    • A
      net: Refactor removal of queues from XPS map and apply on num_tc changes · 6234f874
      Alexander Duyck 提交于
      This patch updates the code for removing queues from the XPS map and makes
      it so that we can apply the code any time we change either the number of
      traffic classes or the mapping of a given block of queues.  This way we
      avoid having queues pulling traffic from a foreign traffic class.
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6234f874
    • A
      net: Add sysfs value to determine queue traffic class · 8d059b0f
      Alexander Duyck 提交于
      Add a sysfs attribute for a Tx queue that allows us to determine the
      traffic class for a given queue.  This will allow us to more easily
      determine this in the future.  It is needed as XPS will take the traffic
      class for a group of queues into account in order to avoid pulling traffic
      from one traffic class into another.
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8d059b0f
    • A
      net: Move functions for configuring traffic classes out of inline headers · 9cf1f6a8
      Alexander Duyck 提交于
      The functions for configuring the traffic class to queue mappings have
      other effects that need to be addressed.  Instead of trying to export a
      bunch of new functions just relocate the functions so that we can
      instrument them directly with the functionality they will need.
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9cf1f6a8
  2. 31 10月, 2016 24 次提交
  3. 30 10月, 2016 10 次提交