Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Dec 2015 15:04:13 -0800
From:      Mark Millard <markmi@dsl-only.net>
To:        Hans Petter Selasky <hps@selasky.org>
Cc:        freebsd-arm <freebsd-arm@freebsd.org>
Subject:   Re: fyi: 11.0-current rpi2 systat -vmstat shows around 24k interrupts for bcm283x_dw
Message-ID:  <2D9BD203-03D8-4354-A335-8C43A11D1BB3@dsl-only.net>
In-Reply-To: <56806007.2000302@selasky.org>
References:  <0A781C7D-C5F5-4931-AE38-D2FEC0848DCA@dsl-only.net> <56806007.2000302@selasky.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On 2015-Dec-27, at 2:02 PM, Hans Petter Selasky <hps@selasky.org> wrote:
>=20
> On 12/26/15 21:51, Mark Millard wrote:
>> Context:
>>=20
>>> # freebsd-version -ku; uname -aKU
>>> 11.0-CURRENT
>>> 11.0-CURRENT
>>> FreeBSD rpi2 11.0-CURRENT FreeBSD 11.0-CURRENT #2 r292413M: Fri Dec =
25 18:03:19 PST 2015     =
root@FreeBSDx64:/usr/obj/clang/arm.armv6/usr/src/sys/RPI2-NODBG  arm =
1100091 1100091
>>=20
>>=20
>> For a basically near-idle context systat -vmstat lists "Int" and 23k =
to 25k normally (almost always 24k) and bcm283x_dw at the right shows =
figures like 24118. "generic_ti" is more like 232 and "ipi 76" is more =
like 111. The others at the right are normally blank (other than total).
>>=20
>> Lots of bcm283x_dw interrupts if around 24k is correct. As the =
numbers do not change scale when the systat refresh interval is =
explicitly scaled, I assume that the figures are per second (or per some =
other time unit, possibly just for the most recent unit instead of =
mean).
>>=20
>> I'm not sure it will be readable but the below is a capture of a =
systat -vmstat display.
>>=20
>=20
> Hi,
>=20
> The dwc_otg needs to be served frequently in PIO mode. Your number is =
expected. We're using fast interrupts for most of this work, so no =
task-switching is involved and so the CPU consumption remains low.
>=20
> You can disable USB like this:
>=20
> usbconfig -d 0.1 set_config 255
>=20
> And the interrupts should go down to zero.
>=20
> Re-enable like this:
>=20
> usbconfig -d 0.1 set_config 0
>=20
> --HPS

Good to know. Thanks. I'm unlikely to disable USB: I've not set up a =
alternate serial connection.

FYI (but probably unrelated?): I've not tracked anything down yet but I =
do periodically get messages like:

Dec 27 07:31:56 rpi2 kernel: bcm_dma0: unused DMA intr CH=3D3, =
CS=3D20f10027
Dec 27 07:39:24 rpi2 kernel: bcm_dma0: unused DMA intr CH=3D3, =
CS=3D20f10027
Dec 27 07:41:02 rpi2 kernel: bcm_dma0: unused DMA intr CH=3D3, =
CS=3D20f10027
Dec 27 07:43:51 rpi2 kernel: bcm_dma0: unused DMA intr CH=3D3, =
CS=3D20f10027

(But I also go long times without such.)

Note: I'm currently involved in experiments providing evidence about Bus =
Errors from software that misaligns pointer values and possibly from =
inappropriate/insufficient compiler options for the SCTLR bit[1]=3D=3D1 =
status. clang++ is one of the programs getting Bus Errors.

=3D=3D=3D
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2D9BD203-03D8-4354-A335-8C43A11D1BB3>