linux_old1/drivers/net/wireless/iwlwifi
Johannes Berg ff0d91c3ee iwlwifi: reduce memory allocation
Currently, the driver allocates up to 19 skb pointers
for each TFD, of which we have 256 per queue. This
means that for each TX queue, we allocate 19k/38k
(an order 4 or 5 allocation on 32/64 bit respectively)
just for each queue's "txb" array, which contains only
the SKB pointers.

However, due to the way we use these pointers only the
first one can ever be assigned. When the driver was
initially written, the idea was that it could be
passed multiple SKBs for each TFD and attach all
those to implement gather DMA. However, due to
constraints in the userspace API and lack of TCP/IP
level checksumming in the device, this is in fact not
possible. And even if it were, the SKBs would be
chained, and we wouldn't need to keep pointers to
each anyway.

Change this to only keep track of one SKB per TFD,
and thereby reduce memory consumption to just one
pointer per TFD, which is an order 0 allocation per
transmit queue.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
2010-06-05 23:18:33 -07:00
..
Kconfig iwlwifi: split debug and debugfs options 2010-05-13 10:45:12 -07:00
Makefile iwl3945: add ucode statistics 2010-04-30 15:34:31 -07:00
iwl-1000.c iwlwifi: beacon format related helper function 2010-06-05 23:15:49 -07:00
iwl-3945-debugfs.c iwlwifi: separate statistics flag function for agn & 3945 2010-05-13 10:42:55 -07:00
iwl-3945-debugfs.h iwl3945: add ucode statistics 2010-04-30 15:34:31 -07:00
iwl-3945-fh.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-3945-hw.h iwlwifi: code cleanup for generic defines 2010-04-02 12:52:17 -07:00
iwl-3945-led.c iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-3945-led.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-3945-rs.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
iwl-3945.c iwlwifi: reduce memory allocation 2010-06-05 23:18:33 -07:00
iwl-3945.h iwlwifi: track station IDs 2010-05-10 15:09:04 -07:00
iwl-4965-hw.h iwlwifi: code cleanup for generic defines 2010-04-02 12:52:17 -07:00
iwl-4965.c iwlwifi: reduce memory allocation 2010-06-05 23:18:33 -07:00
iwl-5000-hw.h iwlwifi: move hw related defines to separate file 2010-03-25 11:18:05 -07:00
iwl-5000.c iwlwifi: support channel switch offload in driver 2010-06-05 23:16:09 -07:00
iwl-6000-hw.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-6000.c iwlwifi: support channel switch offload in driver 2010-06-05 23:16:09 -07:00
iwl-agn-debugfs.c Revert "iwlwifi: move _agn statistics related structure" 2010-06-03 13:55:37 -04:00
iwl-agn-debugfs.h iwlwifi: add debugfs ops to iwlwifi 2010-04-16 13:51:31 -07:00
iwl-agn-hcmd.c iwlwifi: do not clear data after chain noise calib 2010-06-05 23:15:07 -07:00
iwl-agn-hw.h iwlwifi: code cleanup for generic defines 2010-04-02 12:52:17 -07:00
iwl-agn-ict.c wireless: update gfp/slab.h includes 2010-05-24 14:59:26 -04:00
iwl-agn-led.c iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-agn-led.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-agn-lib.c iwlwifi: reduce memory allocation 2010-06-05 23:18:33 -07:00
iwl-agn-rs.c mac80211: clean up ieee80211_stop_tx_ba_session 2010-06-03 14:10:45 -04:00
iwl-agn-rs.h iwlwifi: implement new mac80211 station add/remove calls 2010-03-19 13:40:58 -07:00
iwl-agn-tx.c iwlwifi: reduce memory allocation 2010-06-05 23:18:33 -07:00
iwl-agn-ucode.c iwlwifi: move ucode related function to iwl-agn-ucode.c 2010-05-13 10:45:36 -07:00
iwl-agn.c iwlwifi: reduce memory allocation 2010-06-05 23:18:33 -07:00
iwl-agn.h iwlwifi: add new PCI IDs for 6000g2 devices 2010-05-13 10:45:48 -07:00
iwl-calib.c drivers/net: Remove unnecessary returns from void function()s 2010-05-14 00:19:28 -07:00
iwl-calib.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-commands.h iwlwifi: remove inaccurate comment 2010-06-05 23:17:10 -07:00
iwl-core.c iwlwifi: remove priv->mac_addr 2010-06-05 23:16:50 -07:00
iwl-core.h iwlwifi: support channel switch offload in driver 2010-06-05 23:16:09 -07:00
iwl-csr.h iwlwifi: add hw revision for 6000g2 NIC 2010-04-16 13:52:45 -07:00
iwl-debug.h iwlwifi: add debugfs ops to iwlwifi 2010-04-16 13:51:31 -07:00
iwl-debugfs.c Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 2010-06-02 15:36:51 -04:00
iwl-dev.h iwlwifi: reduce memory allocation 2010-06-05 23:18:33 -07:00
iwl-devtrace.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-04-15 16:21:34 -04:00
iwl-devtrace.h iwlwifi: don't include iwl-dev.h from iwl-devtrace.h 2010-03-30 22:02:21 +09:00
iwl-eeprom.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-05-17 13:57:43 -04:00
iwl-eeprom.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-21 01:14:25 -07:00
iwl-fh.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-hcmd.c iwlwifi: remove trailing space in messages 2010-04-02 12:53:54 -07:00
iwl-helpers.h iwlwifi: beacon format related helper function 2010-06-05 23:15:49 -07:00
iwl-io.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-04-15 16:21:34 -04:00
iwl-led.c iwlwifi: remove "\n" from module parameter description 2010-03-25 11:21:11 -07:00
iwl-led.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-power.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem 2010-05-17 13:57:43 -04:00
iwl-power.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-prph.h iwlwifi: more code clean up for agn devices 2010-04-16 13:53:20 -07:00
iwl-rx.c Revert "iwlwifi: move _agn statistics related structure" 2010-06-03 13:55:37 -04:00
iwl-scan.c iwlwifi: use virtual interface address for scan 2010-06-05 23:14:23 -07:00
iwl-spectrum.h iwlwifi: update copyright year to 2010 2010-01-19 16:25:15 -05:00
iwl-sta.c Merge branch 'wireless-next-2.6' of git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-2.6 2010-06-02 15:36:51 -04:00
iwl-sta.h iwlwifi: introduce iwl_sta_id_or_broadcast 2010-05-13 10:42:32 -07:00
iwl-tx.c iwlwifi: kzalloc txb array 2010-06-05 23:18:11 -07:00
iwl3945-base.c iwlwifi: reduce memory allocation 2010-06-05 23:18:33 -07:00