During a reply, the target gets woken up and then the priority of the replier is restored. The order is such to allow the target to process the reply ASAP. Otherwise, we risk the sender getting scheduled out before the wakeup happens. This strategy reduces transaction latency. However, a subsequent transaction from the same target could be started before the priority of the replier gets restored. At this point we save the wrong priority and it gets reinstated at the end of the transaction. This patch allows the incoming transaction to detect the race condition and save the correct next priority. Additionally, the replier will abort its pending priority restore which allows the new transaction to always run at the desired priority. Bug: 148101660 Signed-off-by: Carlos Llamas <cmllamas@google.com> Change-Id: I6fec41ae1a1342023f78212ab1f984e26f068221 |
||
|---|---|---|
| .. | ||
| binder.c | ||
| binder_alloc.c | ||
| binder_alloc.h | ||
| binder_alloc_selftest.c | ||
| binder_internal.h | ||
| binder_trace.h | ||
| binderfs.c | ||
| debug_kinfo.c | ||
| debug_kinfo.h | ||
| Kconfig | ||
| Makefile | ||
| vendor_hooks.c | ||