linux/drivers/net/ethernet
Govindarajulu Varadarajan 14747cd977 enic: add low latency socket busy_poll support
This patch adds support for low latency busy_poll.

* Introduce drivers ndo_busy_poll function enic_busy_poll, which is called by
socket waiting for data.

* Introduce locking between napi_poll nad busy_poll

* enic_busy_poll cleans up all the rx pkts possible. While in busy_poll, rq
holds the state ENIC_POLL_STATE_POLL. While in napi_poll, rq holds the state
ENIC_POLL_STATE_NAPI.

* in napi_poll we return if we are in busy_poll. Incase of INTx & msix, we just
service wq and return if busy_poll is going on.

Signed-off-by: Govindarajulu Varadarajan <_govind@gmx.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-06-23 14:32:19 -07:00
..
3com net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
8390 net: 8390: use time_after() for time comparison 2014-05-18 21:24:52 -04:00
adaptec net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
adi bfin_mac: remove empty MDIO bus reset function 2014-03-28 01:38:02 -04:00
aeroflex net: greth: remove empty MDIO bus reset function 2014-03-28 01:38:01 -04:00
allwinner net: sun4i-emac: add promiscuous support 2014-04-12 01:59:38 -04:00
alteon net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
altera Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-05-24 00:32:30 -04:00
amd amd-xgbe: unwind on error in xgbe_mdio_register() 2014-06-11 15:39:19 -07:00
apple
arc arc_emac: add netpoll support 2014-05-13 18:02:24 -04:00
atheros net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
broadcom drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c: remove null test before kfree 2014-06-19 21:26:07 -07:00
brocade Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
cadence net: macb: Fix race between HW and driver 2014-05-05 17:11:18 -04:00
calxeda net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
chelsio cxgb4 : Update copyright year on all cxgb4 files 2014-06-22 21:13:33 -07:00
cirrus cs89x0: Call dev_consume_skb_any instead of dev_kfree_skb. 2014-03-24 21:18:58 -07:00
cisco enic: add low latency socket busy_poll support 2014-06-23 14:32:19 -07:00
davicom dm9000: avoid sleeping in dm9000_timeout callback 2014-06-05 15:12:11 -07:00
dec net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
dlink net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
emulex Merge branch 'ethtool-rssh-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/net-next 2014-06-02 23:07:02 -07:00
faraday net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
freescale Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
fujitsu net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
hisilicon net: hisilicon: add hix5hd2 mac driver 2014-06-02 23:39:05 -07:00
hp
i825xx i825xx: Call dev_kfree_skb_any instead of dev_kfree_skb. 2014-03-24 21:19:02 -07:00
ibm net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
icplus net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
intel i40e/i40evf: Bump i40e to 0.4.13 and i40evf to 0.9.35 2014-06-20 00:46:20 -07:00
marvell net: mv643xx_eth: Avoid unmapping the TSO header buffers 2014-06-02 16:16:06 -07:00
mellanox Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
micrel net: ks8851: Don't use regulator_get_optional() 2014-06-02 00:13:51 -07:00
microchip net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
moxa drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
myricom net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
natsemi net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
neterion net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
nuvoton
nvidia net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
nxp lpc_eth: Use resource_size instead of computation 2014-06-03 16:08:52 -07:00
octeon
oki-semi net: use SPEED_UNKNOWN and DUPLEX_UNKNOWN when appropriate 2014-06-06 16:24:07 -07:00
packetengines net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
pasemi drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
qlogic qlcnic: Update version to 5.3.60 2014-06-11 15:44:29 -07:00
rdc r6040: remove empty MDIO bus reset function 2014-03-28 01:38:02 -04:00
realtek net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
renesas net: sh_eth: Fix timing of RACT setting in sh_eth_rx() 2014-06-11 15:15:31 -07:00
samsung net: sxgbe: remove duplicate SXGBE_CORE_L34_ADDCTL_REG define 2014-06-11 15:01:30 -07:00
seeq drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-11 16:02:55 -07:00
sgi drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
silan sc92031: Call dev_consume_skb_any instead of dev_kfree_skb. 2014-03-24 21:19:08 -07:00
sis net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-03 23:32:12 -07:00
stmicro net: stmmac: Handle different error codes from platform_get_irq_byname 2014-06-02 14:04:06 -07:00
sun net: cassini: use nested lock annotation 2014-05-09 16:34:10 -04:00
tehuti net: get rid of SET_ETHTOOL_OPS 2014-05-13 17:43:20 -04:00
ti drivers: net: davinci_cpdma: double free on error 2014-06-11 15:39:19 -07:00
tile Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2014-06-12 14:27:40 -07:00
toshiba net: ethernet: toshiba: ps3_gelic_net.c: Cleaning up a check on a memory allocation 2014-06-11 00:13:16 -07:00
tundra drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
via via-rhine: fix full-duplex with autoneg disable 2014-06-12 10:31:10 -07:00
wiznet net: w5100: Use devm_ioremap_resource() 2014-02-28 16:57:24 -05:00
xilinx xilinx: Fix compiler warning 2014-06-22 17:14:56 -07:00
xircom
xscale net: ptp: move PTP classifier in its own file 2014-04-01 16:43:18 -04:00
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-06-03 23:32:12 -07:00
Makefile net: hisilicon: add hix5hd2 mac driver 2014-06-02 23:39:05 -07:00
dnet.c dnet: remove empty MDIO bus reset function 2014-03-28 01:38:02 -04:00
dnet.h
ec_bhf.c driver/net/ethernet/ec_bhf.c: fix sparse warnings 2014-05-14 16:09:33 -04:00
ethoc.c net: ethoc: remove ethoc_config 2014-04-21 14:58:48 -04:00
fealnx.c
jme.c jme: Fix unmap loop counting error: 2014-05-14 15:11:22 -04:00
jme.h
korina.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00
lantiq_etop.c netdevice: add queue selection fallback handler for ndo_select_queue 2014-02-17 00:36:34 -05:00
netx-eth.c
s6gmac.c drivers/net: delete non-required instances of include <linux/init.h> 2014-01-16 11:53:26 -08:00