aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorQuinn Yan <qinyiyan@google.com>2023-05-18 21:14:12 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2023-05-18 21:14:12 +0000
commit7db53a81fe60b6bfeba1a52e60fa667c09f144df (patch)
tree152b0369f626f935c92fe3bebbcace875cb90605
parent8abeb23ef604242da2d0b7e2267e280f7cd6838f (diff)
parent4ce2179821eb01f306e82146f416f61355044b24 (diff)
downloadgs-common-7db53a81fe60b6bfeba1a52e60fa667c09f144df.tar.gz
Merge "Enable RT threads by default for Edgetpu DBA HAL." into udc-dev am: 4ce2179821
Original change: https://googleplex-android-review.googlesource.com/c/device/google/gs-common/+/23175580 Change-Id: I96700a165c344643a4f065ce8f0563079c9454e9 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--edgetpu/edgetpu.mk5
-rw-r--r--edgetpu/sepolicy/edgetpu_dba_service.te2
-rw-r--r--edgetpu/sepolicy/property.te4
-rw-r--r--edgetpu/sepolicy/property_contexts1
-rw-r--r--edgetpu/sepolicy/vendor_init.te2
5 files changed, 14 insertions, 0 deletions
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)