Opened 15 years ago
Closed 5 years ago
#6059 closed bug (invalid)
FTPD receiving network data takes way too much CPU (rtl8139)
Reported by: | stippi | Owned by: | nobody |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | Drivers/Network/rtl8139 | Version: | R1/Development |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
hrev36812, GCC4 based hybrid.
Connecting to Haiku via FTP from another box on the home network and uploading something consumes about 35% on one CPU and about 70% on the other CPU. See attached screenshot. The network driver is for RTL8139, should be a FreeBSD driver. The most load is in the kernel.
Attachments (1)
Change History (7)
by , 15 years ago
Attachment: | cpu_load.jpg added |
---|
comment:1 by , 15 years ago
Perhaps also of interest: Both computers are connected to a 100 Mbit switch which itself is connected to the Internet via 100 MBit router. The Linux box doing the upload has a Gigabit NIC. In Tracker, the files appear to arrive at about 11 MiB/sec.
comment:2 by , 15 years ago
Summary: | FTPD receiving network data takes way too much CPU → FTPD receiving network data takes way too much CPU (rtl8139) |
---|
11 MB/s is pretty much the theoretical maximum, so that alone is very nice.
It looks like the driver is generating lots of stray interrupts. Since I don't have any noticeable CPU load when I use FTP, I would assume a driver (or FreeBSD compatibility layer) issue. Unfortunately, the interrupt handling is always a bit worrisome when using FreeBSD drivers.
comment:3 by , 15 years ago
Interestingly, I have the same problem in FreeBSD which is where the ftp daemon originates doesn't it? May be a problem upstream.
comment:4 by , 14 years ago
Component: | Drivers/Network → Drivers/Network/rtl8139 |
---|
comment:6 by , 5 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
The RTL8139 is apparently a terrible chip (https://xref.landonf.org/source/xref/haiku/src/add-ons/kernel/drivers/network/rtl8139/dev/rl/if_rl.c#48) so this is to some degree expected. At least other FreeBSD drivers do not consume so much CPU, so there is just nothing to be done here.
Screen shot showing the CPU load in ProcessController.