summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | wavelan: Remove bogus debugging on skb->next being non-NULL.David S. Miller2009-05-282-9/+0
| | | | | | | | | | | | | | This eliminates explicit references to the SKB list handling implementation. Signed-off-by: David S. Miller <davem@davemloft.net>
* | aoe: Remove superfluous clearing of skb fields in new_skb().David S. Miller2009-05-281-7/+0
| | | | | | | | | | | | This code uses alloc_skb() which clears them out for us. Signed-off-by: David S. Miller <davem@davemloft.net>
* | appletalk: Add proper locking around IPDDP routing table.David S. Miller2009-05-281-8/+32
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: correct a comment for the final #endifJiri Pirko2009-05-281-1/+1
| | | | | | | | | | Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: net/core/sock.c cleanupEric Dumazet2009-05-281-59/+44
| | | | | | | | | | | | | | Pure style cleanup patch. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: use netdev stats in b44, sundance, via-rhine and via-velocityEric Dumazet2009-05-286-66/+73
| | | | | | | | | | | | | | | | Use struct net_device_stats provided in struct net_device instead of private ones. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: ALIGN/PTR_ALIGN cleanup in alloc_netdev_mq()/netdev_priv()Eric Dumazet2009-05-283-15/+7
| | | | | | | | | | | | | | | | | | Use ALIGN() and PTR_ALIGN() macros instead of handcoding them. Get rid of NETDEV_ALIGN_CONST ugly define Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | bridge: avoid an extra space in br_fdb_update()Jiri Pirko2009-05-281-1/+1
| | | | | | | | | | Signed-off-by: Jiri Pirko <jpirko@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | r6040: check and update media statusFlorian Fainelli2009-05-281-1/+5
| | | | | | | | | | | | | | | | | | | | This patch removes the not-that-useful message in the r6040_timer which prints the PHY status. Instead replace it with a call to mii_check_media which will update the link status and print it on startup. Signed-off-by: Florian Fainelli <florian@openwrt.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | tcp: Do not check flush when comparing options for GROHerbert Xu2009-05-271-1/+1
| | | | | | | | | | | | | | | | | | There is no need to repeatedly check flush when comparing TCP options for GRO as it will be false 99% of the time where it matters. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | gro: Store shinfo in local variable in skb_gro_receiveHerbert Xu2009-05-271-10/+12
| | | | | | | | | | | | | | | | This patch stores the two shinfo pointers in local variables because they're used over and over again in skb_gro_receive. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | gro: Nasty optimisations for page frags in skb_gro_receiveHerbert Xu2009-05-271-10/+15
| | | | | | | | | | | | | | | | | | | | This patch reverses the direction of the frags array copy in skb_gro_receive in order simplify the loop conditional. It also avoids touching the first element of the original frags array. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | gro: Open-code final pskb_may_pullHerbert Xu2009-05-271-4/+19
| | | | | | | | | | | | | | | | | | | | As we know the only packets which need the final pskb_may_pull are completely non-linear, and have all the required bits in frag0, we can perform a straight memcpy instead of going through pskb_may_pull and doing skb_copy_bits. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | ipv4: Use 32-bit loads for ID and length in GROHerbert Xu2009-05-271-4/+4
| | | | | | | | | | | | | | | | | | This patch optimises the IPv4 GRO code by using 32-bit loads (instead of 16-bit ones) on the ID and length checks in the receive function. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | gro: Avoid unnecessary comparison after skb_gro_headerHerbert Xu2009-05-275-26/+62
| | | | | | | | | | | | | | | | | | | | For the overwhelming majority of cases, skb_gro_header's return value cannot be NULL. Yet we must check it because of its current form. This patch splits it up into multiple functions in order to avoid this. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | gro: Optimise length comparison in skb_gro_headerHerbert Xu2009-05-272-3/+9
| | | | | | | | | | | | | | | | | | | | By caching frag0_len, we can avoid checking both frag0 and the length separately in skb_gro_header. This helps as skb_gro_header is called four times per packet which amounts to a few million times at 10Gb/s. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | tcp: Optimise len/mss comparisonHerbert Xu2009-05-271-1/+1
| | | | | | | | | | | | | | | | | | Instead of checking len > mss || len == 0, we can accomplish both by checking (len - 1) > mss using the unsigned wraparound. At nearly a million times a second, this might just help. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | tcp: Remove unnecessary window comparisons for GROHerbert Xu2009-05-271-1/+1
| | | | | | | | | | | | | | | | The window has already been checked as part of the flag word so there is no need to check it explicitly. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | tcp: Optimise GRO port comparisonsHerbert Xu2009-05-271-1/+1
| | | | | | | | | | | | | | | | Instead of doing two 16-bit operations for the source/destination ports, we can do one 32-bit operation to take care both. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | gro: Only use skb_gro_header for completely non-linear packetsHerbert Xu2009-05-272-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently skb_gro_header is used for packets which put the hardware header in skb->data with the rest in frags. Since the drivers that need this optimisation all provide completely non-linear packets, we can gain extra optimisations by only performing the frag0 optimisation for completely non-linear packets. In particular, we can simply test frag0 (instead of skb_headlen) to see whether the optimisation is in force. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | gro: Localise offset/headlen in skb_gro_offsetHerbert Xu2009-05-271-13/+10
| | | | | | | | | | | | | | | | This patch stores the offset/headlen in local variables as they're used repeatedly in skb_gro_offset. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | gro: Inline skb_gro_header and cache frag0 virtual addressHerbert Xu2009-05-272-22/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | The function skb_gro_header is called four times per packet which quickly adds up at 10Gb/s. This patch inlines it to allow better optimisations. Some architectures perform multiplication for page_address, which is done by each skb_gro_header invocation. This patch caches that value in skb->cb to avoid the unnecessary multiplications. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | gro: Open-code frags copy in skb_gro_receiveHerbert Xu2009-05-271-3/+6
| | | | | | | | | | | | | | | | | | | | | | gcc does a poor job at generating code for the memcpy of the frags array in skb_gro_receive, which is the primary purpose of that function when merging frags. In particular, it can't utilise the alignment information of the source and destination. This patch open-codes the copy so we process words instead of bytes. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | ixgbe: Fix build warningPeter P Waskiewicz Jr2009-05-271-1/+0
| | | | | | | | | | | | | | This patch fixes a build warning due to an unused label. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | phy: Eliminate references to BUS_ID_SIZE.David S. Miller2009-05-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | Just use the constant 20 to keep things working. If someone is so motivated, this can be converted over to dynamic strings. I tried and it's a lot of work. But for now this is good enough. Signed-off-by: David S. Miller <davem@davemloft.net>
* | nl80211: Eliminate reference to BUS_ID_SIZE.David S. Miller2009-05-271-1/+1
| | | | | | | | | | | | | | It's going away. Just leave the constant "20" here so that behavior doesn't change. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sh_eth: Remove references to BUS_ID_SIZE, use MII_BUS_ID_SIZE instead.David S. Miller2009-05-271-1/+1
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | cpmac: Remove references to BUS_ID_SIZE, use MII_BUS_ID_SIZE.David S. Miller2009-05-271-1/+1
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | ixp4xx_eth: Remove references to BUS_ID_SIZE.David S. Miller2009-05-271-2/+2
| | | | | | | | | | | | Use MII_BUS_ID_SIZE instead. Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: Remove bogus reference to BUS_ID_SIZE in sysfs code.David S. Miller2009-05-271-1/+0
| | | | | | | | | | | | | | | | | | | | BUS_ID_SIZE is really no more, and device names are dynamically allocated and thus can be any necessary size. So remove the BUG check here making sure BUS_ID_SIZE is at least as large as IFNAMSIZ. Signed-off-by: David S. Miller <davem@davemloft.net>
* | r8169: Use a different default for each familyJean Delvare2009-05-271-17/+22
| | | | | | | | | | | | | | | | | | | | | | | | The r8169 driver supports 3 different families of network chips (RTL8169, RTL8168 and RTL8101). When an unknown version is found, the driver currently always defaults to the RTL8169 variant. This has very little chance to ever work for chips of the other families. So better define a per-family default. Signed-off-by: Jean Delvare <jdelvare@suse.de> Acked-by: Francois Romieu <romieu@fr.zoreil.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net/ucc_geth: allow to set mac address on running deviceKevin Hao2009-05-271-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | Inspired by the patch for 8139too (bda6a15a). Currently we can't set mac address on a running ucc_geth device. But this is needed when you use this device as a bonding slave in bonding device in balance-alb mode. So add this feature for ucc_geth device. Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | niu: Add support for C10NEMTanli Chang2009-05-271-10/+47
| | | | | | | | | | | | | | | | This patch is for supporting C10NEM. C10NEM is a switch module, which has back-to-back XAUI link connected to blades. Signed-off-by: Tanli Chang <tanli.chang@sun.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | ixgbe: fix 82598 SFP initialization after driver load.Don Skidmore2009-05-273-19/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we loaded the driver with out a SFP module plugged in it would leave it in a state that make it later unable to link when a module was plugged in. This patch corrects that by: ixgbe_probe() - moving the check for IXGBE_ERR_SFP_NOT_PRESENT from after get_invariants() to after reset_hw() as now reset_hw() is where this condition will be indentified. ixgbe_reset_hw_82598() - Enable this function to now return IXGBE_ERR_SFP_NOT_PRESENT. ixgbe_identify_sfp_module_generic() - This where the lack of SFP module is detected. Modifications are added to allow a different return value for modules that just haven't been plugged in yet. Other functions were updated to allow correct logging. Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com> Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | ixgbe: Remove device ID 0x10d8Peter P Waskiewicz Jr2009-05-272-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | Device ID 0x10d8 is the default silicon device ID for 82599. However, the device will not be functional without an EEPROM, so we want to prevent the driver from loading on the device. Otherwise, the driver will load, but no PHY setup or PCIe setup will occur, causing the device to be unusable. To prevent users from encountering this, just remove the device ID. Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | igb/e1000e: update PSSR_MDIX value to reflect correct bitAlexander Duyck2009-05-272-2/+2
| | | | | | | | | | | | | | | | | | | | | | The phy port status register has the MDI-X status bit on bit 11, not bit 3 as is currently setup in the define. This patch corrects that so the correct bit is checked on igp PHY types. Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com> Acked-by: Bruce Allan <bruce.w.allan@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | igb: Record host memory receive overflow in net_statsJesper Dangaard Brouer2009-05-272-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on previous patch from Jesper Dangaard Brouer. The RNBC (Receive No Buffers Count) register for the 82576, indicate that frames were received when there were no available buffers in host memory to store those frames (receive descriptor head and tail pointers were equal). The packet is still received by the NIC if there is space in the FIFO on the NIC. As the RNBC value is not a packet drop, the driver stores this value in net_stats.rx_fifo_errors to indicate that there were no system buffers available for the incoming packet. Actual dropped packets are counted in the MPC value. Saving the stats in dev->net_stats makes it visible via /proc/net/dev as "fifo", and thus viewable to ifconfig as "overruns" and 'netstat -i' as "RX-OVR". The Receive No Buffers Count (RNBC) can already be queried by ethtool -S as "rx_no_buffer_count". Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> CC: Jesper Dangaard Brouer <hawk@comx.dk> Signed-off-by: David S. Miller <davem@davemloft.net>
* | igb: Implement reading of reg RQDPC (Receive Queue Drop Packet Count)Jesper Dangaard Brouer2009-05-273-10/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on the previous patches from Jesper Dangaard Brouer <hawk@comx.dk> Implement reading the per queue drop stats register RQDPC (Receive Queue Drop Packet Count). It counts the number of packets dropped by a queue due to lack of descriptors available. Notice RQDPC (Receive Queue Drop Packet Count) stats only gets incremented, if the DROP_EN bit it set (in the SRRCTL register for that queue). If DROP_EN bit is NOT set, then the some what equivalent count is stored in RNBC (not per queue basis). The RQDPC register is only 12 bit, thus the precision might suffer due to overrun in-netween the watchdog polling interval. Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> CC: Jesper Dangaard Brouer <hawk@comx.dk> Signed-off-by: David S. Miller <davem@davemloft.net>
* | igb: add RQDPC (Receive Queue Drop Packet Count) register macroJeff Kirsher2009-05-271-0/+1
| | | | | | | | | | Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | 8139*: convert printk() to pr_<foo>()Alexander Beregalov2009-05-272-84/+66
| | | | | | | | | | | | | | Also convert DPRINTK to pr_debug and dev_printk to dev_<foo>. Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | 3c5xx: convert printk() to pr_<foo>()Alexander Beregalov2009-05-274-242/+233
| | | | | | | | | | Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | 3c50x: convert printk() to pr_<foo>()Alexander Beregalov2009-05-275-219/+216
| | | | | | | | | | Signed-off-by: Alexander Beregalov <a.beregalov@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | atl1: use netdev->statsEric Dumazet2009-05-262-4/+3
| | | | | | | | | | | | | | | | Get rid of private struct net_device_stats in "struct atl1e_adapter", and use one provided in struct net_device instead. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: txq_trans_update() helperEric Dumazet2009-05-265-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We would like to get rid of netdev->trans_start = jiffies; that about all net drivers have to use in their start_xmit() function, and use txq->trans_start instead. This can be done generically in core network, as suggested by David. Some devices, (particularly loopback) dont need trans_start update, because they dont have transmit watchdog. We could add a new device flag, or rely on fact that txq->tran_start can be updated is txq->xmit_lock_owner is different than -1. Use a helper function to hide our choice. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: sh_eth: Add support SH7724Yoshihiro Shimoda2009-05-263-6/+111
| | | | | | | | | | | | | | Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: sh_eth: CPU dependency code collect to "struct sh_eth_cpu_data"Yoshihiro Shimoda2009-05-262-251/+386
| | | | | | | | | | | | | | | | This improves readability by collecting CPU dependency code. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: sh_eth: fix receive desciptor loopYoshihiro Shimoda2009-05-261-0/+1
| | | | | | | | | | | | | | | | Fix the problem that this driver not update rxdesc in sh_eth_rx. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: sh_eth: fix TX/RX descriptor not set physical memoryYoshihiro Shimoda2009-05-261-23/+12
| | | | | | | | | | | | | | | | Fix the probrem that TX/RX descirptor not set physical memory. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | net: sh_eth: fix cache coherency issueYoshihiro Shimoda2009-05-261-0/+4
| | | | | | | | | | | | | | | | Fix the problem that may not work receive process by cache coherency issue. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | pkt_sched: gen_estimator: Fix signed integers right-shifts.Jarek Poplawski2009-05-261-2/+2
| | | | | | | | | | | | | | | | | | Right-shifts of signed integers are implementation-defined so unportable. With feedback from: Eric Dumazet <dada1@cosmosbay.com> Signed-off-by: Jarek Poplawski <jarkao2@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>