02 Sep, 2009
40 commits
-
All instances of file_operations should be const.
Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
The function block inet_connect_sock_af_ops contains no data
make it constant.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
No need to put ethtool_ops in data, they should be const.
Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
This patch updates the tg3 version to 3.102.
Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
The 5717 is a dual port chip that has a shared MDIO bus design. While
it is impossible for one function to interface with the wrong phy, that
function still needs to know which MDIO bus address to use when
interfacing with its own phy. This patch adds code to determine which
MDIO bus address to use.Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch adds NVRAM detection routines for the 5717.
Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch adds the 5717 asic rev.
Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
When RSS is enabled, the status block format changes slightly. The
"rx_jumbo_consumer", "reserved", and "rx_mini_consumer" members get
mapped to the other three rx return ring producer indexes. This patch
introduces a new per-interrupt member which identifies which location
in the status block a particular vector should look for return ring
updates.Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
When multivector RSS is enabled, the first interrupt vector is only used
to report link interrupts and error conditions. This patch changes the
code so that rx and tx ring resources are not allocated for this vector.Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch adds code needed to enable RSS.
Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch adds code to tune the coalescing parameters for the other
msix vectors.Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch adds code to enable and disable the rest of the NAPI
instances.Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch exposes the additional transmit rings to the kernel and makes
the necessary modifications to transmit, open, and close paths.Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch fixes up two spots that need attention now that msix support
has been added.Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch adds code to assign status block, tx producer ring and rx
return ring resources needed for the other interrupt vectors.Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
The 5717 assigns mailbox locations to interrupt vectors in a rather
non-intuitive way. (Much of the complexity stems from legacy
compatibility issues.) This patch implements the assignment scheme.Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch adds MSI-X support.
Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch adds code to support multiple interrupt vectors around the
kernel's interrupt API.Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch moves most of the chip ring setup logic into a separate
function. This will make it easier to verify the multi ring setup
changes.Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
Each interrupt vector has its own bit in the host coalescing register to
force that vector's status block to be updated and generate an
interrupt. This patch adds a member to the per-interrupt structure
that records which bit belongs to that vector.Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
This patch inlines the code of tg3_cond_int() into the function's only
callsite. This prep work makes the following patch cleaner.Signed-off-by: Matt Carlson
Reviewed-by: Benjamin Li
Signed-off-by: David S. Miller -
Conflicts:
drivers/net/yellowfin.c -
qdisc drops should be notified to IP_RECVERR enabled sockets, as done in IPV4.
Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
The net_dev of backlog napi is NULL, like below:
__get_cpu_var(softnet_data).backlog.dev == NULL
So, we should check it in napi tracepoint's probe function
Acked-by: Neil Horman
Signed-off-by: Xiao Guangrong
Signed-off-by: David S. Miller -
These are full of unresolved problems, mainly that conversions don't
work 1-1 from hrtimers to tasklet_hrtimers because unlike hrtimers
tasklets can't be killed from softirq context.And when a qdisc gets reset, that's exactly what we need to do here.
We'll work this out in the net-next-2.6 tree and if warranted we'll
backport that work to -stable.This reverts the following 3 changesets:
a2cb6a4dd470d7a64255a10b843b0d188416b78f
("pkt_sched: Fix bogon in tasklet_hrtimer changes.")38acce2d7983632100a9ff3fd20295f6e34074a8
("pkt_sched: Convert CBQ to tasklet_hrtimer.")ee5f9757ea17759e1ce5503bdae2b07e48e32af9
("pkt_sched: Convert qdisc_watchdog to tasklet_hrtimer")Signed-off-by: David S. Miller
-
Noticed by Michal Simek.
Signed-off-by: David S. Miller
-
After commit 2b85a34e911bf483c27cfdd124aeb1605145dc80
(net: No more expensive sock_hold()/sock_put() on each tx)
sk_free() frees socks conditionally and depends
on sk_wmem_alloc being set e.g. in sock_init_data(). But in some
cases sk_free() is called earlier, usually after other alloc errors.Fix is to move sk_wmem_alloc initialization from sock_init_data()
to sk_alloc() itself.Signed-off-by: Jarek Poplawski
Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
These tables are never modified at runtime. Move to read-only
section.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
aup->mii_bus->irq allocation may fail, prevent a dereference of NULL.
Signed-off-by: Roel Kluin
Acked-by: Florian Fainelli
Signed-off-by: David S. Miller -
This patch updates the sysctl documentation concerning the interpretation
of tcp_retries{1,2} and tcp_orphan_retries.Signed-off-by: Damian Lukowski
Signed-off-by: David S. Miller -
This patch affects the retransmits_timed_out() function.
Changes:
1) Variables have more meaningful names
2) retransmits_timed_out() has an introductionary comment.
3) Small coding style changes.Signed-off-by: Damian Lukowski
Signed-off-by: David S. Miller -
B0_CTST is a 24bit register according to the vendor driver (sk98lin).
A 16bit read on B0_CTST will always return 0 for Y2_VAUX_AVAIL (1<
Acked-by: Stephen Hemminger
Signed-off-by: David S. Miller -
Refactor similar two sections of code that free buffers into one.
Only call tx_init if all buffer allocations succeed.Signed-off-by: Mike McCormack
Acked-by: Stephen Hemminger
Signed-off-by: David S. Miller -
Observed by Mike McCormack.
The LED bit here is just a software controlled value used to
turn on one of the LED's on some boards. The register value was wrong,
which could have been causing some power control issues.
Get rid of problematic define use the correct mask.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
As tun always has an embeedded struct sock,
use sk and sk_receive_queue fields instead of
duplicating them in tun_struct.Signed-off-by: Michael S. Tsirkin
Signed-off-by: David S. Miller -
struct net::ipv6.ip6_dst_ops is separatedly dynamically allocated,
but there is no fundamental reason for it. Embed it directly into
struct netns_ipv6.For that:
* move struct dst_ops into separate header to fix circular dependencies
I honestly tried not to, it's pretty impossible to do other way
* drop dynamical allocation, allocate together with netnsFor a change, remove struct dst_ops::dst_net, it's deducible
by using container_of() given dst_ops pointer.Signed-off-by: Alexey Dobriyan
Signed-off-by: David S. Miller -
We can speedup ether addresses compares using compare_ether_addr_64bits()
instead of memcmp(). We make sure all operands are at least 8 bytes long and
16bits aligned (or better, long word aligned if possible)Signed-off-by: Eric Dumazet
Reviewed-by: Jiri Pirko
Signed-off-by: David S. Miller -
To speedup ether addresses compares, we can use compare_ether_addr_64bits()
(all operands are guaranteed to be at least 8 bytes long)Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller