From: johan@kernel.org (Johan Hovold)
To: linux-arm-kernel@lists.infradead.org
Subject: USB: OHCI: high softirq load
Date: Mon, 16 Jan 2017 15:47:17 +0100 [thread overview]
Message-ID: <20170116144717.GC19736@localhost> (raw)
In-Reply-To: <20170116121403.4a3a7b17@bbrezillon>
[ +CC: linux-usb ]
On Mon, Jan 16, 2017 at 12:14:03PM +0100, Boris Brezillon wrote:
> On Mon, 16 Jan 2017 11:54:23 +0100
> Antoine Aubert <a.aubert@overkiz.com> wrote:
>
> > Also, I made a big misunderstanding
> >
> > With EHCI + OHCI = high level of softirq (USB2.0)
>
> Well, the number of irqs and softirqs are likely to be related (you
> usually trigger a softirq after you received an hardirq).
>
> >
> > OHCI only = normal level
>
> What about EHCI only? And what happens if you only plug 1 device?
> Please share the content of /proc/interrupts (and everything you think
> is relevant) for each of these cases.
>
> >
> > Le 16/01/2017 ? 11:31, Antoine Aubert a ?crit :
> > > Thx for your answer Boris
> > >
> > > Le 16/01/2017 ? 10:02, Boris Brezillon a ?crit :
> > >> Hi Antoine,
> > >>
> > >> On Mon, 16 Jan 2017 08:45:58 +0100
> > >> Antoine Aubert <a.aubert@overkiz.com> wrote:
> > >>
> > >>> Hi,
> > >>>
> > >>> Im working on a AT91SAM9G25cu board
> > >>> (arch/arm/boot/dts/at91-kizboxmini.dts). We use linux-4.1.31, and when
> > >>> OHCI is enabled, I got some wired effects.
> > >> Can you test on a more recent kernel (4.9 or 4.10-rc4)?
> > > I'll give a try, just need little time ;)
> > >>> eg with 3 FTDI pluged, interrupts: more than 3.5k/s, cpu softirq > 24%,
> > >>> loadavg > 0.5
> > >> Can you check which interrupt is triggered (cat /proc/interrupts),
> > > cat /proc/interrupts
> > > CPU0
> > > 16: 2286 atmel-aic 1 Level pmc, at91_tick, at91_rtc, ttyS0
> > > 17: 0 PMC 17 Level main_rc_osc
> > > 18: 0 PMC 0 Level main_osc
> > > 19: 0 PMC 16 Level mainck
> > > 20: 0 PMC 1 Level clk-plla
> > > 21: 0 PMC 6 Level clk-utmi
> > > 22: 0 PMC 3 Level clk-master
> > > 23: 945527 atmel-aic 17 Level tc_clkevt
> > > 24: 21815 atmel-aic 20 Level at_hdmac
> > > 25: 0 atmel-aic 21 Level at_hdmac
> > > 30: 120299 atmel-aic 24 Level eth0
> > > 31: 22783651 atmel-aic 22 Level ehci_hcd:usb1, ohci_hcd:usb2
> > > 99: 0 GPIO 16 Edge PB_RST
> > > 100: 0 GPIO 17 Edge PB_PROG
> > > Err: 0
Note that the ftdi driver uses a low-latency setting by default which
implies that the device sends a status update every millisecond. Hence,
the 1k interrupts per second (per device) while the port is open is
expected.
You can disable the low-latency behaviour using setserial:
setserial /dev/ttyUSB0 ^low_latency
and see the number of interrupts drop to 1/16th. This can then be
reduced further by changing the latency_timer from its
(non-low-latency) default of 16 ms, for example:
echo 64 >/sys/bus/usb-serial/devices/ttyUSB0/latency_timer
Johan
next prev parent reply other threads:[~2017-01-16 14:47 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-16 7:45 USB: OHCI: high softirq load Antoine Aubert
2017-01-16 9:02 ` Boris Brezillon
2017-01-16 10:31 ` Antoine Aubert
2017-01-16 10:54 ` Antoine Aubert
2017-01-16 11:14 ` Boris Brezillon
2017-01-16 14:47 ` Johan Hovold [this message]
2017-01-16 16:11 ` Antoine Aubert
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170116144717.GC19736@localhost \
--to=johan@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.