Opened 9 years ago

Last modified 10 months ago

#6059 new bug

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:
Has a Patch: no 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 9 years ago.
Screen shot showing the CPU load in ProcessController.

Download all attachments as: .zip

Change History (6)

Changed 9 years ago by stippi

Attachment: cpu_load.jpg added

Screen shot showing the CPU load in ProcessController.

comment:1 Changed 9 years ago by stippi

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 Changed 9 years ago by axeld

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 Changed 9 years ago by RandomInsano

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 Changed 8 years ago by diver

Component: Drivers/NetworkDrivers/Network/rtl8139

comment:5 Changed 10 months ago by waddlesplash

Still an issue?

Note: See TracTickets for help on using tickets.