Chapter 15. Kernel mode PPPoE.

ADSL and cable modem user that require PPPoE should consider using a kernel that supports PPPoE. The user mode PPPoE consumed about 20% of CPU on an AMD-K6/2 300MHz running a gtk-gnutella ultrapeer on Linux 2.6. When using kernel mode PPPoE, this drops to near zero. This is especially important if you wish to support many connections as an ultrapeer.

Operating System PPP additional infoTransfer rate Ping CPU usage CPU usage breakdown
Linux 2.2 (64MB RAM) usermode, async ~4.1Mbits/s 1.4/1.1 100% pppoe 95%, nc 5%
Linux 2.2 (64MB RAM) usermode, sync Network max 1.0/0.8 50% pppoe 40%, nc 10%
Linux 2.4 (64MB RAM) kernelmode Network max 0.7/0.5 26% system 24%, nc 11%
NetBSD 1.6 (64MB RAM) kernelmode Network max 0.9/0.5 23% sys 15%, nc 17%
NetBSD 1.6 (32MB RAM) kernelmode Network max 1.1/0.6 23% sys 15%, nc 17%
FreeBSD 4.7 (64MB RAM) usermode,sync ~6.5Mbits/s 2.0/1.9 100% ppp 80%, nc 15%, int 5%
FreeBSD 4.7 (64MB RAM) kernelmode ~7.7Mbits/s 0.7/0.5 35% nc 17%, sys 16%, int 18%
OpenBSD 3.2 (64MB RAM) usermode,sync ~2.0Mbits/s 2.9/2.3 99% sys 87%, pppoe 65%, ppp 23%, nc 7%

This table is from an article entitled "PPPoE performance under Linux and BSDs" by Juuso Raitala and others. The important point is that kernel mode PPPoE will significantly reduce CPU load when running gtk-gnutella as an ultrapeer.

Disclaimer

Distribution and copying of this section is permitted in any medium provided this notice is preserved. An e-mail notification to any one of the following would be preferred if this article is redistributed.

© 2002 Juuso Raitala <jraitala -at- jraitala dot net> (the main author of the article), Olli Vainio <odo -at- lyseo.edu.ouka.fi>, Juha K. Kallio <bunnyh -at- psychedelic.baana.suomi.net>,

gtk-gnutella development hosted bySourceForge.net Logo