diff options
author | Gary Lin <garylse@google.com> | 2022-07-21 19:35:25 +0800 |
---|---|---|
committer | Gary Lin <garylse@google.com> | 2022-08-02 00:41:42 +0000 |
commit | a8888f75bba282a1ff9587ee32e0a7379f7fdda1 (patch) | |
tree | 1e3f61e0e8bd85532e5733f1a9ae7163fac995a6 | |
parent | 23fd5bd08ad499b14cbb945c25dd9f2671ca36ab (diff) | |
download | camera-a8888f75bba282a1ff9587ee32e0a7379f7fdda1.tar.gz |
Inherit RT scheduling policy from camera device session binder caller
The change inherits RT scheduling policy from binder caller, which reduces scheduling time for request injection.
Bug: 240390679
Test: camera test checklist
Test: GCA framedrop test
Change-Id: If4cad4e790e05ab34f2ef353ad1bcd8327fbe324
-rw-r--r-- | common/hal/aidl_service/aidl_camera_device_session.cc | 7 | ||||
-rw-r--r-- | common/hal/aidl_service/aidl_camera_device_session.h | 3 |
2 files changed, 10 insertions, 0 deletions
diff --git a/common/hal/aidl_service/aidl_camera_device_session.cc b/common/hal/aidl_service/aidl_camera_device_session.cc index 9af6de1..49d8282 100644 --- a/common/hal/aidl_service/aidl_camera_device_session.cc +++ b/common/hal/aidl_service/aidl_camera_device_session.cc @@ -19,6 +19,7 @@ //#define LOG_NDEBUG 0 #include "aidl_camera_device_session.h" +#include <android/binder_ibinder_platform.h> #include <cutils/properties.h> #include <cutils/trace.h> #include <log/log.h> @@ -798,6 +799,12 @@ ScopedAStatus AidlCameraDeviceSession::isReconfigurationRequired( return ScopedAStatus::ok(); } +::ndk::SpAIBinder AidlCameraDeviceSession::createBinder() { + auto binder = BnCameraDeviceSession::createBinder(); + AIBinder_setInheritRt(binder.get(), true); + return binder; +} + } // namespace implementation } // namespace device } // namespace camera diff --git a/common/hal/aidl_service/aidl_camera_device_session.h b/common/hal/aidl_service/aidl_camera_device_session.h index e14604d..3423d8f 100644 --- a/common/hal/aidl_service/aidl_camera_device_session.h +++ b/common/hal/aidl_service/aidl_camera_device_session.h @@ -113,6 +113,9 @@ class AidlCameraDeviceSession : public BnCameraDeviceSession { AidlCameraDeviceSession() = default; + protected: + ::ndk::SpAIBinder createBinder() override; + private: static constexpr uint32_t kRequestMetadataQueueSizeBytes = 1 << 20; // 1MB static constexpr uint32_t kResultMetadataQueueSizeBytes = 1 << 20; // 1MB |