From 6ce32a69b7f19cb98df4b70f382d7b8bb3f142cd Mon Sep 17 00:00:00 2001 From: Blagovest Kolenichev Date: Wed, 26 Jul 2017 07:35:55 -0700 Subject: [PATCH] android: binder: Revert duplicated changes for next binder merge This is a preparation change for merging binder from android-4.4@59ff2e1 (v4.4.78). Code matching changes below will be re-added properly with upcoming change: 0cebb40 FROMLIST: binder: Use wake up hint for synchronous transactions. Reverted changes: ================= e3ba00c android: binder: Don't use sched_preempt_enable_no_resched. The correct function is prempt_enable_no_resched(). The other function is reserved for the scheduler core. Change-Id: Ib36697de003f6a59a608a0024d5351dc15ff8715 Signed-off-by: Todd Kjos Git-commit: 776e5bca6446b3aac03b4685b4f4f72446ddcba0 Git-repo: https://android.googlesource.com/kernel/msm [odhyade@codeaurora.org: resolve trivial merge conflicts] Signed-off-by: Omprakash Dhyade 3956eab android: binder: Use wake up hint for synchronous transactions. Use wake_up_interruptible_sync() to hint to the scheduler binder transactions are synchronous wakeups. Disable premption while waking to avoid ping-ponging on the binder lock. Change-Id: Ic406a232d0873662f80148e37acefe5243d912a0 Signed-off-by: Todd Kjos Git-commit: 443c026e90820170aa3db2c21d2933ae5922f900 Git-repo: https://android.googlesource.com/kernel/msm Signed-off-by: Omprakash Dhyade Change-Id: I51a11f4325ce22aaa9666efedec1ce51d1d7036a Signed-off-by: Blagovest Kolenichev --- drivers/android/binder.c | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/drivers/android/binder.c b/drivers/android/binder.c index 573e9795b236..f33332eb1d5f 100644 --- a/drivers/android/binder.c +++ b/drivers/android/binder.c @@ -2213,16 +2213,8 @@ static void binder_transaction(struct binder_proc *proc, list_add_tail(&t->work.entry, target_list); tcomplete->type = BINDER_WORK_TRANSACTION_COMPLETE; list_add_tail(&tcomplete->entry, &thread->todo); - if (target_wait) { - if (reply || !(t->flags & TF_ONE_WAY)) { - preempt_disable(); - wake_up_interruptible_sync(target_wait); - preempt_enable_no_resched(); - } - else { - wake_up_interruptible(target_wait); - } - } + if (target_wait) + wake_up_interruptible(target_wait); return; err_translate_failed: