From: Greg KH <gregkh@linuxfoundation.org>
To: raoxu <raoxu@uniontech.com>
Cc: kenny@panix.com, linux-usb@vger.kernel.org,
mathias.nyman@linux.intel.com, michal.pecio@gmail.com,
niklas.neronin@linux.intel.com, zhanjun@uniontech.com
Subject: Re: [PATCH v11 2/2] usb: xhci: enable secondary interrupters and route transfers per slot
Date: Tue, 27 Jan 2026 08:39:29 +0100 [thread overview]
Message-ID: <2026012754-ferocity-operator-e3b2@gregkh> (raw)
In-Reply-To: <FF69E7CC57E8D606+20260127023900.2145949-1-raoxu@uniontech.com>
On Tue, Jan 27, 2026 at 10:39:00AM +0800, raoxu wrote:
> From: Xu Rao <raoxu@uniontech.com>
>
> Some xHCI hosts expose multiple MSI/MSI-X vectors and support multiple
> interrupters with independent event rings, but Linux commonly routes all
> transfer completions through interrupter 0.
>
> This is not about increasing USB link throughput, but about avoiding a
> driver-imposed single hot spot.
What do you mean exactly by "hot spot"? Usually this is a good thing,
driver code is in the cache, as are the data structures, so this keeps
data flowing well with less latencies. Why would you not want this?
> On hosts that already provide multiple
> MSI/MSI-X vectors and independent event rings, routing all completions
> through interrupter 0 creates unnecessary contention (serialized event
> handling/locks and coupled moderation), increasing CPU cost and tail
> latency under many active devices/endpoints.
So this is a MSI routing issue, not a cpu cache issue?
And exactly what type of contention is happening here? How can it be
measured and noticed? The latencies involved in USB are huge due to the
protocol and hardware, why would a CPU even notice such things?
> Using secondary interrupters
> simply matches the hardware's design, similar in spirit to merged
> xHCI-sideband work: exploit available parallel paths rather than
> funneling all events through one.
What do you mean by "secondary interrupters"? The sideband work was for
a totally different issue, whereby the normal hardware and CPU was
bypassed to allow it to remain powered down and to save battery life.
Spreading interrupts across CPU cores does the exact opposite of that,
ensuring that cores can NOT go to sleep when the work should be only
done by one of them.
In short, please post numbers showing how this really is noticable
somehow.
thanks,
greg k-h
next prev parent reply other threads:[~2026-01-27 7:39 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-27 2:34 [PATCH v11 0/2] usb: xhci: route device to secondary interrupters raoxu
2026-01-27 2:38 ` [PATCH v11 1/2] usb: xhci: refactor IRQ/interrupter plumbing for multi-vector support raoxu
2026-01-27 12:54 ` Neronin, Niklas
2026-01-27 2:39 ` [PATCH v11 2/2] usb: xhci: enable secondary interrupters and route transfers per slot raoxu
2026-01-27 7:39 ` Greg KH [this message]
2026-01-27 10:55 ` raoxu
2026-01-27 11:04 ` Greg KH
2026-01-28 8:09 ` raoxu
2026-01-28 8:35 ` Greg KH
2026-01-29 14:22 ` Michal Pecio
2026-01-29 19:43 ` Mathias Nyman
2026-01-29 20:03 ` Kenneth Crudup
2026-01-30 3:48 ` raoxu
2026-01-30 5:34 ` Greg KH
2026-02-02 13:29 ` [PATCH v12 " raoxu
2026-01-27 12:57 ` [PATCH v11 " Neronin, Niklas
2026-01-27 7:33 ` [PATCH v11 0/2] usb: xhci: route device to secondary interrupters Greg KH
2026-01-28 13:19 ` Kenneth Crudup
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=2026012754-ferocity-operator-e3b2@gregkh \
--to=gregkh@linuxfoundation.org \
--cc=kenny@panix.com \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@linux.intel.com \
--cc=michal.pecio@gmail.com \
--cc=niklas.neronin@linux.intel.com \
--cc=raoxu@uniontech.com \
--cc=zhanjun@uniontech.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox