diff options
| author | Sagar Taunk <sagartaunk@proton.me> | 2026-09-27 12:56:55 +0000 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2026-10-01 14:38:37 +0200 |
| commit | 2f32ed8233e46233c2dd1f6affe3d6db2a55524f (patch) | |
| tree | f58c7b6c9b12402a4f0bfd3ff0bf02f91cb27526 /drivers/android | |
| parent | e2e4a4527d18d975cade304998f978bb291a4279 (diff) | |
| download | linux-next-2f32ed8233e46233c2dd1f6affe3d6db2a55524f.tar.gz linux-next-2f32ed8233e46233c2dd1f6affe3d6db2a55524f.zip | |
rust_binder: thread: wire up `transaction_buffer` `alloc/release` tracepoints
Call `trace_transaction_alloc_buf()` right after a transaction buffer
is successfully allocated in `copy_transaction_data()`, and call
`trace_transaction_buffer_release()` when a buffer is freed via
`BC_FREE_BUFFER` in `Thread::write()`.
Signed-off-by: Sagar Taunk <sagartaunk@proton.me>
Link: https://patch.msgid.link/20260927125622.676342-4-sagartaunk@proton.me
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/android')
| -rw-r--r-- | drivers/android/binder/thread.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/android/binder/thread.rs b/drivers/android/binder/thread.rs index 78dc0ca6f630..c91c885c1292 100644 --- a/drivers/android/binder/thread.rs +++ b/drivers/android/binder/thread.rs @@ -30,6 +30,7 @@ use crate::{ process::{GetWorkOrRegister, Process}, ptr_align, stats::GLOBAL_STATS, + trace::{trace_transaction_alloc_buf, trace_transaction_buffer_release}, transaction::{Transaction, TransactionFlag, TransactionFlags, TransactionInfo}, BinderReturnWriter, DArc, DLArc, DTRWrap, DeliverCode, DeliverToRead, }; @@ -1076,6 +1077,8 @@ impl Thread { } }; + trace_transaction_alloc_buf(debug_id, data_size, offsets_size, buffers_size); + let mut buffer_reader = UserSlice::new(info.data_ptr, data_size).reader(); let mut end_of_previous_object = 0; let mut sg_state = None; @@ -1522,6 +1525,7 @@ impl Thread { if buffer.looper_need_return_on_free() { self.inner.lock().looper_need_return = true; } + trace_transaction_buffer_release(buffer.debug_id); drop(buffer); } } |
