Opened 14 years ago

Closed 4 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)

cpu_load.jpg (253.1 KB ) - added by stippi 14 years ago.
Screen shot showing the CPU load in ProcessController.

Download all attachments as: .zip

Change History (7)

by stippi, 14 years ago

Attachment: cpu_load.jpg added

Screen shot showing the CPU load in ProcessController.

comment:1 by stippi, 14 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 axeld, 14 years ago

Summary: FTPD receiving network data takes way too much CPUFTPD 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 RandomInsano, 14 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 diver, 13 years ago

Component: Drivers/NetworkDrivers/Network/rtl8139

comment:5 by waddlesplash, 6 years ago

Still an issue?

comment:6 by waddlesplash, 4 years ago

Resolution: invalid
Status: newclosed

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.

Note: See TracTickets for help on using tickets.