2009-10-23 01:53:37

by Franko Fang

[permalink] [raw]
Subject: PATCH 23/10]Optimize the upload speed for PPP connection.

From: fangxiaozhi <[email protected]>
1. This patch is based on the kernel of 2.6.32-rc4
2. In this patch, we enlarge the out buffer size to optimize the upload speed for the ppp connection. Then it can support the upload of HSUPA data cards.
Signed-off-by: fangxiaozhi <[email protected]>
-----------------------------------------------------------------------------------------
--- a/drivers/net/ppp_async.c 2009-10-12 05:43:56.000000000 +0800
+++ b/drivers/net/ppp_async.c 2009-10-15 16:29:56.000000000 +0800
@@ -36,7 +36,7 @@

#define PPP_VERSION "2.4.2"

-#define OBUFSIZE 256
+#define OBUFSIZE 2048

/* Structure for storing local state. */
struct asyncppp {

******************************************************************************************
This email and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained here in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email
immediately and delete it!
*****************************************************************************************


2009-10-23 11:46:10

by William Allen Simpson

[permalink] [raw]
Subject: Re: PATCH 23/10]Optimize the upload speed for PPP connection.

fangxiaozhi 00110321 wrote:
> From: fangxiaozhi <[email protected]>
> 1. This patch is based on the kernel of 2.6.32-rc4
> 2. In this patch, we enlarge the out buffer size to optimize the upload speed for the ppp connection. Then it can support the upload of HSUPA data cards.
> Signed-off-by: fangxiaozhi <[email protected]>
> -----------------------------------------------------------------------------------------
> --- a/drivers/net/ppp_async.c 2009-10-12 05:43:56.000000000 +0800
> +++ b/drivers/net/ppp_async.c 2009-10-15 16:29:56.000000000 +0800
> @@ -36,7 +36,7 @@
>
> #define PPP_VERSION "2.4.2"
>
> -#define OBUFSIZE 256
> +#define OBUFSIZE 2048
>
> /* Structure for storing local state. */
> struct asyncppp {
>
Concur. I'd go further than that, my code usually made room for at least
a full MTU (MRU) with HDLC escaping. To minimize context switches, that
should be 3014 ((1500 MRU + 2 FCS + 4 header) * 2 escapes + 2 flags).

Even in the old days, when memory was tight, context switches and interrupt
time were more expensive, too. PPP is supposed to scale to OC-192.

2009-10-24 13:45:41

by David Miller

[permalink] [raw]
Subject: Re: PATCH 23/10]Optimize the upload speed for PPP connection.

From: William Allen Simpson <[email protected]>
Date: Fri, 23 Oct 2009 07:46:08 -0400

> Concur. I'd go further than that, my code usually made room for at
> least
> a full MTU (MRU) with HDLC escaping. To minimize context switches,
> that
> should be 3014 ((1500 MRU + 2 FCS + 4 header) * 2 escapes + 2 flags).
>
> Even in the old days, when memory was tight, context switches and
> interrupt
> time were more expensive, too. PPP is supposed to scale to OC-192.

Actually I'd like to see ->obuf allocated externally and then
make it simply PAGE_SIZE.

2009-10-26 02:44:38

by Franko Fang

[permalink] [raw]
Subject: Re: PATCH 23/10]Optimize the upload speed for PPP connection.

Thanks your advice.

But generally, PAGE_SIZE is 4096, whether it is too large or not?

If PAGE_SIZE is really appropriate, then I can resubmit the patch.

Thanks very much.
----- Original Message -----
From: "David Miller" <[email protected]>
To: <[email protected]>
Cc: <[email protected]>; <[email protected]>; <[email protected]>; <[email protected]>; <[email protected]>; <[email protected]>
Sent: Saturday, October 24, 2009 9:46 PM
Subject: Re: PATCH 23/10]Optimize the upload speed for PPP connection.


> From: William Allen Simpson <[email protected]>
> Date: Fri, 23 Oct 2009 07:46:08 -0400
>
>> Concur. I'd go further than that, my code usually made room for at
>> least
>> a full MTU (MRU) with HDLC escaping. To minimize context switches,
>> that
>> should be 3014 ((1500 MRU + 2 FCS + 4 header) * 2 escapes + 2 flags).
>>
>> Even in the old days, when memory was tight, context switches and
>> interrupt
>> time were more expensive, too. PPP is supposed to scale to OC-192.
>
> Actually I'd like to see ->obuf allocated externally and then
> make it simply PAGE_SIZE.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/