ANDROID: binder: Add vendor hook to fix priority restore
When cpu loading is high, the task maybe preempted after restoring the sched priority in trace_android_vh_binder_free_buf(). This means that node->has_async_transaction can't be cleared immediately and the work isn't added to the proc->todo queue as soon as possible. To fix this we add a new hook trace_android_vh_binder_buffer_release() to restore the priority after node->has_async_transaction has been updated and the node->work has been added to the proc->todo queue. Note: the old trace_android_vh_binder_free_buf() hook is kept to avoid breaking KMI but is not extrictly needed. Bug: 327307900 Fixes: 0eb66ec39ca8 ("ANDROID: vendor_hooks: Add hooks for binder") Change-Id: I8126c79c9c68faa3ce0cd87ce83e2591bd61d5dd Signed-off-by: Fuchun Liao <lfc@oppo.com> [cmllamas: fix-up commit log and variable naming] Signed-off-by: Carlos Llamas <cmllamas@google.com>
This commit is contained in:

committed by
Carlos Llamas

parent
0b886c607a
commit
517fdcc1f8
@@ -506,6 +506,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_transaction_received);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_free_oem_binder_struct);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_special_task);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_free_buf);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_binder_buffer_release);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_perf_huristic_ctrl);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_send_command_post_change);
|
||||
EXPORT_TRACEPOINT_SYMBOL_GPL(android_vh_ufs_abort_success_ctrl);
|
||||
|
Reference in New Issue
Block a user