From: Alice Ryhl <aliceryhl@google.com>
To: "trieu2.huynh" <trieu2.huynh@lge.corp-partner.google.com>
Cc: gregkh@linuxfoundation.org, arve@android.com, tkjos@android.com,
brauner@kernel.org, cmllamas@google.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/2] drivers: android: binder: Introduce Cluster Aware Thread Selection
Date: Wed, 15 Jul 2026 09:17:48 +0000 [thread overview]
Message-ID: <aldQPC0OAJbTiVTY@google.com> (raw)
In-Reply-To: <20260714183553.39773-1-trieu2.huynh@lge.corp-partner.google.com>
On Wed, Jul 15, 2026 at 03:35:50AM +0900, trieu2.huynh wrote:
> Motivation
> ----------
>
> On asymmetric multi-cluster ARM64 SoCs, the default binder thread
> selection is topology-blind. Cross-cluster thread wakeups incur severe
> cache-coherency overhead.
>
> Measured performance test [1], especially with schd-dbg tiered threads [2]
> on baseline (10K iter, 16B payload):
>
> Class Tier Avg Latency Count / % of txns
> ----- ---- ----------- -----------------
> SCHED_FIFO Same-core 0.089 ms 9,963 / 99.6%
> (max prio) Same-cluster 0.120 ms 13 / 0.1%
> Cross-cluster 0.140 ms 24 / 0.2%
> -----------------------------------------------------
> Normal Same-core 0.130 ms 4,623 / 46.2%
> (Other) Same-cluster 0.140 ms 3,290 / 32.9%
> Cross-cluster 0.190 ms 2,087 / 20.9%
>
> Key Observations:
> (*) For SCHED_FIFO tasks, the scheduler aggressively locks the affinity,
> keeping 99.6% of txns on the same core, establishing the hardware's
> ideal latency ceiling (~0.089 ms).
> (*) For normal tasks, selection is highly fragmented (only 46.2% on
> same-core). Cross-cluster transactions are ~46% slower (0.19 vs
> 0.13 ms) due to interconnect overhead and cache invalidation.
> (*) CTABS aims to close this gap for normal threads by enforcing affinity.
I've been told that GKI has patched wake_up_sync() to make it place the
recipient on the same CPU if nothing else is scheduled to run there.
* http://r.android.com/1362918
* http://r.android.com/1145589
Are these patches included in the tree from which you took this
benchmark?
Alice
prev parent reply other threads:[~2026-07-15 9:17 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-14 18:35 [PATCH 0/2] drivers: android: binder: Introduce Cluster Aware Thread Selection trieu2.huynh
2026-07-14 18:35 ` [PATCH 1/2] drivers: android: binder: implement CTABS heuristic trieu2.huynh
2026-07-15 5:55 ` Greg KH
2026-07-15 15:01 ` Trieu Huynh
2026-07-14 18:35 ` [PATCH 2/2] drivers: android: binder: add preferred CPU wake-up nudge for waiting threads trieu2.huynh
2026-07-15 9:17 ` Alice Ryhl [this message]
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=aldQPC0OAJbTiVTY@google.com \
--to=aliceryhl@google.com \
--cc=arve@android.com \
--cc=brauner@kernel.org \
--cc=cmllamas@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tkjos@android.com \
--cc=trieu2.huynh@lge.corp-partner.google.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