[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1605017955-18027-1-git-send-email-Frankie.Chang@mediatek.com>
Date: Tue, 10 Nov 2020 22:19:12 +0800
From: Frankie Chang <Frankie.Chang@...iatek.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
CC: Todd Kjos <tkjos@...gle.com>,
Joel Fernandes <joel@...lfernandes.org>,
Martijn Coenen <maco@...roid.com>,
Arve Hjønnevåg <arve@...roid.com>,
Christian Brauner <christian@...uner.io>,
<linux-kernel@...r.kernel.org>, <wsd_upstream@...iatek.com>,
Jian-Min Liu <Jian-Min.Liu@...iatek.com>
Subject: [PATCH v12] binder: add transaction latency tracer
Change from v12:
- rebase.
Change from v11:
- rebase.
Change from v10:
- replace timespec64 with ktime_t.
- fix build warning.
Change from v9:
- rename timestamp to ts in binder_internal.h for conciseness.
- change timeval to timespec64 in binder_internal.h
Change from v8:
- change rtc_time_to_tm to rtc_time64_to_tm.
- change timeval to __kernel_old_timeval due to
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c766d1472c70d25ad475cf56042af1652e792b23
- export tracepoint symbol for binder_txn_latency_* which binder_transaction_latency_tracer to be ko needed.
Change from v7:
- Use the passed-in values instead of accessing via t->from/to_proc/to_thread
for trace_binder_txn_latency_free, when trace_binder_txn_latency_free_enable() return true.
- make a helper function to do the above.
Change from v6:
- change CONFIG_BINDER_TRANSACTION_LATENCY_TRACKING type from bool to tristate
- add comments to @timestamp and @tv under struct binder_transaction
- make binder_txn_latency threshold configurable
- enhance lock protection
Change from v5:
- change config name to the proper one, CONFIG_BINDER_TRANSACTION_LATENCY_TRACKING.
- change tracepoint name to more descriptive one, trace_binder_txn_latency_(alloc|info|free)
- enhance some lock protection.
Change from v4:
- split up into patch series.
Change from v3:
- use tracepoints for binder_update_info and print_binder_transaction_ext,
instead of custom registration functions.
Change from v2:
- create transaction latency module to monitor slow transaction.
Change from v1:
- first patchset.
Frankie.Chang (3):
binder: move structs from core file to header file
binder: add trace at free transaction.
binder: add transaction latency tracer
drivers/android/Kconfig | 8 +
drivers/android/Makefile | 1 +
drivers/android/binder.c | 430 ++----------------------
drivers/android/binder_internal.h | 419 +++++++++++++++++++++++
drivers/android/binder_latency_tracer.c | 107 ++++++
drivers/android/binder_trace.h | 49 +++
6 files changed, 608 insertions(+), 406 deletions(-)
create mode 100644 drivers/android/binder_latency_tracer.c
Powered by blists - more mailing lists