summaryrefslogtreecommitdiff
path: root/drivers/android
diff options
context:
space:
mode:
authorSagar Taunk <sagartaunk@proton.me>2026-09-27 12:56:55 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2026-10-01 14:38:37 +0200
commit2f32ed8233e46233c2dd1f6affe3d6db2a55524f (patch)
treef58c7b6c9b12402a4f0bfd3ff0bf02f91cb27526 /drivers/android
parente2e4a4527d18d975cade304998f978bb291a4279 (diff)
downloadlinux-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.rs4
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);
}
}