From: Frankie Chang <Frankie.Chang@mediatek.com> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: "Todd Kjos" <tkjos@google.com>, "Joel Fernandes" <joel@joelfernandes.org>, "Martijn Coenen" <maco@android.com>, "Arve Hjønnevåg" <arve@android.com>, "Christian Brauner" <christian@brauner.io>, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, wsd_upstream@mediatek.com, "Jian-Min Liu" <Jian-Min.Liu@mediatek.com> Subject: [PATCH v8] binder: transaction latency tracking for user build Date: Mon, 7 Sep 2020 20:00:52 +0800 [thread overview] Message-ID: <1599480055-25781-1-git-send-email-Frankie.Chang@mediatek.com> (raw) In-Reply-To: <20200907070045.GA605692@kroah.com> 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 | 418 +++++++++++++++++++++++ drivers/android/binder_latency_tracer.c | 112 ++++++ drivers/android/binder_trace.h | 49 +++ 6 files changed, 612 insertions(+), 406 deletions(-) create mode 100644 drivers/android/binder_latency_tracer.c
WARNING: multiple messages have this Message-ID (diff)
From: Frankie Chang <Frankie.Chang@mediatek.com> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: wsd_upstream@mediatek.com, linux-kernel@vger.kernel.org, "Arve Hjønnevåg" <arve@android.com>, "Jian-Min Liu" <Jian-Min.Liu@mediatek.com>, linux-mediatek@lists.infradead.org, "Joel Fernandes" <joel@joelfernandes.org>, "Martijn Coenen" <maco@android.com>, "Christian Brauner" <christian@brauner.io>, "Todd Kjos" <tkjos@google.com> Subject: [PATCH v8] binder: transaction latency tracking for user build Date: Mon, 7 Sep 2020 20:00:52 +0800 [thread overview] Message-ID: <1599480055-25781-1-git-send-email-Frankie.Chang@mediatek.com> (raw) In-Reply-To: <20200907070045.GA605692@kroah.com> 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 | 418 +++++++++++++++++++++++ drivers/android/binder_latency_tracer.c | 112 ++++++ drivers/android/binder_trace.h | 49 +++ 6 files changed, 612 insertions(+), 406 deletions(-) create mode 100644 drivers/android/binder_latency_tracer.c _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek
next prev parent reply other threads:[~2020-09-07 12:08 UTC|newest] Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-02-05 6:52 [PATCH v1 1/1] binder: transaction latency tracking for user build Frankie Chang 2020-02-05 6:52 ` Frankie Chang 2020-02-05 9:36 ` Greg Kroah-Hartman 2020-02-05 9:36 ` Greg Kroah-Hartman 2020-02-05 15:49 ` Joel Fernandes 2020-02-05 15:49 ` Joel Fernandes 2020-02-07 3:10 ` Frankie Chang 2020-02-07 3:10 ` Frankie Chang 2020-02-07 3:17 ` Joel Fernandes 2020-02-07 3:17 ` Joel Fernandes 2020-02-07 6:28 ` Frankie Chang 2020-02-07 6:28 ` Frankie Chang 2020-02-07 13:26 ` Joel Fernandes 2020-02-07 13:26 ` Joel Fernandes 2020-04-13 6:24 ` Frankie Chang 2020-04-13 6:24 ` Frankie Chang 2020-04-15 5:37 ` [PATCH v2] " Frankie Chang 2020-04-15 5:37 ` Frankie Chang 2020-04-15 5:37 ` [PATCH v2 1/1] " Frankie Chang 2020-04-15 5:37 ` Frankie Chang 2020-04-15 22:25 ` Todd Kjos 2020-04-15 22:25 ` Todd Kjos 2020-04-29 8:32 ` Frankie Chang 2020-04-29 8:32 ` Frankie Chang 2020-04-30 8:13 ` Frankie Chang 2020-04-30 8:13 ` Frankie Chang 2020-04-30 8:13 ` [PATCH v3 1/1] " Frankie Chang 2020-04-30 8:13 ` Frankie Chang 2020-04-30 8:50 ` Greg Kroah-Hartman 2020-04-30 8:50 ` Greg Kroah-Hartman 2020-04-30 8:51 ` Greg Kroah-Hartman 2020-04-30 8:51 ` Greg Kroah-Hartman 2020-05-07 8:10 ` Frankie Chang 2020-05-07 8:10 ` Frankie Chang 2020-05-07 8:10 ` [PATCH v4 1/3] binder: move structs from core file to header file Frankie Chang 2020-05-07 8:10 ` [PATCH v4 2/3] binder: add trace at free transaction Frankie Chang 2020-05-07 8:10 ` [PATCH v4 3/3] binder: add transaction latency tracer Frankie Chang 2020-05-07 8:55 ` Greg Kroah-Hartman 2020-05-07 8:55 ` Greg Kroah-Hartman 2020-05-11 12:32 ` Frankie Chang 2020-05-11 12:32 ` Frankie Chang 2020-06-10 12:23 ` [PATCH v5] binder: transaction latency tracking for user build Frankie Chang 2020-06-10 12:23 ` Frankie Chang 2020-06-10 12:23 ` [PATCH v5 1/3] binder: move structs from core file to header file Frankie Chang 2020-06-10 12:23 ` [PATCH v5 2/3] binder: add trace at free transaction Frankie Chang 2020-07-20 18:23 ` Todd Kjos 2020-07-20 18:23 ` Todd Kjos 2020-07-23 2:47 ` Frankie Chang 2020-07-23 2:47 ` Frankie Chang 2020-06-10 12:23 ` [PATCH v5 3/3] binder: add transaction latency tracer Frankie Chang 2020-07-20 18:56 ` Todd Kjos 2020-07-20 18:56 ` Todd Kjos 2020-07-23 3:01 ` Frankie Chang 2020-07-23 3:01 ` Frankie Chang 2020-07-02 13:25 ` [PATCH v5] binder: transaction latency tracking for user build Frankie Chang 2020-07-02 13:25 ` Frankie Chang 2020-07-20 13:40 ` Frankie Chang 2020-07-20 13:40 ` Frankie Chang 2020-07-28 3:19 ` [PATCH v6] " Frankie Chang 2020-07-28 3:19 ` Frankie Chang 2020-07-28 3:19 ` [PATCH v6 1/3] binder: move structs from core file to header file Frankie Chang 2020-07-28 3:19 ` Frankie Chang 2020-07-28 3:20 ` [PATCH v6 2/3] binder: add trace at free transaction Frankie Chang 2020-07-28 3:20 ` Frankie Chang 2020-07-31 18:50 ` Todd Kjos 2020-07-31 18:50 ` Todd Kjos 2020-08-03 3:11 ` Frankie Chang 2020-08-03 3:11 ` Frankie Chang 2020-08-03 15:12 ` Todd Kjos 2020-08-03 15:12 ` Todd Kjos 2020-08-04 2:45 ` Frankie Chang 2020-08-04 2:45 ` Frankie Chang 2020-08-04 13:59 ` [PATCH v7] binder: transaction latency tracking for user build Frankie Chang 2020-08-04 13:59 ` Frankie Chang 2020-08-04 13:59 ` [PATCH v7 1/3] binder: move structs from core file to header file Frankie Chang 2020-08-04 13:59 ` Frankie Chang 2020-08-04 15:24 ` Todd Kjos 2020-08-04 15:24 ` Todd Kjos 2020-08-04 13:59 ` [PATCH v7 2/3] binder: add trace at free transaction Frankie Chang 2020-08-04 13:59 ` Frankie Chang 2020-08-04 15:26 ` Todd Kjos 2020-08-04 15:26 ` Todd Kjos 2020-08-04 13:59 ` [PATCH v7 3/3] binder: add transaction latency tracer Frankie Chang 2020-08-04 13:59 ` Frankie Chang 2020-08-04 15:28 ` Todd Kjos 2020-08-04 15:28 ` Todd Kjos 2020-09-07 14:41 ` peter enderborg 2020-09-07 14:41 ` peter enderborg 2020-09-03 16:21 ` [PATCH v7] binder: transaction latency tracking for user build Greg Kroah-Hartman 2020-09-03 16:21 ` Greg Kroah-Hartman 2020-09-07 6:49 ` Frankie Chang 2020-09-07 6:49 ` Frankie Chang 2020-09-07 7:00 ` Greg Kroah-Hartman 2020-09-07 7:00 ` Greg Kroah-Hartman 2020-09-07 12:00 ` Frankie Chang [this message] 2020-09-07 12:00 ` [PATCH v8] " Frankie Chang 2020-09-07 12:00 ` [PATCH v8 1/3] binder: move structs from core file to header file Frankie Chang 2020-09-07 12:00 ` [PATCH v8 2/3] binder: add trace at free transaction Frankie Chang 2020-09-07 12:00 ` [PATCH v8 3/3] binder: add transaction latency tracer Frankie Chang 2020-09-07 12:25 ` Greg Kroah-Hartman 2020-09-07 12:25 ` Greg Kroah-Hartman 2020-09-07 13:51 ` Frankie Chang 2020-09-07 13:51 ` Frankie Chang 2020-09-07 14:09 ` Greg Kroah-Hartman 2020-09-07 14:09 ` Greg Kroah-Hartman 2020-09-08 5:38 ` Frankie Chang 2020-09-08 5:38 ` Frankie Chang 2020-09-08 14:06 ` [PATCH v9] binder: transaction latency tracking for user build Frankie Chang 2020-09-08 14:06 ` Frankie Chang 2020-09-08 14:06 ` [PATCH v9 1/3] binder: move structs from core file to header file Frankie Chang 2020-09-08 14:06 ` [PATCH v9 2/3] binder: add trace at free transaction Frankie Chang 2020-09-08 14:06 ` [PATCH v9 3/3] binder: add transaction latency tracer Frankie Chang 2020-09-16 17:38 ` Greg Kroah-Hartman 2020-09-16 17:38 ` Greg Kroah-Hartman 2020-10-15 17:02 ` [PATCH v10 " Frankie Chang 2020-10-15 17:02 ` Frankie Chang 2020-10-15 17:02 ` [PATCH v10 1/3] binder: move structs from core file to header file Frankie Chang 2020-10-15 17:02 ` [PATCH v10 2/3] binder: add trace at free transaction Frankie Chang 2020-10-15 17:02 ` [PATCH v10 3/3] binder: add transaction latency tracer Frankie Chang 2020-10-29 16:08 ` Frankie Chang 2020-11-09 17:46 ` Greg Kroah-Hartman 2020-11-10 7:33 ` Frankie Chang 2020-11-10 7:52 ` Greg Kroah-Hartman 2020-11-10 7:53 ` Greg Kroah-Hartman 2020-11-10 8:05 ` Frankie Chang 2020-11-10 14:19 ` [PATCH v12] " Frankie Chang [not found] ` <1605017955-18027-3-git-send-email-Frankie.Chang@mediatek.com> 2020-11-10 15:13 ` [PATCH v12 2/3] Since the original trace_binder_transaction_received cannot precisely present the real finished time of transaction, adding a trace_binder_txn_latency_free at the point of free transaction may be more close to it Greg Kroah-Hartman 2020-11-11 3:02 ` [PATCH v13] binder: add transaction latency tracer Frankie Chang [not found] ` <1605063764-12930-4-git-send-email-Frankie.Chang@mediatek.com> 2020-11-11 7:34 ` [PATCH v13 3/3] " Greg Kroah-Hartman 2020-11-11 15:02 ` [PATCH v14] " Frankie Chang [not found] ` <1605106964-25838-2-git-send-email-Frankie.Chang@mediatek.com> 2020-11-11 15:12 ` [PATCH v14 1/3] binder: move structs from core file to header file Greg Kroah-Hartman 2020-11-11 15:58 ` Frankie Chang [not found] ` <1605106986.11768.14.camel@mtkswgap22> 2020-11-11 15:12 ` [PATCH v13 3/3] binder: add transaction latency tracer Greg Kroah-Hartman 2020-11-11 15:59 ` Frankie Chang 2020-11-13 15:45 ` Greg Kroah-Hartman 2020-11-11 7:34 ` [PATCH v13] " Greg Kroah-Hartman 2020-09-16 15:29 ` [PATCH v9] binder: transaction latency tracking for user build Greg Kroah-Hartman 2020-09-16 15:29 ` Greg Kroah-Hartman 2020-09-07 12:24 ` [PATCH v8] " Greg Kroah-Hartman 2020-09-07 12:24 ` Greg Kroah-Hartman 2020-07-28 3:20 ` [PATCH v6 3/3] binder: add transaction latency tracer Frankie Chang 2020-07-28 3:20 ` Frankie Chang 2020-05-07 18:21 ` [PATCH v4 " Todd Kjos 2020-05-07 18:21 ` Todd Kjos 2020-05-11 12:35 ` Frankie Chang 2020-05-11 12:35 ` Frankie Chang
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=1599480055-25781-1-git-send-email-Frankie.Chang@mediatek.com \ --to=frankie.chang@mediatek.com \ --cc=Jian-Min.Liu@mediatek.com \ --cc=arve@android.com \ --cc=christian@brauner.io \ --cc=gregkh@linuxfoundation.org \ --cc=joel@joelfernandes.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mediatek@lists.infradead.org \ --cc=maco@android.com \ --cc=tkjos@google.com \ --cc=wsd_upstream@mediatek.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.