[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: NFS on Raspberry Pi high load



Reco <recoverym4n@gmail.com> wrote:
> On Fri, 19 Jun 2015 20:38:12 +0200 Sven Hartge <sven@svenhartge.de> wrote:


>> Maybe the USB hardware implementation is better in the N900? The one
>> in the Pi is quite bad and finicky.

> I happen to have Pi too. Not that I need an NFS server on it, NFS
> client is sufficient for my needs, but still.

  
>> In addition to that, data transfer via USB is quite CPU-intensive, as
>> Petter wrote and overwhelms the single CPU core of the Pi if it needs to
>> drive the SD card at the same time.

> Hm. I plugged an Ethernet cable into it, read and wrote a big file via
> NFS. Got consistent 50mbps.

Where did you write the file to and from? You said your Pi is a
NFS client so I assume you wrote a file to a server and read it back
from there.

> According to iperf, I could go as high as 82.2 mbps. Not the fair
> gigabit I have on this LAN, but close to theoretical 100mbit limit of
> the NIC.

iperf does no file I/O so nearly every CPU cylce can be used for the USB
transfer.

> During the NFS test, two kernel threads were the worst CPU
> consumers, kworker/0 and ksoftirqd/0.

> During the iperf test, the worst CPU consumers were iperf itself and
> ksoftirqd/0.

> According to the /proc/interrupts, the top interrupt consumer was
> IRQ32, which is:

> dwc_otg, dwc_otg_pcd, dwc_otg_hcd:usb1

That is the driver for the USB port, a DesignWare OnTheGo USB
controller. The controller is able to drive the USB port as either a
host or a client.

This chip and the driver are a constant "work in progress" and depending
on the kernel version and the firmware your luck with the USB port on
the Pi might be better or worse.

For example:
http://ludovicrousseau.blogspot.de/2014/04/usb-issues-with-raspberry-pi.html

So maybe by updating the bootloader and GPU firmware to the latest from
https://github.com/raspberrypi/firmware one might be able to improve the
situation.

Grüße,
Sven.

-- 
Sigmentation fault. Core dumped.


Reply to: