diff options
author | David Sterba <dsterba@suse.cz> | 2008-07-28 16:53:21 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-28 08:28:03 -0700 |
commit | bee9c7c0773517c9f1d7931144fc8dec12233bd7 (patch) | |
tree | 6c9d6943ac485d47bb14cfbd18aacf7d3464d224 /drivers/char/pcmcia/ipwireless/network.c | |
parent | 09e491e9a780433f8734eb6efb7293b2da690131 (diff) | |
download | linux-stable-bee9c7c0773517c9f1d7931144fc8dec12233bd7.tar.gz linux-stable-bee9c7c0773517c9f1d7931144fc8dec12233bd7.tar.bz2 linux-stable-bee9c7c0773517c9f1d7931144fc8dec12233bd7.zip |
ipwireless: Increase PPP outgoing queue size
ipwireless: Increase PPP outgoing queue size
Increase default size of PPP outgoing queue. Currently set to 1, which
means that a packet quickly following another pushed by PPP must wait
until hardware actually sends the previous and PPP has to be waken up
by ppp_wakeup(). This slows down upstream.
Now PPP can push more packets at once which get buffered inside driver
and pushed immediatelly to hardware when previous packet is out.
Experiments show that size = 10 is quite good for all connection types
(GPRS/EDGE/UMTS) and gains 4 KB/sec of upload for UMTS for batch uploads.
Need for higher queue size than 10 occures in only < 0.1 % of cases.
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/pcmcia/ipwireless/network.c')
-rw-r--r-- | drivers/char/pcmcia/ipwireless/network.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/char/pcmcia/ipwireless/network.c b/drivers/char/pcmcia/ipwireless/network.c index 28d9fd727d84..2b07af05106d 100644 --- a/drivers/char/pcmcia/ipwireless/network.c +++ b/drivers/char/pcmcia/ipwireless/network.c @@ -75,7 +75,7 @@ static void notify_packet_sent(void *callback_data, unsigned int packet_length) spin_unlock_irqrestore(&network->lock, flags); ppp_output_wakeup(network->ppp_channel); if (ipwireless_debug) - printk(KERN_INFO IPWIRELESS_PCCARD_NAME + printk(KERN_DEBUG IPWIRELESS_PCCARD_NAME ": ppp unblocked\n"); } else spin_unlock_irqrestore(&network->lock, flags); @@ -144,6 +144,8 @@ static int ipwireless_ppp_start_xmit(struct ppp_channel *ppp_channel, */ network->ppp_blocked = 1; spin_unlock_irqrestore(&network->lock, flags); + if (ipwireless_debug) + printk(KERN_DEBUG IPWIRELESS_PCCARD_NAME ": ppp blocked\n"); return 0; } } |