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 -
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 -
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 -
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 -
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 -
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
19 Dec, 2013
26 commits
-
This patch adds the include file to pull in __read_mostly on some
architectures e.g. ppc and also fixes up signatures in generic
asm.Reported-by: Fengguang Wu
Signed-off-by: Francesco Fusco
Signed-off-by: David S. Miller -
I don't think the in-kernel drivers ever hit this strcpy() so this
doesn't change how the code works. But strlcpy() is safer.Signed-off-by: Dan Carpenter
Signed-off-by: David S. Miller -
Fix spelling errors in bridge driver.
Signed-off-by: Tan Xiaojun
Acked-by: Stephen Hemminger
Signed-off-by: David S. Miller -
IPV6_PMTU_INTERFACE is the same as IPV6_PMTU_PROBE for ipv6. Add it
nontheless for symmetry with IPv4 sockets. Also drop incoming MTU
information if this mode is enabled.The additional bit in ipv6_pinfo just eats in the padding behind the
bitfield. There are no changes to the layout of the struct at all.Signed-off-by: Hannes Frederic Sowa
Signed-off-by: David S. Miller -
This new mode discards all incoming fragmentation-needed notifications
as I guess was originally intended with this knob. To not break backward
compatibility too much, I only added a special case for mode 2 in the
receiving path.Signed-off-by: Hannes Frederic Sowa
Signed-off-by: David S. Miller -
The other field in ipv4_config, log_martians, was converted to a
per-interface setting, so we can just remove the whole structure.Signed-off-by: Hannes Frederic Sowa
Signed-off-by: David S. Miller -
Conflicts:
drivers/net/ethernet/intel/i40e/i40e_main.c
drivers/net/macvtap.cBoth minor merge hassles, simple overlapping changes.
Signed-off-by: David S. Miller
-
Drivers should call skb_set_hash to set the hash and its type
in an skbuff.Signed-off-by: Tom Herbert
Signed-off-by: David S. Miller -
Drivers should call skb_set_hash to set the hash and its type
in an skbuff.Signed-off-by: Tom Herbert
Signed-off-by: David S. Miller -
Drivers should call skb_set_hash to set the hash and its type
in an skbuff.Signed-off-by: Tom Herbert
Signed-off-by: David S. Miller -
Drivers should call skb_set_hash to set the hash and its type
in an skbuff.Signed-off-by: Tom Herbert
Signed-off-by: David S. Miller -
Drivers should call skb_set_hash to set the hash and its type
in an skbuff.Signed-off-by: Tom Herbert
Signed-off-by: David S. Miller -
Drivers should call skb_set_hash to set the hash and its type
in an skbuff.Signed-off-by: Tom Herbert
Signed-off-by: David S. Miller -
Drivers should call skb_set_hash to set the hash and its type
in an skbuff.Signed-off-by: Tom Herbert
Signed-off-by: David S. Miller -
Drivers should call skb_set_hash to set the hash and its type
in an skbuff.Signed-off-by: Tom Herbert
Signed-off-by: David S. Miller -
Drivers should call skb_set_hash to set the hash and its type
in an skbuff.Signed-off-by: Tom Herbert
Signed-off-by: David S. Miller -
Drivers should call skb_set_hash to set the hash and its type
in an skbuff.Signed-off-by: Tom Herbert
Signed-off-by: David S. Miller -
Drivers should call skb_set_hash to set the hash and its type
in an skbuff.Signed-off-by: Tom Herbert
Signed-off-by: David S. Miller -
Jeff Kirsher says:
====================
Intel Wired LAN Driver UpdatesThis series contains updates to i40e, ixgbevf, ixgbe and igb.
Don provides an ixgbevf patch to add DCB configuration into the queue
setup so that we won't have to allocate queues in a separate place when
enabling DCB.Guenter Roeck provides 2 patches for ixgbe to simplify the code by
attaching hwmon sysfs attributes to hwmon device instead of PCI device.
Also fix an issues where the temperature sensor attribute index was
being started with the value 0 and not 1 as per the hwmon API.Carolyn provides igb patches to fix queue allocation method to
accommodate changes during runtime. This includes changing how the
driver initializes MSIx and checks for MSIx configuration to make it
easier to reconfigure the device when queue changes happen at runtime.Neerav and Shannon fixes i40e debugfs commands that dump hex information
by using print_hex_dump().Shannon provides several i40e fixes which include the prevention of
null pointer exception in the dump descriptor by checking that rings
were allocated before trying to reference them. Fixed up a couple of
scanfs to accept various base numbers instead of silently requiring hex.Anjali fixes up i40e where the incorrect defines were being used for
misc interrupts.Alan Cox provides a fix for i40e where 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.Stephen Hemminger fixes i40e by making local functions static and removes
unused code (i40e_aq_add/remove_vlan() functions).
====================Signed-off-by: David S. Miller
-
We don't need to maintain our own singly linked list code.
Cc: Jamal Hadi Salim
Cc: David S. Miller
Signed-off-by: Cong Wang
Signed-off-by: Jamal Hadi Salim
Signed-off-by: David S. Miller -
We don't need to maintain our own singly linked list code.
Cc: Jamal Hadi Salim
Cc: David S. Miller
Signed-off-by: Cong Wang
Signed-off-by: Jamal Hadi Salim
Signed-off-by: David S. Miller -
So that we don't need to play with singly linked list,
and since the code is not on hot path, we can use spinlock
instead of rwlock.Cc: Jamal Hadi Salim
Cc: David S. Miller
Signed-off-by: Cong Wang
Signed-off-by: Jamal Hadi Salim
Signed-off-by: David S. Miller -
It looks weird to store the lock out of the struct but
still points to a static variable. Just move them into the struct.Cc: Jamal Hadi Salim
Cc: David S. Miller
Signed-off-by: Cong Wang
Signed-off-by: Jamal Hadi Salim
Signed-off-by: David S. Miller -
These information can be saved in tcf_exts, and this will
simplify the code.Cc: Jamal Hadi Salim
Cc: David S. Miller
Signed-off-by: Cong Wang
Signed-off-by: Jamal Hadi Salim
Signed-off-by: David S. Miller -
Currently actions are chained by a singly linked list,
therefore it is a bit hard to add and remove a specific
entry. Convert it to struct list_head so that in the
latter patch we can remove an action without finding
its head.Cc: Jamal Hadi Salim
Cc: David S. Miller
Signed-off-by: Cong Wang
Signed-off-by: Jamal Hadi Salim
Signed-off-by: David S. Miller -
It is not used.
Cc: Jamal Hadi Salim
Cc: David S. Miller
Signed-off-by: Cong Wang
Signed-off-by: Jamal Hadi Salim
Signed-off-by: David S. Miller
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 -
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 -
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 -
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 -
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 -
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 -
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 -
Version updated to 0.3.14-k
Signed-off-by: Catherine Sullivan
Signed-off-by: Jesse Brandeburg
Signed-off-by: Jeff Kirsher