linux/drivers/net
Alexander Duyck adc810900a ixgbe: Refactor busy poll socket code to address multiple issues
This change addresses several issues in the current ixgbe implementation of
busy poll sockets.

First was the fact that it was possible for frames to be delivered out of
order if they were held in GRO.  This is addressed by flushing the GRO buffers
before releasing the q_vector back to the idle state.

The other issue was the fact that we were having to take a spinlock on
changing the state to and from idle.  To resolve this I have replaced the
state value with an atomic and use atomic_cmpxchg to change the value from
idle, and a simple atomic set to restore it back to idle after we have
acquired it.  This allows us to only use a locked operation on acquiring the
vector without a need for a locked operation to release it.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-09-12 00:40:10 -07:00
..
appletalk
arcnet PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
bonding bonding: remove last users of bond->lock and bond->lock itself 2014-09-09 17:31:36 -07:00
caif
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-08-23 11:12:08 -07:00
cris eth_v10: remove unnecessary break after return 2014-07-20 21:29:49 -07:00
dsa net: dsa: add Broadcom SF2 switch driver 2014-08-27 22:59:40 -07:00
ethernet ixgbe: Refactor busy poll socket code to address multiple issues 2014-09-12 00:40:10 -07:00
fddi drivers/net/fddi/skfp/h/skfbi.h: Remove useless PCI_BASE_2ND macros 2014-09-05 14:51:09 -07:00
hamradio
hippi PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
hyperv hyperv: NULL dereference on error 2014-09-05 17:29:22 -07:00
ieee802154
irda irda: vlsi_ir: use %*ph specifier 2014-09-09 20:10:44 -07:00
phy dp83640: Make use of skb_queue_purge instead of reimplementing the code 2014-09-08 14:24:35 -07:00
plip
ppp net: filter: split 'struct sk_filter' into socket and bpf parts 2014-08-02 15:03:58 -07:00
slip
team team: set IFF_TEAM_PORT priv_flag after rx_handler is registered 2014-08-25 17:35:44 -07:00
usb r8152: use usleep_range 2014-09-09 20:10:44 -07:00
vmxnet3 VMXNET3: Check for map error in vmxnet3_set_mc 2014-09-05 11:50:39 -07:00
wan net: Pass a "more" indication down into netdev_start_xmit() code paths. 2014-09-01 17:39:55 -07:00
wimax
wireless drivers/net: Convert remaining uses of pr_warning to pr_warn 2014-09-09 20:37:08 -07:00
xen-netback xen-netback: move netif_napi_add before binding interrupt 2014-08-25 17:31:42 -07:00
dummy.c
eql.c
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macvlan.c macvlan: Allow setting multicast filter on all macvlan types 2014-08-21 16:54:25 -07:00
macvtap.c
Makefile net: reduce USB network driver config options. 2014-08-05 16:48:59 -07:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c sungem: Fix global namespace pollution of phy accessors. 2014-08-27 23:07:12 -07:00
tun.c
veth.c net: rtnetlink - make create_link take name_assign_type 2014-07-15 16:13:07 -07:00
virtio_net.c virtio_net: flush when in xmit_more mode and under descriptor pressure 2014-08-28 01:39:49 -07:00
vxlan.c vxlan: Enable checksum unnecessary conversions for vxlan/UDP sockets 2014-09-01 21:36:28 -07:00
xen-netfront.c xen-netfront: Fix handling packets on compound pages with skb_linearize 2014-08-11 14:46:41 -07:00