public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* how to improve the throughput of linux network
@ 2002-07-16  1:13 zhengchuanbo
  2002-07-16 14:26 ` Jason Lunz
  0 siblings, 1 reply; 6+ messages in thread
From: zhengchuanbo @ 2002-07-16  1:13 UTC (permalink / raw)
  To: linux-kernel@vger.kernel.org


we use linux as our router. i just tested the performance of the router with smartbits, and i found that the throughput of 64byte frame is only 25%, about 35kpps. 
someone mentioned that the throughput of 64byte frame could reach 70kpps.so i wish i could improve the performance of our router,but i don't know how to do that.
i looked for some solution,and found some article mentioned the NAPI. it changed the driver to polling mode,so that the interrupt is no too much. but i could not find  drivers for our router.(eepro100 card). has the polling mode driver been used in linux?
i think there should be some other methods to improve the performance.but what is the most efficient one?
thanks for help. please cc.

chuanbo zheng


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: how to improve the throughput of linux network
  2002-07-16  2:44 RE:Re: " Hell.Surfers
@ 2002-07-16  2:57 ` Thunder from the hill
  2002-07-18 15:35   ` Eric W. Biederman
  0 siblings, 1 reply; 6+ messages in thread
From: Thunder from the hill @ 2002-07-16  2:57 UTC (permalink / raw)
  To: Hell.Surfers; +Cc: hahn, linux-kernel

Hi,

On Tue, 16 Jul 2002 Hell.Surfers@cwctv.net wrote:
> well only if it was used little amounts, like once every hour, it would
> dynamically unload in between,

That's ok then. It shouldn't produce significant overhead. But on the 
routers that I run I have either no netfilters at all, or they keep 
running, so even if they were a module, they'd never have any time to 
unload.

> and dont modules, recompile on each use?

No, because that would be pointless. And it would keep the kernel from 
running properly on systems without a c compiler.

							Regards,
							Thunder
-- 
(Use http://www.ebb.org/ungeek if you can't decode)
------BEGIN GEEK CODE BLOCK------
Version: 3.12
GCS/E/G/S/AT d- s++:-- a? C++$ ULAVHI++++$ P++$ L++++(+++++)$ E W-$
N--- o?  K? w-- O- M V$ PS+ PE- Y- PGP+ t+ 5+ X+ R- !tv b++ DI? !D G
e++++ h* r--- y- 
------END GEEK CODE BLOCK------


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: how to improve the throughput of linux network
  2002-07-16  1:13 how to improve the throughput of linux network zhengchuanbo
@ 2002-07-16 14:26 ` Jason Lunz
       [not found]   ` <1026838787.401.15.camel@xbox>
  0 siblings, 1 reply; 6+ messages in thread
From: Jason Lunz @ 2002-07-16 14:26 UTC (permalink / raw)
  To: zhengcb, lunz; +Cc: linux-kernel

zhengcb@netpower.com.cn said:
> we use linux as our router. i just tested the performance of the
> router with smartbits, and i found that the throughput of 64byte frame
> is only 25%, about 35kpps. 
>
> someone mentioned that the throughput of 64byte frame could reach
> 70kpps.so i wish i could improve the performance of our router,but i
> don't know how to do that.
>
> i looked for some solution, and found some article mentioned the NAPI.
> it changed the driver to polling mode,so that the interrupt is no too
> much. but i could not find  drivers for our router.(eepro100 card).
> has the polling mode driver been used in linux?

I made NAPI core and driver patches for linux 2.4; they're at
http://gtf.org/lunz/linux/net/. There's an eepro100 driver there.

Please send me (and the linux netdev list) the results of any testing
you do.

Jason

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: how to improve the throughput of linux network
       [not found]   ` <1026838787.401.15.camel@xbox>
@ 2002-07-16 19:10     ` Jason Lunz
  0 siblings, 0 replies; 6+ messages in thread
From: Jason Lunz @ 2002-07-16 19:10 UTC (permalink / raw)
  To: Filip Sneppe (Yucom); +Cc: linux-kernel

On Tue, Jul 16, 2002 at  6:59PM +0200, Filip Sneppe (Yucom) wrote:
> Hey, that's funny. I downloaded NAPI patches from:
> ftp://robur.slu.se/pub/Linux/net-development/NAPI/

Yes, that's where the NAPI stuff originates. The core patch from that
site is what made it into 2.5, and I backported it to 2.4 from there.
There are no substantial differences between the three.

> How different are those patches from yours ? Did you just make
> sure they all applied cleanly ?

While the core is mostly a matter of changing patch offsets, the driver
patches are still a moving target. There are two different flavors of
the e1000 NAPI patch, for example. The most recent tulip patch from the
above FTP site is missing tulip_misc.c, so it must be replaced with a
version from another patch.  That file really is only code to report
stats in /proc, though. There's yet another napified tulip driver that
jamal posted a link to; I have yet to investigate that one.

But to answer your question, yes. I just found the most recent versions
of various napi efforts and made them apply to a recent 2.4 kernel so
people can easily try out the new net core.

Jason

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: how to improve the throughput of linux network
  2002-07-17 14:13 zhengchuanbo
@ 2002-07-17 16:29 ` Jason Lunz
  0 siblings, 0 replies; 6+ messages in thread
From: Jason Lunz @ 2002-07-17 16:29 UTC (permalink / raw)
  To: zhengchuanbo; +Cc: linux-kernel

In gmane.linux.kernel, you wrote:
> i got the patch for NAPI,and patched it on linux2.4.18. it worked. the
> throughput of 128bytes frame improve from 60% to more than 90%. it
> seems that it has no influnce to frames bigger than 256.
> 
> but there is still some problem. when i tested the throught of 64bytes
> frame,some error occured. in the begining it works well. but after
> several times of try the linux router can not receive any packets at
> all.(i found that by run ifconfig when the smartbits is testing). for
> the other frames it worked very well.
> 
> so what's wrong with my test? is there some problem with the patch?

Quite possibly. Are you still using the eepro100 NAPI driver? I doubt
that it's gotten wide testing.

The patch at http://gtf.org/lunz/linux/net/ comes from here:
ftp://robur.slu.se/pub/Linux/net-development/NAPI/eepro100/eepro100-napi-020619.tar.gz

The NAPI conversion was done by fxzhang@ict.ac.cn (see the README); you
may want to ask him about problems you're having.

-- 
Jason Lunz			Reflex Security
lunz@reflexsecurity.com		http://www.reflexsecurity.com/

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: how to improve the throughput of linux network
  2002-07-16  2:57 ` Thunder from the hill
@ 2002-07-18 15:35   ` Eric W. Biederman
  0 siblings, 0 replies; 6+ messages in thread
From: Eric W. Biederman @ 2002-07-18 15:35 UTC (permalink / raw)
  To: Thunder from the hill; +Cc: Hell.Surfers, hahn, linux-kernel

Thunder from the hill <thunder@ngforever.de> writes:

> Hi,
> 
> On Tue, 16 Jul 2002 Hell.Surfers@cwctv.net wrote:
> > well only if it was used little amounts, like once every hour, it would
> > dynamically unload in between,
> 
> That's ok then. It shouldn't produce significant overhead. But on the 
> routers that I run I have either no netfilters at all, or they keep 
> running, so even if they were a module, they'd never have any time to 
> unload.

Only if you have a cron job running rmmod -a will the module unload.
The kernel never unloads modules without being asked.

Eric

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2002-07-18 15:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-07-16  1:13 how to improve the throughput of linux network zhengchuanbo
2002-07-16 14:26 ` Jason Lunz
     [not found]   ` <1026838787.401.15.camel@xbox>
2002-07-16 19:10     ` Jason Lunz
  -- strict thread matches above, loose matches on Subject: below --
2002-07-16  2:44 RE:Re: " Hell.Surfers
2002-07-16  2:57 ` Thunder from the hill
2002-07-18 15:35   ` Eric W. Biederman
2002-07-17 14:13 zhengchuanbo
2002-07-17 16:29 ` Jason Lunz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox