Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2c7126d2 authored by Martijn Coenen's avatar Martijn Coenen
Browse files

ANDROID: binder: clarify deferred thread work.



Rename the function to more accurately reflect what
it does, and add a comment explaining why we use it.

Change-Id: I8d011c017dfc6e24b5b54fc462578f8e153e5926
Signed-off-by: default avatarMartijn Coenen <maco@android.com>
parent 8acf9c92
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -833,7 +833,7 @@ binder_enqueue_work_ilocked(struct binder_work *work,
}

/**
 * binder_enqueue_thread_work_ilocked_nowake() - Add thread work
 * binder_enqueue_deferred_thread_work_ilocked() - Add deferred thread work
 * @thread:       thread to queue work to
 * @work:         struct binder_work to add to list
 *
@@ -844,7 +844,7 @@ binder_enqueue_work_ilocked(struct binder_work *work,
 * Requires the proc->inner_lock to be held.
 */
static void
binder_enqueue_thread_work_ilocked_nowake(struct binder_thread *thread,
binder_enqueue_deferred_thread_work_ilocked(struct binder_thread *thread,
					    struct binder_work *work)
{
	binder_enqueue_work_ilocked(work, &thread->todo);
@@ -3330,7 +3330,14 @@ static void binder_transaction(struct binder_proc *proc,
	} else if (!(t->flags & TF_ONE_WAY)) {
		BUG_ON(t->buffer->async_transaction != 0);
		binder_inner_proc_lock(proc);
		binder_enqueue_thread_work_ilocked_nowake(thread, tcomplete);
		/*
		 * Defer the TRANSACTION_COMPLETE, so we don't return to
		 * userspace immediately; this allows the target process to
		 * immediately start processing this transaction, reducing
		 * latency. We will then return the TRANSACTION_COMPLETE when
		 * the target replies (or there is an error).
		 */
		binder_enqueue_deferred_thread_work_ilocked(thread, tcomplete);
		t->need_reply = 1;
		t->from_parent = thread->transaction_stack;
		thread->transaction_stack = t;