summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2010-11-29xps: add __rcu annotationsEric Dumazet2-11/+17
Avoid sparse warnings : add __rcu annotations and use rcu_dereference_protected() where necessary. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Cc: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29xps: NUMA allocations for per cpu dataEric Dumazet1-2/+3
store_xps_map() allocates maps that are used by single cpu, it makes sense to use NUMA allocations. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Cc: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29sctp: kill unused macros in head fileShan Wei2-5/+0
1. SCTP_CMD_NUM_VERBS,SCTP_CMD_MAX These two macros have never been used for several years since v2.6.12-rc2. 2.sctp_port_rover,sctp_port_alloc_lock The commit 063930 abandoned global variables of port_rover and port_alloc_lock, but still keep two macros to refer to them. So, remove them now. commit 06393009000779b00a558fd2f280882cc7dc2008 Author: Stephen Hemminger <shemminger@linux-foundation.org> Date: Wed Oct 10 17:30:18 2007 -0700 [SCTP]: port randomization Signed-off-by: Shan Wei <shanwei@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29vmxnet3: fix compilation when RSS is disabledScott J. Goldman1-1/+4
If RSS is disabled, we can ifdef out some RSS specific code. This fixes the compile error found by Randy Dunlap. Signed-off-by: Scott J. Goldman <scottjg@vmware.com> Reviewed-by: Bhavesh Davda <bhavesh@vmware.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29xps: Add CONFIG_XPSTom Herbert5-43/+73
This patch adds XPS_CONFIG option to enable and disable XPS. This is done in the same manner as RPS_CONFIG. This is also fixes build failure in XPS code when SMP is not enabled. Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29qeth: l3 fix len in tso hdrFrank Blaschka1-0/+1
The tso hdr is longer then the regular l3 hdr. Fix the calculation of the total len by accounting the size of the tso hdr. Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29qeth: enable interface setup if LAN is offlineUrsula Braun2-10/+12
Device initialization of a qeth device contains a STARTLAN step. This step may fail, if cable is not yet plugged in. The qeth device stays in state HARDSETUP until cable is plugged in. This prevents further preparational initialization steps of the qeth device and its network interface. This patch makes sure initialization of qeth device continues, even though cable is not yet plugged in. Once carrier is available, qeth is notified, triggers a recovery which results in a working network interface. Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com> Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29drivers/s390/net: Remove unnecessary semicolonsJoe Perches1-1/+1
Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29qeth lcs: convert mc rwlock to RCUSachin Sant2-9/+12
Commit 1d7138de878d1d4210727c1200193e69596f93b3 igmp: RCU conversion of in_dev->mc_list converted rwlock to RCU. Update the s390 network drivers(qeth & lcs) code to adapt to this change. V2 : Changes based on suggestions given by Eric Dumazet Signed-off-by: Sachin Sant <sachinp@in.ibm.com> Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com> Signed-off-by: Frank Blaschka <frank.blaschka@de.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29stmmac: fix stmmac_resume removing not yet used shutdown flagGiuseppe Cavallaro1-7/+0
The commit to convert to use the dev_pm_ops struct introduces a bug. The shutdown flag is not yet used because the hibernation on memory is done by using the freeze callback. Thanks to Vlad for having reported it. Reported-by: Vlad Lungu <vlad.lungu@windriver.com> Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29forcedeth: use usleep_range not msleep for small sleepsSzymon Janc1-1/+1
Signed-off-by: Szymon Janc <szymon@janc.net.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29forcedeth: do not use assignment in if conditionsSzymon Janc1-2/+4
Signed-off-by: Szymon Janc <szymon@janc.net.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29forcedeth: include <linux/io.h> and <linux/uaccess.h> instead of <asm/io.h> ↵Szymon Janc1-2/+2
and <asm/uaccess.h> as suggested by checkpatch Signed-off-by: Szymon Janc <szymon@janc.net.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29forcedeth: remove unnecessary checks before kfreeSzymon Janc1-8/+5
Signed-off-by: Szymon Janc <szymon@janc.net.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29forcedeth: fix multiple code style issuesSzymon Janc1-166/+135
Signed-off-by: Szymon Janc <szymon@janc.net.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29zd1211rw: document need for kmalloc castJoe Perches1-0/+1
Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29vxge: remove unnecessary [kv][mcz]alloc castsJoe Perches2-18/+10
Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29qlcnic: remove unnecessary [kv][mcz]alloc castsJoe Perches1-2/+1
Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-29netxen: remove unnecessary [kv][mcz]alloc castsJoe Perches1-2/+1
Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28cxgb3: Removing unused return variableBreno Leitao1-2/+1
Currently the ret variable is not used for anything other than receive the value of the t3_adapter_error(), which will always be 0, because the reset parameter is 0. Signed-off-by: Breno Leitao <leitao@linux.vnet.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28ipv6: Prepare the tree for un-inlined jhash.Jozsef Kadlecsik2-32/+26
jhash is widely used in the kernel and because the functions are inlined, the cost in size is significant. Also, the new jhash functions are slightly larger than the previous ones so better un-inline. As a preparation step, the calls to the internal macros are replaced with the plain jhash function calls. Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28xfrm: fix gre key endianessTimo Teräs1-2/+2
fl->fl_gre_key is network byte order contrary to fl->fl_icmp_*. Make xfrm_flowi_{s|d}port return network byte order values for gre key too. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28ethoc: remove division from loopsJonas Bonn1-4/+13
Calculating the BD entry using a modulus operation isn't optimal, especially inside the loop. This patch removes the modulus operations in favour of: i) simply checking for wrapping in the case of cur_rx ii) forcing num_tx to be a power of two and using it to mask out the entry from cur_tx The also prevents possible issues related overflow of the cur_rx and cur_tx counters. Signed-off-by: Jonas Bonn <jonas@southpole.se> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28ethoc: fix function return typeJonas Bonn1-3/+2
update_ethoc_tx_stats doesn't need to return anything so make its return type void in order to avoid an unnecessary cast when the function is called. Signed-off-by: Jonas Bonn <jonas@southpole.se> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28ethoc: rework mdio read/writeJonas Bonn1-8/+6
MDIO read and write were checking whether a timeout had expired to determine whether to recheck the result of the MDIO operation. Under heavy CPU usage, however, it was possible for the timeout to expire before the routine got around to be able to check a second time even, thus erroneousy returning an -EBUSY. This patch changes the the MDIO IO routines to try up to five times to complete the operation before giving up, thus lessening the dependency on CPU load. This resolves a problem whereby a ping flood would keep the CPU so busy that the above problem would manifest itself; the MDIO command to check link status would fail and the interface would erroneously be shut down. Signed-off-by: Jonas Bonn <jonas@southpole.se> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28ethoc: rework interrupt handlingJonas Bonn1-27/+49
The old interrupt handling was incorrect in that it did not account for the fact that the interrupt source bits get set irregardless of whether or not their corresponding mask is set. This patch fixes that by masking off the source bits for masked interrupts. Furthermore, the handling of transmission events is moved to the NAPI polling handler alongside the reception handler, thus preventing a whole bunch of interrupts during heavy traffic. Signed-off-by: Jonas Bonn <jonas@southpole.se> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28ethoc: Double check pending RX packetJonas Bonn1-2/+13
An interrupt may occur between checking bd.stat and clearing the interrupt source register which would result in the packet going totally unnoticed as the interrupt will be missed. Double check bd.stat after clearing the interrupt source register to guard against such an occurrence. Signed-off-by: Jonas Bonn <jonas@southpole.se> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28ethoc: enable interrupts after napi_completeAdam Edvardsson1-1/+1
Occasionally, it seems that some race is causing the interrupts to not be reenabled otherwise with the end result that networking just stops working. Enabling interrupts after calling napi_complete is more in line with what other drivers do. Signed-off-by: Jonas Bonn <jonas@southpole.se> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28ethoc: remove unused spinlockJonas Bonn1-3/+0
Signed-off-by: Jonas Bonn <jonas@southpole.se> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28ethoc: Add device tree configurationJonas Bonn1-2/+30
This patch adds the ability to describe ethernet devices via a flattened device tree. As device tree remains an optional feature, these bits all need to be guarded by CONFIG_OF ifdefs. MAC address is settable via the device tree parameter "local-mac-address"; however, the selection of the phy id is limited to probing, for now. Signed-off-by: Jonas Bonn <jonas@southpole.se> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28X25 remove bkl in call user data length ioctlandrew hendry1-5/+6
Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28X25 remove bkl from causediag ioctlsandrew hendry1-8/+7
Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28X25 remove bkl from calluserdata ioctlsandrew hendry1-7/+7
Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28X25 remove bkl in facility ioctlsandrew hendry1-23/+25
Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28X25 remove bkl in subscription ioctlsandrew hendry3-10/+12
Signed-off-by: Andrew Hendry <andrew.hendry@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28bnx2x: Use helpers instead of direct access to the shinfo(skb) fieldsVladislav Zolotarov1-5/+4
Signed-off-by: Vladislav Zolotarov <vladz@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28bnx2: Remove config access to non-standard registersMichael Chan1-8/+8
In KVM passthrough mode, the driver may not have config access to non-standard registers. The BNX2_PCICFG_MISC_CONFIG config register access to setup mailbox swapping can be done using MMIO. Update version to 2.0.20. Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28bnx2: Fix reset bug on 5709Eddie Wai2-7/+24
The 5709 chip requires the BNX2_MISC_NEW_CORE_CTL_DMA_ENABLE bit to be cleared and polling for pending DMAs to complete before chip reset. Without this step, we've seen NMIs during repeated resets of the chip. Signed-off-by: Eddie Wai <waie@broadcom.com> Signed-off-by: Michael Chan <mchan@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-288021q: vlan device is lockless do not transfer real_num_{tx|rx}_queuesJohn Fastabend1-3/+0
Now that the vlan device is lockless and single queue do not transfer the real num queues. This is causing a BUG_ON to occur. kernel BUG at net/8021q/vlan.c:345! Call Trace: [<ffffffff813fd6e8>] ? fib_rules_event+0x28/0x1b0 [<ffffffff814ad2b5>] notifier_call_chain+0x55/0x80 [<ffffffff81089156>] raw_notifier_call_chain+0x16/0x20 [<ffffffff813e5af7>] call_netdevice_notifiers+0x37/0x70 [<ffffffff813e6756>] netdev_features_change+0x16/0x20 [<ffffffffa02995be>] ixgbe_fcoe_enable+0xae/0x100 [ixgbe] [<ffffffffa01da06a>] vlan_dev_fcoe_enable+0x2a/0x30 [8021q] [<ffffffffa02d08c3>] fcoe_create+0x163/0x630 [fcoe] [<ffffffff811244d5>] ? mmap_region+0x255/0x5a0 [<ffffffff81080ef0>] param_attr_store+0x50/0x80 [<ffffffff810809b6>] module_attr_store+0x26/0x30 [<ffffffff811b9db2>] sysfs_write_file+0xf2/0x180 [<ffffffff8114fc88>] vfs_write+0xc8/0x190 [<ffffffff81150621>] sys_write+0x51/0x90 [<ffffffff8100c0b2>] system_call_fastpath+0x16/0x1b Signed-off-by: John Fastabend <john.r.fastabend@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28net: add netif_tx_queue_frozen_or_stoppedEric Dumazet5-12/+10
When testing struct netdev_queue state against FROZEN bit, we also test XOFF bit. We can test both bits at once and save some cycles. Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28ipv6: kill two unused macro definitionShan Wei2-4/+0
1. IPV6_TLV_TEL_DST_SIZE This has not been using for several years since created. 2. RT6_INFO_LEN commit 33120b30 kill all RT6_INFO_LEN's references, but only this definition remained. commit 33120b30cc3b8665204d4fcde7288638b0dd04d5 Author: Alexey Dobriyan <adobriyan@sw.ru> Date: Tue Nov 6 05:27:11 2007 -0800 [IPV6]: Convert /proc/net/ipv6_route to seq_file interface Signed-off-by: Shan Wei <shanwei@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28net: add some KERN_CONT markers to continuation linesUwe Kleine-König2-18/+18
Cc: netdev@vger.kernel.org Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28netxen: avoid using reset_devices as it may become obsoleteRajesh Borundia1-2/+4
In kdump environment do not depend on reset_devices parameter to reset the device as the parameter may become obsolete. Instead use an adapter specific mechanism to determine if the device needs a reset. Driver maintains a count of number of pci functions probed and decrements the count when remove handler of that pci function is called. If the first probe, probe of function 0, detects the count as non zero then reset the device. Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com> Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28qlcnic: avoid using reset_devices as it may become obsolete.Rajesh Borundia4-2/+10
In kdump environment do not depend upon reset_devices parameter to reset the pci function as this parameter may become obsolete. Instead use an adapter specific mechanism to determine if the pci function needs to be reset. Per function refcount is maintained in driver, which is set in probe and reset in remove handler of adapter. If the probe detects the count as non zero then reset the function. Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com> Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28sctp: kill unused macro definitionShan Wei1-14/+0
These macros have been existed for several years since v2.6.12-rc2. But they never be used. So remove them now. Signed-off-by: Shan Wei <shanwei@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28rtnl: make link af-specific updates atomicThomas Graf4-20/+53
As David pointed out correctly, updates to af-specific attributes are currently not atomic. If multiple changes are requested and one of them fails, previous updates may have been applied already leaving the link behind in a undefined state. This patch splits the function parse_link_af() into two functions validate_link_af() and set_link_at(). validate_link_af() is placed to validate_linkmsg() check for errors as early as possible before any changes to the link have been made. set_link_af() is called to commit the changes later. This method is not fail proof, while it is currently sufficient to make set_link_af() inerrable and thus 100% atomic, the validation function method will not be able to detect all error scenarios in the future, there will likely always be errors depending on states which are f.e. not protected by rtnl_mutex and thus may change between validation and setting. Also, instead of silently ignoring unknown address families and config blocks for address families which did not register a set function the errors EAFNOSUPPORT respectively EOPNOSUPPORT are returned to avoid comitting 4 out of 5 update requests without notifying the user. Signed-off-by: Thomas Graf <tgraf@infradead.org> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28drivers/net: use vzalloc()Eric Dumazet17-87/+39
Use vzalloc() and vzalloc_node() in net drivers Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Acked-by: Jon Mason <jon.mason@exar.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-28be2net: adding support for Lancer family of CNAsSathya Perla5-92/+301
Key changes are: - EQ ids are not assigned consecutively in Lancer. So, fix mapping of MSIx vector to EQ-id. - BAR mapping and some req locations different for Lancer. - TCP,UDP,IP checksum fields must be compulsorily set in TX wrb for TSO in Lancer. - CEV_IST reg not present in Lancer; so, peek into event queue to check for new entries - cq_create and mcc_create cmd interface is different for Lancer; handle accordingly Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com> Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-24xps: Transmit Packet SteeringTom Herbert4-8/+447
This patch implements transmit packet steering (XPS) for multiqueue devices. XPS selects a transmit queue during packet transmission based on configuration. This is done by mapping the CPU transmitting the packet to a queue. This is the transmit side analogue to RPS-- where RPS is selecting a CPU based on receive queue, XPS selects a queue based on the CPU (previously there was an XPS patch from Eric Dumazet, but that might more appropriately be called transmit completion steering). Each transmit queue can be associated with a number of CPUs which will use the queue to send packets. This is configured as a CPU mask on a per queue basis in: /sys/class/net/eth<n>/queues/tx-<n>/xps_cpus The mappings are stored per device in an inverted data structure that maps CPUs to queues. In the netdevice structure this is an array of num_possible_cpu structures where each structure holds and array of queue_indexes for queues which that CPU can use. The benefits of XPS are improved locality in the per queue data structures. Also, transmit completions are more likely to be done nearer to the sending thread, so this should promote locality back to the socket on free (e.g. UDP). The benefits of XPS are dependent on cache hierarchy, application load, and other factors. XPS would nominally be configured so that a queue would only be shared by CPUs which are sharing a cache, the degenerative configuration woud be that each CPU has it's own queue. Below are some benchmark results which show the potential benfit of this patch. The netperf test has 500 instances of netperf TCP_RR test with 1 byte req. and resp. bnx2x on 16 core AMD XPS (16 queues, 1 TX queue per CPU) 1234K at 100% CPU No XPS (16 queues) 996K at 100% CPU Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2010-11-24xps: Improvements in TX queue selectionTom Herbert3-9/+17
In dev_pick_tx, don't do work in calculating queue index or setting the index in the sock unless the device has more than one queue. This allows the sock to be set only with a queue index of a multi-queue device which is desirable if device are stacked like in a tunnel. We also allow the mapping of a socket to queue to be changed. To maintain in order packet transmission a flag (ooo_okay) has been added to the sk_buff structure. If a transport layer sets this flag on a packet, the transmit queue can be changed for the socket. Presumably, the transport would set this if there was no possbility of creating OOO packets (for instance, there are no packets in flight for the socket). This patch includes the modification in TCP output for setting this flag. Signed-off-by: Tom Herbert <therbert@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>