FROMGIT: binder: print warnings when detecting oneway spamming.
authorMartijn Coenen <maco@android.com>
Fri, 21 Aug 2020 12:25:44 +0000 (14:25 +0200)
committerBruno Martins <bgcngm@gmail.com>
Wed, 24 Apr 2024 23:06:33 +0000 (00:06 +0100)
commitcfe19b16e4d4b4d3920c32fdeacf95efe47f8c5e
tree774b8f672a58832f616b27b8baef55c5be3b48d2
parentc065b2702e57df88bd939a19839a7ed06403a7d0
FROMGIT: binder: print warnings when detecting oneway spamming.

The most common cause of the binder transaction buffer filling up is a
client rapidly firing oneway transactions into a process, before it has
a chance to handle them. Yet the root cause of this is often hard to
debug, because either the system or the app will stop, and by that time
binder debug information we dump in bugreports is no longer relevant.

This change warns as soon as a process dips below 80% of its oneway
space (less than 100kB available in the configuration), when any one
process is responsible for either more than 50 transactions, or more
than 50% of the oneway space.

Signed-off-by: Martijn Coenen <maco@android.com>
Signed-off-by: Martijn Coenen <maco@google.com>
Acked-by: Todd Kjos <tkjos@google.com>
Link: https://lore.kernel.org/r/20200821122544.1277051-1-maco@android.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 261e7818f06ec51e488e007f787ccd7e77272918
git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git/
char-misc-next)

Bug: 147795659
Change-Id: Idc2b03ddc779880ca4716fdae47a70df43211f25
drivers/android/binder.c
drivers/android/binder_alloc.c
drivers/android/binder_alloc.h
drivers/android/binder_alloc_selftest.c