summaryrefslogtreecommitdiff
path: root/libs/binder/ProcessState.cpp
diff options
context:
space:
mode:
author Steven Moreland <smoreland@google.com> 2021-09-10 15:45:34 -0700
committer Steven Moreland <smoreland@google.com> 2021-09-10 16:16:07 -0700
commit5623d1a7fac2fca2d8cd51af65a764aadd31bc43 (patch)
treeebb808081ac497909a180a40c22181a29cba9276 /libs/binder/ProcessState.cpp
parent826367f2240f2e64036b6be9a7cde93fdd79cba2 (diff)
libbinder: RpcAddress is uint64_t
This was originally a 32 byte array filled by /dev/urandom, because the expectation was to build off of this in order to allow for transitive binder sends (process A sends a binder to process B which sends it to process C and then allowing C to talk directly to process A - this would need some large cryptographic token representing the binder and address information in order to securely open up a new communication channel to A). However, this is currently not supported in RPC binder (and even if it were - which I find unlikely b/c of the security complexity, a lot more work would need to be done). Simply, we don't need to pay this cost since we're not using it. Bug: 182940634 Fixes: 182939933 Test: binderRpcBenchmark ------------------------------------------------------------------------------------ Benchmark Time CPU ------------------------------------------------------------------------------------ // before this change BM_repeatBinder/0 61680 ns 33016 ns BM_repeatBinder/1 162368 ns 87825 ns // after this change BM_repeatBinder/0 60041 ns 32787 ns BM_repeatBinder/1 109857 ns 55605 ns -> reduce overhead of rpc binder (when sending many binders) by the overhead of a normal kernel binder call (still a ways to go) Change-Id: If27bffb5611bdd17f16156ddfe50ac2449f6046a
Diffstat (limited to 'libs/binder/ProcessState.cpp')
0 files changed, 0 insertions, 0 deletions