linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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, wsd_upstream@mediatek.com,
	"Jian-Min Liu" <Jian-Min.Liu@mediatek.com>
Subject: [PATCH v14] binder: add transaction latency tracer
Date: Wed, 11 Nov 2020 23:02:41 +0800	[thread overview]
Message-ID: <1605106964-25838-1-git-send-email-Frankie.Chang@mediatek.com> (raw)
In-Reply-To: <X6uT941IJ3uf/7aE@kroah.com>

Change from v14:
  - prevent from directly print transaction info to kernel log.
  - give up doing the date math in the kernel.
  - track msec only instead of both sec and msec.
  - change EXPORT_TRACEPOINT_SYMBOL to EXPORT_TRACEPOINT_SYMBOL_GPL.

Change from v13:
  - modify patch subject.

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       | 414 +++++++++++++++++++++++
 drivers/android/binder_latency_tracer.c | 108 ++++++
 drivers/android/binder_trace.h          |  46 +++
 6 files changed, 601 insertions(+), 406 deletions(-)
 create mode 100644 drivers/android/binder_latency_tracer.c

  reply	other threads:[~2020-11-11 15:03 UTC|newest]

Thread overview: 74+ 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  9:36 ` Greg Kroah-Hartman
2020-02-05 15:49   ` Joel Fernandes
2020-02-07  3:10     ` Frankie Chang
2020-02-07  3:17       ` Joel Fernandes
2020-02-07  6:28         ` Frankie Chang
2020-02-07 13:26           ` Joel Fernandes
2020-04-13  6:24             ` Frankie Chang
2020-04-15  5:37               ` [PATCH v2] " Frankie Chang
2020-04-15  5:37                 ` [PATCH v2 1/1] " Frankie Chang
2020-04-15 22:25                   ` Todd Kjos
2020-04-29  8:32                     ` Frankie Chang
2020-04-30  8:13                   ` Frankie Chang
2020-04-30  8:13                     ` [PATCH v3 1/1] " Frankie Chang
2020-04-30  8:50                       ` Greg Kroah-Hartman
2020-04-30  8:51                       ` Greg Kroah-Hartman
2020-05-07  8:10                         ` Frankie Chang
     [not found]                           ` <1588839055-26677-4-git-send-email-Frankie.Chang@mediatek.com>
2020-05-07  8:55                             ` [PATCH v4 3/3] binder: add transaction latency tracer Greg Kroah-Hartman
2020-05-11 12:32                               ` Frankie Chang
2020-06-10 12:23                               ` [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-28  3:19                                     ` [PATCH v6] " 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:20                                       ` [PATCH v6 2/3] binder: add trace at free transaction Frankie Chang
2020-07-31 18:50                                         ` Todd Kjos
2020-08-03  3:11                                           ` Frankie Chang
2020-08-03 15:12                                             ` Todd Kjos
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                                                   ` [PATCH v7 1/3] binder: move structs from core file to header file Frankie Chang
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 15:26                                                     ` Todd Kjos
2020-08-04 13:59                                                   ` [PATCH v7 3/3] binder: add transaction latency tracer Frankie Chang
2020-08-04 15:28                                                     ` Todd Kjos
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-07  6:49                                                     ` Frankie Chang
2020-09-07  7:00                                                       ` Greg Kroah-Hartman
2020-09-07 12:00                                                         ` [PATCH v8] " Frankie Chang
2020-09-07 12:24                                                           ` Greg Kroah-Hartman
     [not found]                                                           ` <1599480055-25781-4-git-send-email-Frankie.Chang@mediatek.com>
2020-09-07 12:25                                                             ` [PATCH v8 3/3] binder: add transaction latency tracer Greg Kroah-Hartman
2020-09-07 13:51                                                               ` Frankie Chang
2020-09-07 14:09                                                                 ` Greg Kroah-Hartman
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-16 15:29                                                                       ` Greg Kroah-Hartman
     [not found]                                                                       ` <1599574008-5805-4-git-send-email-Frankie.Chang@mediatek.com>
2020-09-16 17:38                                                                         ` [PATCH v9 3/3] binder: add transaction latency tracer Greg Kroah-Hartman
2020-10-15 17:02                                                                           ` [PATCH v10 " 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                                                                                                     ` Frankie Chang [this message]
     [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-07-28  3:20                                       ` [PATCH v6 3/3] " Frankie Chang
     [not found]                                 ` <1591791827-23871-3-git-send-email-Frankie.Chang@mediatek.com>
2020-07-20 18:23                                   ` [PATCH v5 2/3] binder: add trace at free transaction Todd Kjos
2020-07-23  2:47                                     ` Frankie Chang
     [not found]                                 ` <1591791827-23871-4-git-send-email-Frankie.Chang@mediatek.com>
2020-07-20 18:56                                   ` [PATCH v5 3/3] binder: add transaction latency tracer Todd Kjos
2020-07-23  3:01                                     ` Frankie Chang
2020-05-07 18:21                             ` [PATCH v4 " Todd Kjos
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=1605106964-25838-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=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: 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;
as well as URLs for NNTP newsgroup(s).