20 Dec, 2013

6 commits

  • It already has a NULL pointer check of rtab in qdisc_put_rtab().
    Remove the check outside of qdisc_put_rtab().

    Signed-off-by: Yang Yingliang
    Signed-off-by: David S. Miller

    Yang Yingliang
     
  • It already has a NULL pointer check of rtab in qdisc_put_rtab().
    Remove the check outside of qdisc_put_rtab().

    Signed-off-by: Yang Yingliang
    Signed-off-by: David S. Miller

    Yang Yingliang
     
  • Fixes the following sparse warning:

    drivers/net/ethernet/sfc/falcon.c:2601:6: warning:
    symbol 'falcon_pull_nic_stats' was not declared. Should it be static?

    Signed-off-by: Wei Yongjun
    Signed-off-by: David S. Miller

    Wei Yongjun
     
  • It can be a bit confusing when looking for checksumming flags that
    the actual comment for this resides elsewhere further below in the
    header file.

    Thus, bring the documentation where we define these flags, and
    slightly improve the doc text to make it a bit more clear/readable.

    Also, whitespace-align values of the define while at it.

    Signed-off-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Daniel Borkmann
     
  • This patch implements the first size-based qdisc that attempts to
    differentiate between small flows and heavy-hitters. The goal is to
    catch the heavy-hitters and move them to a separate queue with less
    priority so that bulk traffic does not affect the latency of critical
    traffic. Currently "less priority" means less weight (2:1 in
    particular) in a Weighted Deficit Round Robin (WDRR) scheduler.

    In essence, this patch addresses the "delay-bloat" problem due to
    bloated buffers. In some systems, large queues may be necessary for
    obtaining CPU efficiency, or due to the presence of unresponsive
    traffic like UDP, or just a large number of connections with each
    having a small amount of outstanding traffic. In these circumstances,
    HHF aims to reduce the HoL blocking for latency sensitive traffic,
    while not impacting the queues built up by bulk traffic. HHF can also
    be used in conjunction with other AQM mechanisms such as CoDel.

    To capture heavy-hitters, we implement the "multi-stage filter" design
    in the following paper:
    C. Estan and G. Varghese, "New Directions in Traffic Measurement and
    Accounting", in ACM SIGCOMM, 2002.

    Some configurable qdisc settings through 'tc':
    - hhf_reset_timeout: period to reset counter values in the multi-stage
    filter (default 40ms)
    - hhf_admit_bytes: threshold to classify heavy-hitters
    (default 128KB)
    - hhf_evict_timeout: threshold to evict idle heavy-hitters
    (default 1s)
    - hhf_non_hh_weight: Weighted Deficit Round Robin (WDRR) weight for
    non-heavy-hitters (default 2)
    - hh_flows_limit: max number of heavy-hitter flow entries
    (default 2048)

    Note that the ratio between hhf_admit_bytes and hhf_reset_timeout
    reflects the bandwidth of heavy-hitters that we attempt to capture
    (25Mbps with the above default settings).

    The false negative rate (heavy-hitter flows getting away unclassified)
    is zero by the design of the multi-stage filter algorithm.
    With 100 heavy-hitter flows, using four hashes and 4000 counters yields
    a false positive rate (non-heavy-hitters mistakenly classified as
    heavy-hitters) of less than 1e-4.

    Signed-off-by: Terry Lam
    Acked-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Terry Lam
     
  • Added software timestamping ability. Tested with linuxptp and synchronized
    clocks to an average of less than 200 microseconds on 10 megabit ethernet.

    Tested on both Vortex and Boomerang models.

    Signed-off-by: Matthew Whitehead
    Signed-off-by: David S. Miller

    Matthew Whitehead
     

19 Dec, 2013

26 commits


18 Dec, 2013

8 commits

  • This patch changes how the driver initializes MSIx and checks
    for MSIx configuration. This change makes it easier to reconfigure the
    device when queue changes happen at runtime using ethtool's set_channels
    feature.

    Signed-off-by: Carolyn Wyborny
    Tested-by: Aaron Brown
    Signed-off-by: Jeff Kirsher

    Carolyn Wyborny
     
  • When changing number of queues using ethtool's set_channels during runtime,
    a queue allocation could fail, which can leave the device in a down state.
    In order to preserve the usability of the device in this scenario, this patch
    changes the driver to allocate the number of queues only if they have not
    been allocated already. The first allocation is then done for the max number
    of queues, which is the default queues for this driver. With this change,
    queue quantity changes are not subject to queue allocation failures.

    Signed-off-by: Carolyn Wyborny
    Tested-by: Aaron Brown
    Signed-off-by: Jeff Kirsher

    Carolyn Wyborny
     
  • Per hwmon ABI, temperature sensor attribute index starts with 1, not 0.

    Signed-off-by: Guenter Roeck
    Reviewed-by: Jean Delvare
    Signed-off-by: Jeff Kirsher

    Guenter Roeck
     
  • Simplify the code. Attach hwmon sysfs attributes to hwmon device
    instead of pci device. Avoid race conditions caused by attributes
    being created after hwmon device registration. Implicitly
    (through hwmon API) add mandatory 'name' sysfs attribute.

    Other cleanup:

    Instead of allocating memory for hwmon attributes, move attributes
    and all other hwmon related data into struct hwmon_buff and allocate
    the entire structure using devm_kzalloc.

    Check return value from calls to igb_add_hwmon_attr() one by one instead
    of logically combining them all together.

    Signed-off-by: Guenter Roeck
    Tested-by: Phil Schmitt
    Signed-off-by: Jeff Kirsher

    Guenter Roeck
     
  • This patch takes the DCB config checks and adds them to the normal setting
    up of the queues. This way we won't have to allocation queues in a separate
    place for enabling DCB.

    Signed-off-by: Alexander Duyck
    Signed-off-by: Don Skidmore
    Tested-by: Phil Schmitt
    Tested-By: Jack Morgan
    Signed-off-by: Jeff Kirsher

    Don Skidmore
     
  • Make local functions static in the file they are used.

    Remove functions i40e_aq_add_vlan and i40e_aq_remove_vlan since
    they are not used anywhere by current code.

    Signed-off-by: Stephen Hemminger
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Stephen Hemminger
     
  • We assume that the resulting buffer is zero terminated when we then
    re-use it. The sscanf is limited to 512 bytes but needs to be 511
    to allow for a terminator.

    One of a set of problems noted by Jackie Chang

    Signed-off-by: Alan Cox
    Acked-by: Shannon Nelson
    Tested-by: Kavindya Deegala
    Signed-off-by: Jeff Kirsher

    Alan Cox
     
  • Version updated to 0.3.14-k

    Signed-off-by: Catherine Sullivan
    Signed-off-by: Jesse Brandeburg
    Signed-off-by: Jeff Kirsher

    Catherine Sullivan