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 info||Transfer 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.
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.