linux/drivers/net/wireless/iwlwifi
Eric Dumazet 56138f50d1 iwlwifi: dont pull too much payload in skb head
As iwlwifi use fat skbs, it should not pull too much data in skb->head,
and particularly no tcp data payload, or splice() is slower, and TCP
coalescing is disabled. Copying payload to userland also involves at
least two copies (part from header, part from fragment)

Each layer will pull its header from the fragment as needed.

(on 64bit arches, skb_tailroom(skb) at this point is 192 bytes)

With this patch applied, I have a major reduction of collapsed/pruned
TCP packets, a nice increase of TCPRcvCoalesce counter, and overall
better Internet User experience.

Small packets are still using a fragless skb, so that page can be reused
by the driver.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Johannes Berg <johannes.berg@intel.com>
Cc: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-05-18 13:31:25 -04:00
..
iwl-1000.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-05-07 23:35:40 -04:00
iwl-2000.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-05-07 23:35:40 -04:00
iwl-5000.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-05-07 23:35:40 -04:00
iwl-6000.c iwlwifi: use 6000G2B for 6030 device series 2012-05-08 21:53:49 -04:00
iwl-agn-calib.c iwlwifi: remove TX/RX frame statistics 2012-04-23 14:27:56 -07:00
iwl-agn-calib.h iwlwifi: remove TX/RX frame statistics 2012-04-23 14:27:56 -07:00
iwl-agn-devices.c iwlwifi: remove TX/RX frame statistics 2012-04-23 14:27:56 -07:00
iwl-agn-hw.h iwlwifi: move OTP defines 2012-04-23 14:30:01 -07:00
iwl-agn-lib.c iwlwifi: add loose coex lut 2012-05-08 20:56:09 -04:00
iwl-agn-rs.c iwlwifi: clean up module parameters 2012-04-23 14:30:51 -07:00
iwl-agn-rs.h iwlwifi: move antenna definitions to config 2012-04-23 14:29:50 -07:00
iwl-agn-rx.c iwlwifi: dont pull too much payload in skb head 2012-05-18 13:31:25 -04:00
iwl-agn-rxon.c drivers/net: Convert compare_ether_addr to ether_addr_equal 2012-05-10 23:33:01 -04:00
iwl-agn-sta.c drivers/net: Convert compare_ether_addr to ether_addr_equal 2012-05-10 23:33:01 -04:00
iwl-agn-tt.c iwlwifi: clean up module parameters 2012-04-23 14:30:51 -07:00
iwl-agn-tt.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-agn-tx.c iwlwifi: use new mac80211 queue scheme 2012-04-23 14:31:07 -07:00
iwl-agn.c iwlwifi: modify #ifdef to avoid sparse complain 2012-05-08 21:53:43 -04:00
iwl-agn.h iwlwifi: modify #ifdef to avoid sparse complain 2012-05-08 21:53:43 -04:00
iwl-cfg.h iwlwifi: make config const 2012-03-06 15:16:11 -05:00
iwl-commands.h iwlwifi: change kill mask based on reduce power state 2012-05-08 20:56:09 -04:00
iwl-config.h iwlwifi: move antenna definitions to config 2012-04-23 14:29:50 -07:00
iwl-csr.h iwlwifi: added HBUS_TARG_TEST_REG 2012-04-16 14:35:32 -07:00
iwl-debug.c iwlwifi: clean up iwl-shared.h includes 2012-04-23 14:21:38 -07:00
iwl-debug.h iwlwifi: clean up module parameters 2012-04-23 14:30:51 -07:00
iwl-debugfs.c iwlwifi: clean up module parameters 2012-04-23 14:30:51 -07:00
iwl-dev.h iwlwifi: add checking for the condition to reduce tx power 2012-05-08 20:56:08 -04:00
iwl-devtrace.c iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-devtrace.h iwlwifi: make tracing use device as identifier 2012-03-07 13:51:52 -05:00
iwl-drv.c iwlwifi: add option to disable 5GHz band 2012-05-08 20:56:09 -04:00
iwl-drv.h iwlwifi: move driver defines to iwl-drv.h 2012-04-23 14:29:02 -07:00
iwl-eeprom.c iwlwifi: remove TX/RX frame statistics 2012-04-23 14:27:56 -07:00
iwl-eeprom.h iwlwifi: move OTP defines 2012-04-23 14:30:01 -07:00
iwl-fh.h iwlwifi: fix hardware queue programming 2012-04-24 14:14:55 -04:00
iwl-fw-file.h iwlwifi: remove uCode alternatives mechanism 2012-04-16 14:34:44 -07:00
iwl-fw.h iwlwifi: include net/mac80211.h to avoid compiler error 2012-04-23 14:21:53 -07:00
iwl-io.c iwlwifi: cleanup/fix memory barriers 2012-03-08 13:59:50 -05:00
iwl-io.h iwlwifi: remove unneeded includes 2012-04-18 07:31:33 -07:00
iwl-led.c iwlwifi: clean up module parameters 2012-04-23 14:30:51 -07:00
iwl-led.h iwlwifi: update Copyright 2012-01-24 14:08:36 -05:00
iwl-mac80211.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-05-07 23:35:40 -04:00
iwl-modparams.h iwlwifi: remove the iwl_shared reference 2012-05-08 21:53:44 -04:00
iwl-notif-wait.c iwlwifi: extend notification wait 2012-04-09 16:37:15 -04:00
iwl-notif-wait.h iwlwifi: extend notification wait 2012-04-09 16:37:15 -04:00
iwl-op-mode.h iwlwifi: Added foreward declaration for iwl_cfg in op_mode 2012-04-18 07:31:57 -07:00
iwl-pci.c iwlwifi: clean up module parameters 2012-04-23 14:30:51 -07:00
iwl-phy-db.c iwlwifi: don't use shared for the logger any more 2012-04-18 07:31:11 -07:00
iwl-phy-db.h iwlwifi: don't use shared for the logger any more 2012-04-18 07:31:11 -07:00
iwl-power.c iwlwifi: clean up module parameters 2012-04-23 14:30:51 -07:00
iwl-power.h iwlwifi: clean up module parameters 2012-04-23 14:30:51 -07:00
iwl-prph.h iwlwifi: fix hardware queue programming 2012-04-24 14:14:55 -04:00
iwl-scan.c iwlwifi: remove TX/RX frame statistics 2012-04-23 14:27:56 -07:00
iwl-testmode.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-04-26 15:03:48 -04:00
iwl-testmode.h iwlwifi: add testmode command for rx forwarding 2012-03-08 13:59:52 -05:00
iwl-trans-pcie-int.h iwlwifi: use direct calls for transport free 2012-04-23 14:30:29 -07:00
iwl-trans-pcie-rx.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-05-07 23:35:40 -04:00
iwl-trans-pcie-tx.c iwlwifi: clean up iwl-shared.h includes 2012-04-23 14:21:38 -07:00
iwl-trans-pcie.c iwlwifi: don't init trans->reg_lock from the op_mode 2012-05-08 20:56:09 -04:00
iwl-trans.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-05-07 23:35:40 -04:00
iwl-ucode.c iwlwifi: remove TX/RX frame statistics 2012-04-23 14:27:56 -07:00
Kconfig iwlwifi: change the default P2P support to "Yes" 2012-04-12 14:24:35 -07:00
Makefile iwlwifi: remove TX/RX frame statistics 2012-04-23 14:27:56 -07:00