1. 19 8月, 2017 1 次提交
  2. 16 8月, 2017 4 次提交
  3. 15 8月, 2017 10 次提交
  4. 12 8月, 2017 1 次提交
  5. 10 8月, 2017 1 次提交
  6. 09 8月, 2017 1 次提交
  7. 07 8月, 2017 1 次提交
  8. 03 8月, 2017 1 次提交
  9. 20 7月, 2017 1 次提交
    • G
      liquidio: lio_main: remove unnecessary static in setup_io_queues() · eb2b9874
      Gustavo A. R. Silva 提交于
      Remove unnecessary static on local variables cpu_id_modulus and cpu_id.
      Such variables are initialized before being used, on every execution
      path throughout the function. The static has no benefit and, removing
      it reduces the object file size.
      
      This issue was detected using Coccinelle and the following semantic patch:
      
      @bad exists@
      position p;
      identifier x;
      type T;
      @@
      
      static T x@p;
      ...
      x = <+...x...+>
      
      @@
      identifier x;
      expression e;
      type T;
      position p != bad.p;
      @@
      
      -static
       T x@p;
       ... when != x
           when strict
      ?x = e;
      
      In the following log you can see a significant difference in the object
      file size. Also, there is a significant difference in the bss segment.
      This log is the output of the size command, before and after the code
      change:
      
      before:
         text    data     bss     dec     hex filename
        78689   15272   27808  121769   1dba9 drivers/net/ethernet/cavium/liquidio/lio_main.o
      
      after:
         text    data     bss     dec     hex filename
        78667   15128   27680  121475   1da83 drivers/net/ethernet/cavium/liquidio/lio_main.o
      Signed-off-by: NGustavo A. R. Silva <gustavo@embeddedor.com>
      Acked-by: NFelix Manlunas <felix.manlunas@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      eb2b9874
  10. 19 6月, 2017 2 次提交
  11. 22 5月, 2017 1 次提交
  12. 18 5月, 2017 2 次提交
  13. 08 4月, 2017 1 次提交
    • F
      liquidio: fix VF incorrectly indicating that it successfully set its VLAN · 0c264588
      Felix Manlunas 提交于
      For security reasons, NIC firmware does not allow VF to set its VLAN if PF
      set it already.  Firmware allows VF to set its VLAN if PF did not set it.
      After the VF instructs the firmware to set the VLAN, VF always indicates
      (via return 0) that the operation is successful--even for the times when it
      isn't.
      
      Put in a mechanism for the VF's set VLAN function to receive the firmware
      response code, then make that function return -EPERM if the firmware
      forbids the operation.
      
      Make that mechanism available for other functions that may, in the future,
      be interested in receiving the response code from the firmware.  That
      mechanism involves adding new fields to struct octnic_ctrl_pkt, so make all
      users of struct octnic_ctrl_pkt initialize the struct to zero before using
      it; otherwise, the mechanism might act on uninitialized garbage.
      Signed-off-by: NFelix Manlunas <felix.manlunas@cavium.com>
      Signed-off-by: NDerek Chickles <derek.chickles@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0c264588
  14. 07 4月, 2017 1 次提交
    • F
      liquidio: fix Octeon core watchdog timeout false alarm · bb54be58
      Felix Manlunas 提交于
      Detection of watchdog timeout of Octeon cores is flawed and susceptible to
      false alarms.  Refactor by removing the detection code, and in its place,
      leverage existing code that monitors for an indication from the NIC
      firmware that an Octeon core crashed; expand the meaning of the indication
      to "an Octeon core crashed or its watchdog timer expired".  Detection of
      watchdog timeout is now delegated to an exception handler in the NIC
      firmware; this is free of false alarms.
      
      Also if there's an Octeon core crash or watchdog timeout:
      (1) Disable VF Ethernet links.
      (2) Decrement the module refcount by an amount equal to the number of
          active VFs of the NIC whose Octeon core crashed or had a watchdog
          timeout.  The refcount will continue to reflect the active VFs of
          other liquidio NIC(s) (if present) whose Octeon cores are faultless.
      
      Item (2) is needed to avoid the case of not being able to unload the driver
      because the module refcount is stuck at some non-zero number.  There is
      code that, in normal cases, decrements the refcount upon receiving a
      message from the firmware that a VF driver was unloaded.  But in
      exceptional cases like an Octeon core crash or watchdog timeout, arrival of
      that particular message from the firmware might be unreliable.  That normal
      case code is changed to not touch the refcount in the exceptional case to
      avoid contention (over the refcount) with the liquidio_watchdog kernel
      thread who will carry out item (2).
      Signed-off-by: NFelix Manlunas <felix.manlunas@cavium.com>
      Signed-off-by: NDerek Chickles <derek.chickles@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bb54be58
  15. 31 3月, 2017 1 次提交
  16. 29 3月, 2017 1 次提交
  17. 25 3月, 2017 1 次提交
  18. 23 3月, 2017 3 次提交
  19. 22 3月, 2017 3 次提交
  20. 17 3月, 2017 1 次提交
  21. 13 3月, 2017 1 次提交
  22. 10 3月, 2017 1 次提交