android_kernel_xiaomi_sm8350/drivers/net
David S. Miller fd2ea0a79f net: Use queue aware tests throughout.
This effectively "flips the switch" by making the core networking
and multiqueue-aware drivers use the new TX multiqueue structures.

Non-multiqueue drivers need no changes.  The interfaces they use such
as netif_stop_queue() degenerate into an operation on TX queue zero.
So everything "just works" for them.

Code that really wants to do "X" to all TX queues now invokes a
routine that does so, such as netif_tx_wake_all_queues(),
netif_tx_stop_all_queues(), etc.

pktgen and netpoll required a little bit more surgery than the others.

In particular the pktgen changes, whilst functional, could be largely
improved.  The initial check in pktgen_xmit() will sometimes check the
wrong queue, which is mostly harmless.  The thing to do is probably to
invoke fill_packet() earlier.

The bulk of the netpoll changes is to make the code operate solely on
the TX queue indicated by by the SKB queue mapping.

Setting of the SKB queue mapping is entirely confined inside of
net/core/dev.c:dev_pick_tx().  If we end up needing any kind of
special semantics (drops, for example) it will be implemented here.

Finally, we now have a "real_num_tx_queues" which is where the driver
indicates how many TX queues are actually active.

With IGB changes from Jeff Kirsher.

Signed-off-by: David S. Miller <davem@davemloft.net>
2008-07-17 19:21:07 -07:00
..
appletalk
arcnet
arm ARM: IXP4xx Ethernet NAPI fix 2008-07-11 10:01:12 -04:00
atlx Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-19 16:00:04 -07:00
bonding netdev: Allocate multiple queues for TX. 2008-07-17 19:21:00 -07:00
can
chelsio cxgb: delete non NAPI code from the driver. 2008-07-11 01:11:42 -04:00
cris
cxgb3 cxgb3 - Add iscsi support 2008-07-11 01:20:33 -04:00
e1000 netdrv intel: always enable VLAN filtering except in promiscous mode 2008-07-16 20:16:14 -07:00
e1000e netdrv intel: always enable VLAN filtering except in promiscous mode 2008-07-16 20:16:14 -07:00
ehea ehea: Access iph->tot_len with correct endianness 2008-07-04 08:15:28 -04:00
fec_8xx
fs_enet Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-05 23:08:07 -07:00
hamradio netdev: Allocate multiple queues for TX. 2008-07-17 19:21:00 -07:00
ibm_newemac netdev: Add netdev->addr_list_lock protection. 2008-07-15 00:13:44 -07:00
igb net: Use queue aware tests throughout. 2008-07-17 19:21:07 -07:00
irda Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-07-08 16:30:17 -07:00
ixgb netdrv intel: always enable VLAN filtering except in promiscous mode 2008-07-16 20:16:14 -07:00
ixgbe net: Use queue aware tests throughout. 2008-07-17 19:21:07 -07:00
ixp2000
mlx4
myri10ge Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-10 02:22:26 -07:00
netxen [netdrvr] netxen: fix netxen_pci_tbl[] breakage 2008-06-27 01:30:46 -04:00
pcmcia Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-28 01:19:40 -07:00
phy Fix missing exports for net/phy/mdio-bitbang.c 2008-07-11 01:20:34 -04:00
sfc netdev: Do not use TX lock to protect address lists. 2008-07-15 00:15:08 -07:00
skfp
tokenring
tulip tulip: remove wrapper around get_unaligned 2008-06-28 10:23:37 -04:00
usb rndis_host: pass buffer length to rndis_command 2008-06-28 10:23:34 -04:00
wan net: Remove references to wan-router.txt in Kconfigs 2008-07-14 22:22:29 -07:00
wireless netdev: Allocate multiple queues for TX. 2008-07-17 19:21:00 -07:00
3c59x.c [netdrvr] 3c59x: remove irqs_disabled warning from local_bh_enable 2008-06-27 01:30:33 -04:00
3c501.c
3c501.h
3c503.c 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
3c503.h
3c505.c
3c505.h
3c507.c
3c509.c Merge branch 'upstream-next-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2008-05-29 03:31:03 -07:00
3c515.c
3c523.c
3c523.h
3c527.c
3c527.h
7990.c add missing lance_* exports 2008-06-10 18:20:17 -04:00
7990.h
8139cp.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
8139too.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
8390.c
8390.h 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
8390p.c 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
82596.c
a2065.c drivers/net/: remove write-only "last_dev" 2008-06-11 21:58:34 -04:00
a2065.h
ac3200.c
acenic_firmware.h
acenic.c
acenic.h
amd8111e.c amd8111e: delete non NAPI code from the driver. 2008-07-07 22:40:58 -07:00
amd8111e.h
apne.c
ariadne.c
ariadne.h
at1700.c
atarilance.c make drivers/net/atarilance.c:lance_addr_list[] static 2008-06-11 21:58:32 -04:00
atp.c
atp.h
au1000_eth.c
au1000_eth.h
ax88796.c
b44.c ssb, b43, b43legacy, b44: Rewrite SSB DMA API 2008-06-27 09:09:15 -04:00
b44.h
bfin_mac.c
bfin_mac.h
bmac.c
bmac.h
bnx2_fw2.h bnx2: Update firmware to support multi rx rings. 2008-06-19 16:42:39 -07:00
bnx2_fw.h
bnx2.c bnx2: Update version to 1.7.8. 2008-07-14 22:40:21 -07:00
bnx2.h bnx2: Support secondary MAC addresses. 2008-07-14 22:39:52 -07:00
bnx2x_fw_defs.h bnx2x: Add support for BCM57711 HW 2008-06-23 20:33:01 -07:00
bnx2x_hsi.h bnx2x: New statistics code 2008-06-23 20:33:36 -07:00
bnx2x_init_values.h bnx2x: New microcode part 3/3 2008-06-23 20:32:28 -07:00
bnx2x_init.h bnx2x: Add support for BCM57711 HW 2008-06-23 20:33:01 -07:00
bnx2x_link.c bnx2x: Add support for BCM57711 HW 2008-06-23 20:33:01 -07:00
bnx2x_link.h bnx2x: Adding bnx2x_link 2008-06-23 20:27:26 -07:00
bnx2x_main.c bnx2x: Update version 2008-06-23 20:36:51 -07:00
bnx2x_reg.h bnx2x: Add support for BCM57711 HW 2008-06-23 20:33:01 -07:00
bnx2x.h bnx2x: Add TPA, Broadcoms HW LRO 2008-06-23 20:34:36 -07:00
bsd_comp.c
cassini.c
cassini.h
cpmac.c net: Use queue aware tests throughout. 2008-07-17 19:21:07 -07:00
cs89x0.c [netdrvr] CS89X0: Add cleanup for dma after fail 2008-05-30 22:07:11 -04:00
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c drivers/net/: remove write-only "last_dev" 2008-06-11 21:58:34 -04:00
defxx.c
defxx.h
depca.c
depca.h
dl2k.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
dl2k.h
dm9000.c DM9000: Remove DEFAULT_TRIGGER for request_irq() flags. 2008-06-24 22:58:36 -04:00
dm9000.h DM9000: Add support for DM9000A and DM9000B chips 2008-06-24 22:57:16 -04:00
dummy.c
e100.c e100: Do pci_dma_sync after skb_alloc for proper operation on ixp4xx 2008-06-27 01:30:59 -04:00
e2100.c
eepro100.c
eepro.c
eexpress.c
eexpress.h
enc28j60_hw.h
enc28j60.c net/enc28j60: low power mode 2008-06-17 23:07:29 -04:00
epic100.c
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c [netdrvr] fealnx: clean up nasty mess of arch ifdefs 2008-06-28 10:23:37 -04:00
fec_mpc52xx_phy.c
fec_mpc52xx.c fec_mpc52xx: MPC52xx_MESSAGES_DEFAULT: 2nd NETIF_MSG_IFDOWN => IFUP 2008-06-11 22:24:42 -04:00
fec_mpc52xx.h
fec.c
fec.h
forcedeth.c netdev: Add netdev->addr_list_lock protection. 2008-07-15 00:13:44 -07:00
gianfar_ethtool.c
gianfar_mii.c
gianfar_mii.h
gianfar_sysfs.c
gianfar.c gianfar: delete non NAPI code from the driver. 2008-07-11 01:11:44 -04:00
gianfar.h gianfar: delete non NAPI code from the driver. 2008-07-11 01:11:44 -04:00
hamachi.c
hp100.c
hp100.h
hp-plus.c
hp.c 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
hplance.c make hplance_{init,cleanup}_module() static 2008-06-11 21:58:32 -04:00
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c
ibmveth.h
ifb.c netdev: Allocate multiple queues for TX. 2008-07-17 19:21:00 -07:00
ioc3-eth.c
ipg.c ipg: run-time configurable jumbo frame support 2008-07-04 08:46:54 -04:00
ipg.h ipg: run-time configurable jumbo frame support 2008-07-04 08:46:54 -04:00
isa-skeleton.c
iseries_veth.c
jazzsonic.c
Kconfig SAA9730: Remove driver 2008-07-11 01:25:59 -04:00
korina.c
lance.c
lasi_82596.c
lib8390.c [netdrvr] Fix 8390 build breakage 2008-06-11 22:06:31 -04:00
lib82596.c
LICENSE.SRC
lne390.c
loopback.c
lp486e.c
mac89x0.c
mac8390.c drivers/net/mac8390.c: make functions static 2008-06-11 21:58:33 -04:00
macb.c macb: use random mac if stored address in EEPROM is invalid 2008-06-11 21:58:28 -04:00
macb.h
mace.c
mace.h
macmace.c
macsonic.c drivers/net/macsonic.c: make functions static 2008-06-11 21:58:37 -04:00
macvlan.c netdev: Allocate multiple queues for TX. 2008-07-17 19:21:00 -07:00
Makefile SAA9730: Remove driver 2008-07-11 01:25:59 -04:00
meth.c
meth.h
mii.c
mipsnet.c
mv643xx_eth.c mv643xx_eth: update driver version and author fields 2008-06-12 08:40:39 +02:00
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c
ne2.c 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
ne2k-pci.c
ne3210.c
ne-h8300.c
ne.c 8390: Split 8390 support into a pausing and a non pausing driver core 2008-07-04 08:47:51 -04:00
netconsole.c
netx-eth.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
niu.c niu: Add support for rx flow hash configuration. 2008-07-02 03:49:11 -07:00
niu.h
ns83820.c ns8320: use netdev_alloc_skb 2008-05-30 22:19:22 -04:00
pasemi_mac_ethtool.c
pasemi_mac.c pasemi_mac: Access iph->tot_len with correct endianness 2008-07-04 08:15:31 -04:00
pasemi_mac.h
pci-skeleton.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
pcnet32.c
plip.c
ppp_async.c
ppp_deflate.c
ppp_generic.c
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c
pppoe.c pppoe: warning fix 2008-06-20 21:58:02 -07:00
pppol2tp.c l2tp: Fix potential memory corruption in pppol2tp_recvmsg() 2008-06-10 12:35:00 -07:00
pppox.c
ps3_gelic_net.c ps3: gelic: updown_lock semaphore to mutex 2008-06-03 15:00:14 -04:00
ps3_gelic_net.h ps3: gelic: updown_lock semaphore to mutex 2008-06-03 15:00:14 -04:00
ps3_gelic_wireless.c wext: Emit event stream entries correctly when compat. 2008-06-16 18:50:49 -07:00
ps3_gelic_wireless.h PS3: gelic: Kill the static bounce buffer 2008-06-03 15:00:27 -04:00
qla3xxx.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-28 01:19:40 -07:00
qla3xxx.h
r6040.c drivers/net/r6040.c: Eliminate double sizeof 2008-06-27 01:28:25 -04:00
r8169.c r8169: remove non-napi code 2008-06-29 15:08:28 +02:00
rionet.c
rrunner.c
rrunner.h
s2io-regs.h
s2io.c net: Use queue aware tests throughout. 2008-07-17 19:21:07 -07:00
s2io.h S2io: Enable msi-x link interrupts. 2008-07-11 01:11:40 -04:00
sb1000.c
sb1250-mac.c
sc92031.c sc92031: remove bogus unlikely() 2008-05-30 22:07:17 -04:00
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
sh_eth.c net: sh_eth: Fix compile error sh_eth 2008-06-28 10:23:33 -04:00
sh_eth.h net: sh_eth: Fix compile error sh_eth 2008-06-28 10:23:33 -04:00
sis190.c
sis900.c
sis900.h
skge.c
skge.h
sky2.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-19 16:00:04 -07:00
sky2.h sky2: 88E8057 chip support 2008-06-17 23:59:39 -04:00
slhc.c
slip.c
slip.h
smc91x.c net: Eliminate flush_scheduled_work() calls while RTNL is held. 2008-06-12 02:22:02 -07:00
smc91x.h smc91x: fix build error from the SMC_GET_MAC_ADDR API change 2008-06-11 08:38:18 -07:00
smc911x.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
smc911x.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sni_82596.c
sonic.c
sonic.h
Space.c
spider_net_ethtool.c
spider_net.c
spider_net.h
starfire_firmware.h
starfire_firmware.pl
starfire.c starfire: delete non NAPI code from the driver. 2008-07-07 22:40:42 -07:00
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c
sunbmac.h
sundance.c
sungem_phy.c
sungem_phy.h
sungem.c
sungem.h
sunhme.c sunhme: Cleanup use of deprecated calls to save_and_cli and restore_flags. 2008-06-04 12:06:28 -07:00
sunhme.h
sunlance.c drivers/net/: remove write-only "last_dev" 2008-06-11 21:58:34 -04:00
sunqe.c
sunqe.h
sunvnet.c
sunvnet.h
tc35815.c tc35815: Fix receiver hangup on Rx FIFO overflow 2008-06-27 01:27:43 -04:00
tehuti_fw.h
tehuti.c netdrv: don't truncate VLAN TCI with VLAN stripping 2008-07-06 20:48:41 -07:00
tehuti.h netdrv: don't truncate VLAN TCI with VLAN stripping 2008-07-06 20:48:41 -07:00
tg3.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-10 02:22:26 -07:00
tg3.h tg3: Add shmem options. 2008-05-29 01:38:46 -07:00
tlan.c tlan: wrap source lines 2008-05-30 22:18:02 -04:00
tlan.h tlan: wrap source lines 2008-05-30 22:18:02 -04:00
tsi108_eth.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
tsi108_eth.h
tun.c tun: Fix/rewrite packet filtering logic 2008-07-14 22:18:19 -07:00
typhoon-firmware.h
typhoon.c [netdrvr] kill sync_irq-before-freq_irq pattern 2008-06-28 10:23:38 -04:00
typhoon.h
ucc_geth_ethtool.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-10 02:22:26 -07:00
ucc_geth_mii.c
ucc_geth_mii.h
ucc_geth.c ucc_geth: delete non NAPI code from the driver. 2008-07-11 01:11:45 -04:00
ucc_geth.h
veth.c
via-rhine.c via-rhine: delete non NAPI code from the driver. 2008-07-11 01:11:43 -04:00
via-velocity.c via-velocity: add velocity_set_rxbufsize helper 2008-07-11 01:10:15 -04:00
via-velocity.h via-velocity: remove the bounce buffers 2008-07-11 01:10:13 -04:00
virtio_net.c virtio_net: Set VIRTIO_NET_F_GUEST_CSUM feature 2008-07-11 01:20:33 -04:00
wd.c
xen-netfront.c
yellowfin.c
znet.c
zorro8390.c