FreeBSD-11.0-CURRENT on ARM: performance and load average

Ian Lepore ian at FreeBSD.org
Sat Sep 20 19:24:18 UTC 2014


On Sat, 2014-09-20 at 22:44 +0400, Maxim V FIlimonov wrote:
> Hello everyone,
> 
> Recently, I encountered a problem with -CURRENT on an ARM board (cubieboard2 
> to be precise). The problem was that the load average was above 2. Including 
> the fact that the board has 2 CPU cores, that's strange. Also, the network 
> throughput was way too slow: from 3 kilobytes per second earlier to 20..50 
> about now. 
> 
> Here's a workaround for that:
> > sysctl kern.eventtimer.periodic=1
> With that, the network performance increased while LA decreased to a decent 
> 0.3..0.5.

Since it's happening only on that hardware, there's a good chance the
problem is in the allwinner a10/a20 clock driver, not in the general
eventtimer code.  In fact, looking at the code it appears that a
divide-by-16 is being set in the hardware, but not accounted for when
setting the frequency of the eventtimer.

Hmm, it should affect the timecounter too, in which case you'd see
time-of-day advancing 16x too fast.  If ntpd is running it would need to
step the clock pretty frequently, which would show up in syslog.

I don't have hardware to test on, please see if the attached patch makes
a difference.

-- Ian

-------------- next part --------------
A non-text attachment was scrubbed...
Name: allwinner_timer.diff
Type: text/x-patch
Size: 502 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20140920/6d3acdd6/attachment.bin>


More information about the freebsd-arm mailing list