Use app data dir instead of /sdcard for writing qpa file Appears to drastically reduce runtime variability. Example: Max shard runtime (28m 15s) + overhead (10s): 28m 24s (shard #8) Min shard runtime (3m 5s) + overhead (20s): 3m 24s (shard #6) --> Max shard runtime (4m 6s) + overhead (11s): 4m 17s (shard #0) Min shard runtime (3m 7s) + overhead (10s): 3m 17s (shard #6) --deqp-log-flush is enabled by default (only disabled for multi-process execution http://anglebug.com/5157) and together with --deqp-log-shader-sources which is also enabled by default results in a huge number of line-by-line flushes degradng filesystem performance. Example strace capture in a degraded state: [pid 21208] 10:55:51.194033 write(77, "</ShaderSource>\n <InfoLog>", 28) = 28 <0.181028> [pid 21208] 10:55:51.375879 write(77, "</InfoLog>\n</FragmentShader>\n</S"..., 78) = 78 <0.179196> [pid 21208] 10:55:51.555790 write(77, "\" Description=\"Vertex shader com"..., 41) = 41 <0.177602> ~180ms *per line written* !!! (28, 78, 41 characters...) Under normal conditions these are way down in the microsecond range: [pid 11412] 10:55:56.689894 write(72, "</ShaderSource>\n <InfoLog>", 28) = 28 <0.000020> [pid 11412] 10:55:56.689957 write(72, "</InfoLog>\n</FragmentShader>\n</S"..., 78) = 78 <0.000026> I think that the reason for this is some peculiarity of the /sdcard filesystem which uses fuse: % df -h /sdcard/chromium_tests_root/ /dev/fuse 50G 3.7G 46G 8% /mnt/user/0/emulated As opposed to block/dm-N of the (non-app accessible) temp directory: % df -h /data/local/tmp/ /dev/block/dm-9 50G 3.7G 46G 8% /data_mirror/cur_profiles And the app data directory appears to be using the same filesystem: % df -h /data/data/com.android.angle.test/ /dev/block/dm-9 50G 3.7G 46G 8% /data_mirror/cur_profiles As far as I can tell the degradation of performance does not happen on this filesystem despite the huge amount of small writes. Disabling deqp log flushes when running on bots probably makes sense too but I'd like to first confirm the impact of this CL separately. Bug: chromium:1217662 Bug: angleproject:7242 Change-Id: I507e4c330fd4e1f4ce05f9768506f905e142f835 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3615081 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>