From aaae6818d06b9183981eaa44821df7acb76d3798 Mon Sep 17 00:00:00 2001 From: qinyiyan Date: Thu, 11 May 2023 10:54:55 -0700 Subject: Enable RT threads by default for Edgetpu DBA HAL. Bug:267379294 Test: forrest build. Change-Id: I95d6c276bb29c8f24bbf4b672e64d78e2e073301 --- edgetpu/edgetpu.mk | 5 +++++ edgetpu/sepolicy/edgetpu_dba_service.te | 2 ++ edgetpu/sepolicy/property.te | 4 ++++ edgetpu/sepolicy/property_contexts | 1 + edgetpu/sepolicy/vendor_init.te | 2 ++ 5 files changed, 14 insertions(+) diff --git a/edgetpu/edgetpu.mk b/edgetpu/edgetpu.mk index 2f0f77c..5ad2711 100644 --- a/edgetpu/edgetpu.mk +++ b/edgetpu/edgetpu.mk @@ -28,3 +28,8 @@ BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/edgetpu/sepolicy # Tflite Darwinn delegate property PRODUCT_VENDOR_PROPERTIES += vendor.edgetpu.tflite_delegate.force_disable_io_coherency=0 + +# Edgetpu CPU scheduler property +PRODUCT_VENDOR_PROPERTIES += vendor.edgetpu.cpu_scheduler.policy=FIFO +PRODUCT_VENDOR_PROPERTIES += vendor.edgetpu.cpu_scheduler.priority=99 + diff --git a/edgetpu/sepolicy/edgetpu_dba_service.te b/edgetpu/sepolicy/edgetpu_dba_service.te index 3717e20..da210da 100644 --- a/edgetpu/sepolicy/edgetpu_dba_service.te +++ b/edgetpu/sepolicy/edgetpu_dba_service.te @@ -45,3 +45,5 @@ userdebug_or_eng(`perfetto_producer(edgetpu_dba_server)') get_prop(edgetpu_dba_server, vendor_tflite_delegate_prop) # Allow EdgeTPU DBA service to read hetero runtime properties get_prop(edgetpu_dba_server, vendor_hetero_runtime_prop) +# Allow EdgeTPU DBA service to read EdgeTPU CPU scheduler properties +get_prop(edgetpu_dba_server, vendor_edgetpu_cpu_scheduler_prop) diff --git a/edgetpu/sepolicy/property.te b/edgetpu/sepolicy/property.te index 1ed9a59..625ed0a 100644 --- a/edgetpu/sepolicy/property.te +++ b/edgetpu/sepolicy/property.te @@ -6,5 +6,9 @@ system_public_prop(vendor_edgetpu_service_prop) # and then read by apps, camera hal, and some Darwinn vendor services. system_vendor_config_prop(vendor_tflite_delegate_prop) +# The EdgeTPU CPU scheduler properties are written once by vendor_init, +# and then read by HAL service. +system_vendor_config_prop(vendor_edgetpu_cpu_scheduler_prop) + # Hetero runtime properties, including tracing levels. system_vendor_config_prop(vendor_hetero_runtime_prop) diff --git a/edgetpu/sepolicy/property_contexts b/edgetpu/sepolicy/property_contexts index c21eb13..dabbd20 100644 --- a/edgetpu/sepolicy/property_contexts +++ b/edgetpu/sepolicy/property_contexts @@ -1,5 +1,6 @@ # for EdgeTPU vendor.edgetpu.service. u:object_r:vendor_edgetpu_service_prop:s0 +vendor.edgetpu.cpu_scheduler. u:object_r:vendor_edgetpu_cpu_scheduler_prop:s0 # for DarwinnDelegate vendor.edgetpu.tflite_delegate. u:object_r:vendor_tflite_delegate_prop:s0 diff --git a/edgetpu/sepolicy/vendor_init.te b/edgetpu/sepolicy/vendor_init.te index c9506f0..d0ee1f9 100644 --- a/edgetpu/sepolicy/vendor_init.te +++ b/edgetpu/sepolicy/vendor_init.te @@ -1,2 +1,4 @@ # Allow vendor_init to set tflite Darwinn delegate properties set_prop(vendor_init, vendor_tflite_delegate_prop) +# Allow vendor_init to set the EdgeTPU CPU scheduler properties. +set_prop(vendor_init, vendor_edgetpu_cpu_scheduler_prop) -- cgit v1.2.3