From a8888f75bba282a1ff9587ee32e0a7379f7fdda1 Mon Sep 17 00:00:00 2001 From: Gary Lin Date: Thu, 21 Jul 2022 19:35:25 +0800 Subject: 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 --- common/hal/aidl_service/aidl_camera_device_session.cc | 7 +++++++ common/hal/aidl_service/aidl_camera_device_session.h | 3 +++ 2 files changed, 10 insertions(+) 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 #include #include #include @@ -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 -- cgit v1.2.3