No description
Find a file
David Gross 79324920f7 Make VtsHalNeuralnetworks* tests more binder-friendly.
Certain mutation testing -- mutateOperandLifeTimeTest and
mutateOperandInputOutputTest -- can introduce potentially very large
CONSTANT_COPY operands, which can in turn create potentially very
large Models which must be passed across binder.  To avoid overflowing
the binder buffer, we estimate the size of the mutated Model, and skip
the test if that size is too high.  The old logic recognizes that our
tests only have a single active binder transaction at a time, and
assumes that there are no other clients using the same service at the
same time, and so we should have the binder buffer to ourselves; to be
conservative, we reject any Model whose estimated size exceeds half
the binder buffer size.  Unfortunately, sometimes the binder buffer
still overflows, because it unexpectedly contains an allocation from
some other transaction: It appears that binder buffer memory
management is not serialized with respect to transactions from our
tests, and therefore depending on scheduler behavior, there may be a
sizeable allocation still in the buffer when we attempt to pass the
large Model.  To fix this problem we become even more conservative,
and instead of limiting the Model to half the binder buffer size, we
limit it to half IBinder.MAX_IPC_SIZE (the recommended transaction
size limit).  To confirm that this change does not exclude too many
tests, I checked how may times the size filter function
exceedsBinderSizeLimit is called, how many times it rejects a model
under the new logic (modelsExceedHalfMaxIPCSize), and how many times
it rejects a model under the old logic (modelsExceedHalfMaxIPCSize).

Test: VtsHalNeuralnetworksV1_0TargetTest --gtest_filter=TestGenerated/ValidationTest.Test/*-*dsp*
Test: # models =  3592, modelsExceedHalfMaxIPCSize = 212, modelsExceedHalfBufferSize = 18
Test: VtsHalNeuralnetworksV1_1TargetTest --gtest_filter=TestGenerated/ValidationTest.Test/*-*dsp*
Test: # models =  7228, modelsExceedHalfMaxIPCSize = 330, modelsExceedHalfBufferSize = 28
Test: VtsHalNeuralnetworksV1_2TargetTest --gtest_filter=TestGenerated/ValidationTest.Test/*-*dsp*
Test: # models = 52072, modelsExceedHalfMaxIPCSize = 506, modelsExceedHalfBufferSize = 28
Test: VtsHalNeuralnetworksV1_3TargetTest --gtest_filter=TestGenerated/ValidationTest.Test/*-*dsp*
Test: # models = 73342, modelsExceedHalfMaxIPCSize = 568, modelsExceedHalfBufferSize = 28
Test: VtsHalNeuralnetworksTargetTest

Bug: 227719657
Bug: 227719752
Bug: 231928847
Bug: 238777741
Bug: 242271308

Change-Id: I3f81d71ca3c0ad4c639096b1dc034a8909bc8971
2022-08-25 23:11:41 +00:00
atrace/1.0 Let the default Atrace HAL support /sys/kernel/tracing 2021-04-22 15:10:46 -07:00
audio VTSHalAudio: Increase test timeout for V6 to 10 minutes 2022-04-22 01:06:09 +00:00
authsecret Freeze AIDL APIs for SC 2021-05-25 10:13:26 +09:00
automotive Corrects color format requirements 2022-08-10 22:56:45 +00:00
biometrics Merge changes from topic "fix-IFace-enroll" into sc-dev 2021-07-27 00:21:27 +00:00
bluetooth VtsHalBluetoothV1_1: Turn off/on BT at RunCommandTargetPreparer 2022-05-20 10:55:07 +08:00
boot [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
broadcastradio Merge "broadcastradio@2.0 VTS uses DAB frequency invalid in some regions" into android11-tests-dev am: 8bb9d4fe8e 2021-11-01 18:09:08 +00:00
camera Camera: VTS: Remove GRF MultiCamera for Android 12 2022-01-19 00:39:08 +00:00
cas [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
common Freeze AIDL APIs for SC 2021-05-25 10:13:26 +09:00
compatibility_matrices Add NNAPI specification and infrastructure for FL7. 2022-01-19 14:20:48 -08:00
configstore [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
confirmationui [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
contexthub Rename the global mic disable setting 2021-03-24 01:39:55 -07:00
drm Merge RQ2A.210405.006 to aosp-master - DO NOT MERGE 2021-04-13 19:29:20 -07:00
dumpstate [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
fastboot [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
gatekeeper/1.0 Revert "Expand Gatekeeper test" 2021-09-17 10:05:11 +00:00
gnss Fill signalType in GnssClock.referenceSignalTypeForIsb 2022-02-11 23:05:20 +00:00
graphics fix VtsHalGraphicsComposerV2_2TargetTest timeout failed 2021-12-15 00:40:08 +00:00
health Freeze AIDL APIs for SC 2021-05-25 10:13:26 +09:00
identity identity: fix access control checks in libeic. 2021-06-14 13:50:59 -04:00
input Add IInputConstants dependency for Input.h 2021-06-03 18:55:24 +00:00
ir/1.0 [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
keymaster Test CannotCreateEarlyBootKeys only if metadata encryption is on am: fceb7e53a2 2021-10-20 18:14:09 +00:00
light light: downgrade hardware open error 2021-04-01 20:50:51 +00:00
media omx: validate only standard OMX roles 2021-10-09 00:45:27 +05:30
memtrack Memtrack HAL: Report global total GPU-private memory 2021-07-14 21:15:46 +00:00
neuralnetworks Make VtsHalNeuralnetworks* tests more binder-friendly. 2022-08-25 23:11:41 +00:00
nfc Merge "Out of bounds read in hal_core_initialized" into rvc-qpr-dev am: 14162741e7 2021-05-01 00:15:12 +00:00
oemlock Freeze AIDL APIs for SC 2021-05-25 10:13:26 +09:00
power Power: allow vts to pass with earlier version of server 2021-06-12 18:27:59 -07:00
radio VTS: Check for "ro.board.first_api_level" in GetBarringInfo() 2022-01-13 22:32:33 +00:00
rebootescrow/aidl Merge "libgtest_prod: use headers." am: 40bbe789a4 am: 2678fed701 am: fa4d66b585 2021-04-23 02:40:44 +00:00
renderscript/1.0 [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
scripts Add script to get prelim HAL VTS coverage. 2021-03-15 17:23:20 -07:00
secure_element [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
security Merge "KeyMint VTS: cope with ATTEST_KEY +/- SIGN" into android12-tests-dev 2022-06-16 09:46:37 +00:00
sensors Enforce sensors of the same type having a unique name. 2021-06-17 14:50:01 -07:00
soundtrigger Merge "audio: Update OWNERS" am: 2ad6484fc7 am: c5fb904fb7 am: 73bf722993 2021-03-19 18:43:42 +00:00
tests Add owner field to android.hardware.tests.extension.vibrator 2021-06-04 12:11:07 +09:00
tetheroffload [SP37] Change requirement of older event callback. 2021-05-03 14:00:17 +08:00
thermal Vts: thermal: Test notification with an unregistered local callback 2021-09-13 03:06:55 +00:00
tv Fix VTS PlaybackDataFlowWithTsVideoFilterTest sometimes failed. 2022-06-30 16:17:04 +08:00
usb [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
vibrator Update vibrator VTS to only validate support from required primitives 2021-07-09 15:01:00 +01:00
vr/1.0 [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
weaver Freeze AIDL APIs for SC 2021-05-25 10:13:26 +09:00
wifi resolve merge conflicts of 155f20a6cd to android12-tests-dev 2022-06-30 05:37:15 +00:00
.clang-format Replace clang-format with symlink. 2019-01-18 14:26:33 -08:00
Android.bp [LSC] Add LOCAL_LICENSE_KINDS to hardware/interfaces 2021-02-23 14:26:20 -08:00
CleanSpec.mk wifi adapter cleanspec 2019-12-13 14:24:23 -08:00
current.txt Update comments for IBiometricsFingerprint@2.3 2021-07-22 19:39:21 -07:00
METADATA Add METADATA to interfaces: Apache2=NOTICE 2020-05-01 10:59:55 -07:00
NOTICE Apache2 module license. 2016-08-30 11:28:36 -07:00
OWNERS Update OWNERS for 2020 2020-12-16 18:09:12 +00:00
PREUPLOAD.cfg Turn aidl_format on 2021-01-21 15:06:51 +09:00
TEST_MAPPING Add TEST_MAPPING presubmit config for VtsHalTvInputV1_0TargetTest 2020-04-03 13:37:57 -07:00
update-base-files.sh Make audio*-base.h files autogenerated again 2020-12-09 23:36:48 +00:00
update-makefiles.sh Remove update scripts for VTS makefiles. 2019-02-28 10:32:51 -08:00