DWC OTG TX path optimisation for 11-current

Hans Petter Selasky hps at selasky.org
Fri Jul 31 12:29:37 UTC 2015


On 07/31/15 13:55, Svatopluk Kraus wrote:
> On Fri, Jul 31, 2015 at 11:15 AM, Hans Petter Selasky <hps at selasky.org> wrote:
>> Hi,
>>
>> I did some testing myself and I see the polling handler can loop many times
>> when USB is active. Instead of 2 as a polling limit I've set 16. Hope this
>> works too. Works fine over here.
>>
>> https://svnweb.freebsd.org/changeset/base/286118
>>

Hi,

>
> Definitely, some limitation was needed there. Thanks.
>
> Unfortunatelly, it turned out that it does not help with my problem.
> It has affected system response time in good way for some time after
> the trigger is pulled. However, after 17 hours when buildworld
> finished, system response time is bad again.
>
> It also turns out that I have a problem with booting my kernels. So I
> cannot test the extra "clear RX FIFO level interrupt" patch as even
> this one line of code causes that kernel does not boot. It freezes at
> very beginning and even first printf is not printed. Thus I have to
> debug this problem firstly. It will be very funny without either jtag
> or early printf. ;)
>

I'll possibly order an RPI2 for myself.

> Meantime, I have noticed that after reboot (system is 99% idle), I'm
> getting the following output from vmstat:
>
>

> IMO, 24000 interrupts per a second for bcm283x_dwco is too many.

Yes, that's right.

BTW: I see you are using RPI2 while I'm using an RPI-B. That's probably 
why this won't preproduce over here.

I've made another patch to not write the GINTMSK with same values. Not 
sure if it makes any difference.

--HPS

-------------- next part --------------
A non-text attachment was scrubbed...
Name: dwc_otg.diff
Type: text/x-diff
Size: 956 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20150731/73983223/attachment.bin>


More information about the freebsd-arm mailing list