aboutsummaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorTodd Kjos <[email protected]>2017-06-29 12:01:47 -0700
committerGreg Kroah-Hartman <[email protected]>2017-07-17 14:47:29 +0200
commit26b47d8a16a72878228aeaed573786825b7ca204 (patch)
tree7ec8a70dc7cc79fc7a2284789606debf66f89769 /tools/perf/scripts/python
parent57ada2fb2250eab5abe381353f12ada337d82808 (diff)
binder: refactor queue management in binder_thread_read
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. Signed-off-by: Todd Kjos <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions