From: Martijn Coenen <maco@android.com>
To: gregkh@linuxfoundation.org, john.stultz@linaro.org,
tkjos@google.com, arve@android.com, amit.pundir@linaro.org,
tglx@linutronix.de
Cc: peterz@infradead.org, hch@lst.de, linux-kernel@vger.kernel.org,
devel@driverdev.osuosl.org, maco@google.com, malchev@google.com,
ccross@android.com, Martijn Coenen <maco@android.com>
Subject: [PATCH v2 00/13] ANDROID: binder: RT priority inheritance and small fixes.
Date: Thu, 31 Aug 2017 10:04:17 +0200 [thread overview]
Message-ID: <20170831080430.118765-1-maco@android.com> (raw)
Changes since v1 [1]:
- added more detailed commit messages and comments to the priority
inheritance patches, including rationale for not using
schet_setscheduler() directly, or rt_mutex prio inheritance.
No functional changes.
[1]: https://lkml.kernel.org/r/20170825093335.100892-1-maco@android.com
---
The first six patches in this set introduce support for priority
inheritance of real-time scheduling policies in binder. With the
introduction of Android Treble, functionality that used to be in a
single process is now split over two or more processes, which
communicate using binder IPC. For latency sensitive operations such as
sensor events, Bluetooth audio and rendering, inheriting the
(real-time) priority of the caller is crucial to meet requirements.
The implementation in this series directly calls into the scheduler to
modify priorities, since I haven't found a way to make this work
correctly with rt_mutex or other existing priority inheritance
mechanisms. I have found the current approach to be reliable, but I'm
happy to look into suggestions to make this work with existing
infrastructure. More details in the patches themselves.
Colin's patch adds a debug ioctl that allows us to more accurately track
memory leaks, as it allows us to identify objects to which only remote
processes have a reference.
The subsequent patches are mostly small fixes and (hopefully) well
explained in the commit messages.
All patches except 'Add tracing for binder priority inheritance' have
already been reviewed by Android engineers and are merged in Android's
common kernel trees.
---
Colin Cross (1):
ANDROID: binder: Add BINDER_GET_NODE_DEBUG_INFO ioctl
Martijn Coenen (12):
ANDROID: binder: remove proc waitqueue
ANDROID: binder: push new transactions to waiting threads.
ANDROID: binder: add support for RT prio inheritance.
ANDROID: binder: add min sched_policy to node.
ANDROID: binder: improve priority inheritance.
ANDROID: binder: add RT inheritance flag to node.
ANDROID: binder: don't check prio permissions on restore.
ANDROID: binder: Don't BUG_ON(!spin_is_locked()).
ANDROID: binder: call poll_wait() unconditionally.
ANDROID: binder: don't enqueue death notifications to thread todo.
ANDROID: binder: don't queue async transactions to thread.
ANDROID: binder: Add tracing for binder priority inheritance.
drivers/android/binder.c | 773 ++++++++++++++++++++++++++++--------
drivers/android/binder_trace.h | 24 ++
include/uapi/linux/android/binder.h | 63 ++-
3 files changed, 689 insertions(+), 171 deletions(-)
--
2.14.1.581.gf28d330327-goog
next reply other threads:[~2017-08-31 8:04 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-08-31 8:04 Martijn Coenen [this message]
2017-08-31 8:04 ` [PATCH v2 01/13] ANDROID: binder: remove proc waitqueue Martijn Coenen
2017-08-31 8:04 ` [PATCH v2 02/13] ANDROID: binder: push new transactions to waiting threads Martijn Coenen
2017-08-31 8:04 ` [PATCH v2 03/13] ANDROID: binder: add support for RT prio inheritance Martijn Coenen
2017-08-31 8:18 ` Peter Zijlstra
2017-08-31 8:27 ` Martijn Coenen
2017-08-31 11:32 ` Peter Zijlstra
2017-08-31 12:00 ` Martijn Coenen
2017-08-31 12:21 ` Peter Zijlstra
2017-09-01 7:24 ` Greg KH
2017-10-09 11:21 ` Martijn Coenen
2017-10-09 11:43 ` Greg KH
2017-08-31 8:04 ` [PATCH v2 04/13] ANDROID: binder: add min sched_policy to node Martijn Coenen
2017-08-31 8:04 ` [PATCH v2 05/13] ANDROID: binder: improve priority inheritance Martijn Coenen
2017-08-31 8:04 ` [PATCH v2 06/13] ANDROID: binder: add RT inheritance flag to node Martijn Coenen
2017-08-31 8:04 ` [PATCH v2 07/13] ANDROID: binder: Add BINDER_GET_NODE_DEBUG_INFO ioctl Martijn Coenen
2017-08-31 8:04 ` [PATCH v2 08/13] ANDROID: binder: don't check prio permissions on restore Martijn Coenen
2017-08-31 8:04 ` [PATCH v2 09/13] ANDROID: binder: Don't BUG_ON(!spin_is_locked()) Martijn Coenen
2017-08-31 8:04 ` [PATCH v2 10/13] ANDROID: binder: call poll_wait() unconditionally Martijn Coenen
2017-08-31 8:04 ` [PATCH v2 11/13] ANDROID: binder: don't enqueue death notifications to thread todo Martijn Coenen
2017-08-31 8:04 ` [PATCH v2 12/13] ANDROID: binder: don't queue async transactions to thread Martijn Coenen
2017-08-31 8:04 ` [PATCH v2 13/13] ANDROID: binder: Add tracing for binder priority inheritance Martijn Coenen
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=20170831080430.118765-1-maco@android.com \
--to=maco@android.com \
--cc=amit.pundir@linaro.org \
--cc=arve@android.com \
--cc=ccross@android.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=hch@lst.de \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maco@google.com \
--cc=malchev@google.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=tkjos@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