summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorTodd Kjos <tkjos@google.com>2017-05-24 10:51:01 -0700
committerTodd Kjos <tkjos@google.com>2017-07-13 15:10:40 +0000
commit9b9340c58afa2cf2a76ae06f3019ad631e6f7799 (patch)
tree695e82ca664159fc6bbc563f529f702db9469f0a /tools/perf/scripts/python
parent0a0fdc1fdc20beec7da852d2392f3111e3555983 (diff)
FROMLIST: binder: refactor queue management in binder_thread_read
(from https://patchwork.kernel.org/patch/9817757/) In binder_thread_read, the BINDER_WORK_NODE command is used to communicate the references on the node to userspace. It can take a couple of iterations in the loop to construct the list of commands for user space. When locking is added, the lock would need to be release on each iteration which means the state could change. The work item is not dequeued during this process which prevents a simpler queue management that can just dequeue up front and handle the work item. Fixed by changing the BINDER_WORK_NODE algorithm in binder_thread_read to determine which commands to send to userspace atomically in 1 pass so it stays consistent with the kernel view. The work item is now dequeued immediately since only 1 pass is needed. Change-Id: I9b4109997b2d53ba661867b14d7336cd076be06d Signed-off-by: Todd Kjos <tkjos@google.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions