linux/drivers/net
Jim Keniston 565d76cb7d zlib: slim down zlib_deflate() workspace when possible
Instead of always creating a huge (268K) deflate_workspace with the
maximum compression parameters (windowBits=15, memLevel=8), allow the
caller to obtain a smaller workspace by specifying smaller parameter
values.

For example, when capturing oops and panic reports to a medium with
limited capacity, such as NVRAM, compression may be the only way to
capture the whole report.  In this case, a small workspace (24K works
fine) is a win, whether you allocate the workspace when you need it (i.e.,
during an oops or panic) or at boot time.

I've verified that this patch works with all accepted values of windowBits
(positive and negative), memLevel, and compression level.

Signed-off-by: Jim Keniston <jkenisto@us.ibm.com>
Cc: Herbert Xu <herbert@gondor.apana.org.au>
Cc: David Miller <davem@davemloft.net>
Cc: Chris Mason <chris.mason@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-03-22 17:44:17 -07:00
..
appletalk appletalk: remove the BKL 2011-03-05 10:55:57 +01:00
arcnet
arm
atl1c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
atl1e net: use pci_dev->revision, again 2011-02-28 11:57:33 -08:00
atlx net: use pci_dev->revision, again 2011-02-28 11:57:33 -08:00
benet be2net: Bump up the version number 2011-03-16 11:29:47 -07:00
bna
bnx2x Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2011-03-17 17:54:40 -07:00
bonding bonding: fix a typo in a comment 2011-03-19 13:36:18 -07:00
caif net: change to new flag variable 2011-03-17 14:05:35 +01:00
can can: c_can: Do basic c_can configuration _before_ enabling the interrupts 2011-03-21 18:19:26 -07:00
chelsio
cris
cxgb3
cxgb4 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2011-03-16 16:29:25 -07:00
cxgb4vf
e1000 e1000: fix sparse warning 2011-03-02 03:20:56 -08:00
e1000e Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2011-03-16 16:29:25 -07:00
ehea
enic enic: Support newer version of firmware devcmd CMD_MCPU_FW_INFO 2011-03-14 14:49:29 -07:00
fs_enet dt/net: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:44 -07:00
hamradio
ibm_newemac dt/net: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:44 -07:00
igb igb: Add messaging for thermal sensor events on i350 devices 2011-03-14 22:26:54 -07:00
igbvf Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-03-03 21:27:42 -08:00
irda
ixgb ixgb: convert to new VLAN model 2011-03-11 01:16:23 -08:00
ixgbe ixgbe: DCB, PFC not cleared until reset occurs 2011-03-12 04:15:35 -08:00
ixgbevf ixgbe: correct typo in define name 2011-03-12 04:14:28 -08:00
ixp2000
mlx4
myri10ge
netxen netxen: support for GbE port settings 2011-03-15 14:54:55 -07:00
octeon
pch_gbe PM: Remove CONFIG_PM_OPS 2011-03-15 00:43:15 +01:00
pcmcia fmvj18x_cs: add new id 2011-02-28 12:06:20 -08:00
phy Merge branch 'devicetree/next' of git://git.secretlab.ca/git/linux-2.6 2011-03-16 17:28:10 -07:00
qlcnic qlcnic: Remove validation for max tx and max rx queues 2011-02-23 14:23:33 -08:00
qlge
sfc Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/sfc-next-2.6 2011-03-08 11:32:45 -08:00
skfp net: change to new flag variable 2011-03-17 14:05:35 +01:00
stmmac
tile tile on-chip network driver: sync up with latest fixes 2011-03-10 13:18:12 -05:00
tokenring
tulip
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2011-03-16 16:29:25 -07:00
vmxnet3
vxge net: use pci_dev->revision, again 2011-02-28 11:57:33 -08:00
wan Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-03-20 18:14:55 -07:00
wimax
wireless Merge branch 'trivial' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-03-20 18:14:55 -07:00
xen-netback xen network backend driver 2011-03-15 19:38:03 -07:00
3c59x.c
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c
3c505.h
3c507.c
3c509.c
3c515.c
3c523.c
3c523.h
3c527.c
3c527.h
7990.c
7990.h
8139cp.c
8139too.c
8390.c
8390.h
8390p.c
82596.c
a2065.c
a2065.h
ac3200.c
acenic.c
acenic.h
amd8111e.c
amd8111e.h
apne.c
ariadne.c ariadne: remove redundant NULL check 2011-03-10 14:41:51 -08:00
ariadne.h
at1700.c
atarilance.c
atp.c
atp.h
au1000_eth.c
au1000_eth.h
ax88796.c
b44.c
b44.h
bcm63xx_enet.c
bcm63xx_enet.h
bfin_mac.c
bfin_mac.h
bmac.c
bmac.h
bnx2_fw.h
bnx2.c bnx2: Update firmware and version 2011-03-14 15:00:12 -07:00
bnx2.h bnx2: Update firmware and version 2011-03-14 15:00:12 -07:00
bsd_comp.c
cassini.c
cassini.h
cnic_defs.h
cnic_if.h
cnic.c ipv6: Convert to use flowi6 where applicable. 2011-03-12 15:08:54 -08:00
cnic.h
cpmac.c
cs89x0.c CS89x0: Add networking support for QQ2440 2011-03-14 16:49:28 -07:00
cs89x0.h
davinci_cpdma.c
davinci_cpdma.h
davinci_emac.c Davinci: Do not reset EMAC TX overruns counter on read 2011-03-14 15:04:50 -07:00
davinci_mdio.c
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c
defxx.h
depca.c
depca.h
dl2k.c
dl2k.h
dm9000.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-03-03 21:27:42 -08:00
dm9000.h
dnet.c dnet: fix wrong use of platform_set_drvdata() 2011-02-28 12:22:21 -08:00
dnet.h
dummy.c
e100.c
e2100.c
eepro.c
eexpress.c
eexpress.h
enc28j60_hw.h
enc28j60.c
epic100.c
eql.c eql: Convert printks to pr_<level> and netdev_<level> 2011-03-03 13:30:20 -08:00
es3210.c
eth16i.c
ethoc.c
ewrk3.c
ewrk3.h
fealnx.c
fec_mpc52xx_phy.c dt/net: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:44 -07:00
fec_mpc52xx.c dt/net: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:44 -07:00
fec_mpc52xx.h dt/net: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:44 -07:00
fec.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-03-03 21:27:42 -08:00
fec.h
forcedeth.c drivers/net: fix build warnings with CONFIG_PM_SLEEP disabled 2011-03-14 14:22:01 -07:00
fsl_pq_mdio.c dt/net: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:44 -07:00
fsl_pq_mdio.h
ftmac100.c ftmac100: use resource_size() 2011-03-18 21:53:03 -07:00
ftmac100.h net: add Faraday FTMAC100 10/100 Ethernet driver 2011-03-03 12:19:11 -08:00
gianfar_ethtool.c
gianfar_sysfs.c
gianfar.c gianfar: Fall back to software tcp/udp checksum on older controllers 2011-03-18 15:12:14 -07:00
gianfar.h gianfar: Fall back to software tcp/udp checksum on older controllers 2011-03-18 15:12:14 -07:00
greth.c dt/net: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:44 -07:00
greth.h
hamachi.c
hp100.c
hp100.h
hp-plus.c
hp.c
hplance.c
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c
ibmveth.h
ifb.c
ioc3-eth.c
ipg.c net: use pci_dev->revision, again 2011-02-28 11:57:33 -08:00
ipg.h
iseries_veth.c
jazzsonic.c
jme.c net: use pci_dev->revision, again 2011-02-28 11:57:33 -08:00
jme.h
Kconfig e1000e: fix kconfig for crc32 dependency 2011-03-16 11:14:38 -07:00
korina.c
ks8842.c
ks8851_mll.c
ks8851.c
ks8851.h
ksz884x.c
lance.c
lasi_82596.c
lib8390.c
lib82596.c
LICENSE.SRC
ll_temac_main.c dt/net: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:44 -07:00
ll_temac_mdio.c
ll_temac.h
lne390.c
loopback.c
lp486e.c
mac89x0.c
mac8390.c
macb.c macb: don't use platform_set_drvdata() on a net_device 2011-02-28 12:22:20 -08:00
macb.h
mace.c
mace.h
macmace.c
macsonic.c
macvlan.c macvlan: Fix use after free of struct macvlan_port. 2011-03-21 18:22:22 -07:00
macvtap.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-03-10 14:26:00 -08:00
Makefile xen network backend driver 2011-03-15 19:38:03 -07:00
mdio.c
meth.c
meth.h
mii.c mii: Convert printks to netdev_info 2011-03-03 13:02:32 -08:00
mipsnet.c
mv643xx_eth.c mv643xx_eth: Use netdev_<level> and pr_<level> 2011-03-03 13:02:31 -08:00
mvme147.c
myri_sbus.c dt/net: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:44 -07:00
myri_sbus.h
natsemi.c
ne2.c
ne2k-pci.c
ne3210.c
ne-h8300.c
ne.c
netconsole.c
netx-eth.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
niu.c niu: Rename NIU parent platform device name to fix conflict. 2011-03-19 23:06:33 -07:00
niu.h
ns83820.c
pasemi_mac_ethtool.c
pasemi_mac.c
pasemi_mac.h
pci-skeleton.c
pcnet32.c
plip.c
ppp_async.c
ppp_deflate.c zlib: slim down zlib_deflate() workspace when possible 2011-03-22 17:44:17 -07:00
ppp_generic.c
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c
pppoe.c
pppox.c
pptp.c ipv4: Create and use route lookup helpers. 2011-03-12 15:08:42 -08:00
ps3_gelic_net.c
ps3_gelic_net.h
ps3_gelic_wireless.c
ps3_gelic_wireless.h
pxa168_eth.c
qla3xxx.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
qla3xxx.h
r6040.c r6040: bump to version 0.27 and date 23Feb2011 2011-03-08 14:21:50 -08:00
r8169.c r8169: fix a bug in rtl8169_init_phy() 2011-03-20 17:33:19 -07:00
rionet.c
rrunner.c
rrunner.h
s2io-regs.h
s2io.c s2io: fix uninitialized compile warning 2011-03-07 15:49:31 -08:00
s2io.h
s6gmac.c
sb1000.c
sb1250-mac.c
sc92031.c
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
sh_eth.c net: sh_eth: add set_mdio_gate in bb_info 2011-03-14 14:10:16 -07:00
sh_eth.h net: sh_eth: modify the PHY_INTERFACE_MODE 2011-03-14 14:10:15 -07:00
sis190.c
sis900.c sis900: use pci_dev->revision 2011-02-28 12:29:34 -08:00
sis900.h
skge.c skge: don't mark carrier down at start 2011-02-24 22:17:02 -08:00
skge.h
sky2.c drivers/net: fix build warnings with CONFIG_PM_SLEEP disabled 2011-03-14 14:22:01 -07:00
sky2.h
slhc.c
slip.c
slip.h
smc91x.c
smc91x.h
smc911x.c
smc911x.h
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
smsc911x.c smsc911x: Fix build error when SMSC_TRACE() used 2011-03-15 14:52:48 -07:00
smsc911x.h
smsc9420.c
smsc9420.h
sni_82596.c
sonic.c
sonic.h
Space.c
spider_net_ethtool.c
spider_net.c
spider_net.h
starfire.c
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c dt/net: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:44 -07:00
sunbmac.h
sundance.c
sungem_phy.c
sungem_phy.h
sungem.c
sungem.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
sunhme.c dt/net: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:44 -07:00
sunhme.h
sunlance.c dt/net: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:44 -07:00
sunqe.c dt/net: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:44 -07:00
sunqe.h
sunvnet.c
sunvnet.h
tc35815.c
tehuti.c
tehuti.h
tg3.c tg3: Remove 5750 PCI code 2011-03-10 01:56:14 -08:00
tg3.h
tlan.c tlan: Use pr_fmt, pr_<level> and netdev_<level> 2011-03-03 13:02:31 -08:00
tlan.h
tsi108_eth.c
tsi108_eth.h
tun.c tun: Convert logging messages to pr_<level> and tun_debug 2011-03-03 12:21:14 -08:00
typhoon.c
typhoon.h
ucc_geth_ethtool.c
ucc_geth.c dt/net: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:44 -07:00
ucc_geth.h
veth.c veth: Fix the byte counters 2011-03-21 18:24:53 -07:00
via-rhine.c
via-velocity.c
via-velocity.h
virtio_net.c
wd.c
xen-netfront.c xen network backend driver 2011-03-15 19:38:03 -07:00
xilinx_emaclite.c dt/net: Eliminate users of of_platform_{,un}register_driver 2011-02-28 13:22:44 -07:00
xtsonic.c
yellowfin.c
znet.c
zorro8390.c