aboutsummaryrefslogtreecommitdiff
path: root/devices
AgeCommit message (Collapse)Author
2017-06-01Add support for the hikey960 boardJulien Duraj
- Get the device name using the ro.product.device key since the ro.product.board key is not defined on hikey960 for example - Pin hikey to closely available frequency - set_cpu_freq: support different target frequencies on little and big cpus Change-Id: Iedd22a3cc9966fecf7528b9374c7cf165ff8dc8c
2017-04-26Add a new exit_on_failure function and clarify docKevin Brodsky
safe does what one expects in most situation, as in it will abort the script and all children. However this also means that the return value of the script will be 143 (128 + SIGTERM), and if the script is called by something else (e.g. a build system), this may not be desirable. Introduce a new exit_on_failure function that simply exits with the same error code. It doesn't work in subshells and so on, but we can't have both at the same time. Change-Id: I81697912054abd7be9eb3f7c7ae0234dac8c0661
2017-03-16Add a NOTICE license file and license headersKevin Brodsky
Change-Id: I9770fcb77a588b33e385235f930f2f6abcf725b4
2017-02-27Flash script: Fix pixel and bump its image versionJulien Duraj
- bumped image version to 14 - boot.img has to be flashed on boot_b partition. - system.img has to be flashed on system_b partition - we do not need to flash system_other.img - we need to set the active partition to b only for sailfish device Change-Id: I2bf5e3f925b2d2fe5ef1aa1b6b85d37d012ec6ae
2017-02-15Pixel config: treat Kryo as non BIG.little cpuJulien Duraj
In the case of the Kryo, the difference between the little and the big cores are the max frequency (1.6 GHz vs 2.15 GHz) and L2 cache (.5 MB vs 1 MB). In the other CPUs, the cores are completely different (A53 vs A57) At fixed frequency, the benchmarks show near-equal performance results. By treating the kryo as normal CPU, we can halve the benchmark time. Change-Id: I2f5b0ae8eaf2269b6c1ca447b69b2c0590a40e84
2017-02-15cpu_freq_utils: change configure_cpus_to_interactiveJulien Duraj
This particular function does not need to be told about the min and the max frequency for a particular cpu since we can read this property from the cpufreq interface. Change-Id: I426b3886c82f5970ef76b32affdaee1738a01d44
2017-01-25Use the latest shellcheckKevin Brodsky
Move to using the latest shellcheck as our presubmit checker, as it has been greatly improved since the current 0.3.3 version. Since the latest version (0.4.5) is not available on Ubuntu and compiling it from source is not practical (ghc is a huge dependency), we now host a prebuilt version on git.linaro.org. Summary of the changes: * Modify presubmit.sh so that it fetches the latest version from a repo in git.linaro.org to shellcheck/shellcheck. To avoid redownloading the binary (~15 MB) every time, the repo provides a checksum, to know whether a newer version has been pushed. * Update README.md accordingly. * Pass --color to shellcheck for a fancy output! * Fix new warnings (either with disable directives or by fixing the code). Globally disable some of them that can't (or don't need to) be fixed. * In sourced files defining variables (in devices/), we can finally use a file-scoped disable for SC2034 (which can't be easily fixed). At last, readable config files! * Review all of the existing disable directives. shellcheck got smarter and some were not needed anymore; in other cases they could be fixed with minor code changes. Change-Id: I772b8d0de061842d3aa880b1176c02c72bd3650d
2017-01-24cpu_freq_utils: remove wrong increment of trial variableMichele Di Giorgio
At the beginning the loop had been implemented using a while statement and by mistake the increment of the variable has been left there in addition to the increment that's done in the for statement. Change-Id: I47a8de8b7c25d9c135f15e0a035cc71454f3e097
2017-01-11Use dash for all multi-word command-line optionsJulien Duraj
The majority of command line users expect command line options with multiple words to be separated with a dash instead of an underscore. Test: scripts/benchmarks/benchmarks_run_target.sh Test: scripts/tests/test_art_fuzzer.sh --default --concurrent-gc Change-Id: I6d9b3b2989e8282112967a7e3eb1e897fdc8868c
2017-01-11Refactor set_option into utils.shJulien Duraj
Test: scripts/benchmarks/benchmarks_run_target.sh Test: scripts/tests/test_art_fuzzer.sh Test: scripts/tests/test_art_target.sh Change-Id: I6352594e703daa0dbc06dfd7db554f77f4c56d12
2017-01-11benchmarks: update help (devices)Julien Duraj
Test: scripts/benchmarks/benchmarks_run_target.sh -h Change-Id: I4ecb46fd65ba6cde9796e1e002630358fd45b5c8
2016-12-20Add a minimal getprop for the NUC targetJulien Duraj
This allows our script to interact without android properties on the target. Test: ./getprop_NUC6i5SYH Test: ./getprop_NUC6i5SYH ro.product.board Change-Id: I72fb22655163dff7fe964c5de18e4d8100c6746a
2016-12-20Add support for benchmarking linux builds of ARTJulien Duraj
- support linux targets without adb root - support x86 based android target in android utils For android arm based targets, as usual: Test: scripts/benchmarks/benchmarks_run_target.sh For fugu target: Test: scripts/benchmarks/benchmarks_run_target.sh --linux --x86 For nuc target: Test: scripts/benchmarks/benchmarks_run_target.sh --linux --x86 --sudo Change-Id: I652ffaab4f310ee6f4c1ea924d25cc4e710966c0
2016-12-16cpu_freq_utils: Increase wait time and number of trials when hotplugging CPUsMichele Di Giorgio
Waiting 10 seconds and retrying to hotplug ON a CPU after a failed attempt seems to be not so robust on some devices still. For this reason, this patch provides a different approach where the waiting time before retrying is set to 100 seconds instead of 10 and the number of attempts before reporting an error is 10 instead of only one. Change-Id: I32ca31f32a25a2a80897e0fba7fe1d863cf9561d
2016-12-13Use the adb_shell wrapper everywhereJulien Duraj
- Rename `adb_shell_strip` function to simply `adb_shell` - Replace all `adb shell` invocations with `adb_shell` Mostly all tests are affected. Test: ./scripts/test/test_art_target.sh --default Change-Id: Ie6d0571ebd7706b6016864e38e6d8ef003b6e64c
2016-12-13Add device configs for NUC6i5SYH and nexus-playerJulien Duraj
Test: scripts/devices/set_cpu_freq.sh --default Change-Id: I1cadf43e8b62c6752553f985028a8eeb9ae9e555
2016-12-07Merge "Add CPU config for Pixel device"Julien Duraj
2016-12-05Merge "cpu_freq_utils: Make CPUs hotplug script more robust"Julien Duraj
2016-11-30cpu_freq_utils: Make CPUs hotplug script more robustMichele Di Giorgio
In some cases, it happens that we try to restore the CPUs configuration while some kernel thread is hotplugging CPUs ON and OFF as well, especially when the device gets hot after running benchmarks or tests. In which case, the build scripts will fail. This patch simply waits a few second after the first attempt to hotplug a CPU, before trying again. If the second attempt fails too, then the script aborts and an error is returned. Change-Id: I56c911195bc5ca3072b607bb805eed42100d5f92 Signed-off-by: Michele Di Giorgio <michele.digiorgio@linaro.org>
2016-11-18Add CPU config for Pixel deviceJulien Duraj
Change-Id: I1b65ee1ec508b94ef609208a2fb3c4a8a22f3305
2016-11-18Added device flash config for PixelJulien Duraj
Change-Id: I45cc0a31a2efd5a7b3db65ea0b26a0bddbf29897
2016-11-09Refactor scripts to new snapshotsJulien Duraj
Update device image snapshots urls Refresh wget to new url pattern Bundle vendor , radio and bootloader img where necessary Remove the check for VENDOR_FINGERPRINT Change-Id: Ib2fb635f97bb130c40cb48e62b54be240f2ca353
2016-09-02Fix set_cpu_freq.sh --defaultSerban Constantinescu
Without this fix: $adb kill-server $./set_cpu_freq.sh --default would fail with: "ERROR: Device * daemon not running. starting it now on port 5037 *" Extra points for the one that gets why :-). Change-Id: I7ecec04265fe365df6622f24c1f81039c76eac5d
2016-08-26Add few fixes to the set_cpu_freq.sh script.Serban Constantinescu
- Should also set the min and max freq. - The help message should be more explicit about not pinning the freq. Change-Id: I0fd9ee0b8f03cae35290463d85b994496fb42940
2016-08-19Fix set_cpu_freq.sh - add adb rootSerban Constantinescu
Change-Id: I8138b39948edd83567789a8c034e3b27e2ede49a
2016-08-16Revert "Revert "Update `set_cpu_freq.sh` to allow restoring CPUs to a ↵Alexandre Rames
default config."" Fixed to check that `online` exists before writing to it. This reverts commit ee4aea45fa9f32ff4d49a0ea724f3df3cac3585e. Change-Id: If4e6c5f9df0316676ce66fd6d33f26967e52bf2c
2016-07-14Revert "Update `set_cpu_freq.sh` to allow restoring CPUs to a default config."Julien Duraj
This reverts commit 8225d1a76f2c678c3a00a1c5c8d33ce120384619. Automation is failing Change-Id: Ia7cd4c20522d323d19895f74d31a1cac858e36ff
2016-07-12Update `set_cpu_freq.sh` to allow restoring CPUs to a default config.Alexandre Rames
This mostly cancels and replaces commit 25cdd00 ("Backup/restore CPU configuration before/after running benchmarks.") Change-Id: Ic5996af50ce55d1560d7e8debaf597e13d8c6140
2016-07-11Move device configuration scripts to a sub-directory.Alexandre Rames
Change-Id: Ie88953ae099bc69809c235201da05846bc97e8c8
2016-07-01Backup/restore CPU configuration before/after running benchmarks.Alexandre Rames
Change-Id: I611bc1e1ed09b10663f91920a49c2830cd142439
2016-06-29benchmarks: Update naming format for json fileVishal Bhoj
Change-Id: I1819cfdb2dafc28d29a44547825059641ca9bade Signed-off-by: Vishal Bhoj <vishal.bhoj@linaro.org>
2016-06-23Add a directory structureSerban Constantinescu
We are starting to have various scripts that are used for various purposes. This patch tries to standardise this by adding a directory structure. . ├── benchmarks │   └── benchmarks_run_target.sh ├── devices │   ├── cpu_freq_device_angler.sh │   ├── cpu_freq_device_bullhead.sh │   ├── cpu_freq_device_flounder.sh │   ├── cpu_freq_utils.sh │   ├── flash_device.sh │   ├── flash_nexus5x.sh │   ├── flash_nexus9.sh │   └── set_cpu_freq.sh ├── jenkins │   ├── setup_android.sh │   ├── setup_host.sh │   └── test_launcher.pl ├── misc ├── presubmit.sh ├── README.md ├── tests │   ├── test_art_build_linux_target.sh │   ├── test_art_host.sh │   ├── test_art_target.sh │   ├── test_art_vixl.sh │   └── test_boot_to_gui_emulator.sh └── utils ├── utils_android.sh └── utils.sh 6 directories, 21 files Change-Id: I19696e1a8c1db9f4e19c0cc81e418b71ee9628ed
2016-06-09Fix `devices/flash_device.sh` to correctly bring fastboot and adb into the PATH.Alexandre Rames
Change-Id: Iba97451f4d8aad03fcb5c0e69b334b8f10d79b70
2016-06-08set_cpu_freq.sh: print more informationKevin Brodsky
The script doesn't print much information when it succeeds, make it a bit more verbose. Change-Id: I7847da039ec2dd5386b6f4ffb9e1f1e63852f2a5
2016-06-08Add angler (Nexus 6P) cpu_freq configKevin Brodsky
Change-Id: I42ff704acd1328e8912f99d5cf55812d306c9996
2016-06-08Refactor and improve cpu_freq functionsKevin Brodsky
Introduce a new file cpu_freq_utils.sh that contains generic utility functions to set CPUs online/offline and adjust their frequency. set_cpu_freq.sh now uses these functions, and the device-specific scripts become only descriptive, completely removing code duplication. Additionally, the new functions perform extensive checking to make sure that the arguments are valid and that the operations are correctly performed, since we cannot rely on adb shell to report error status. Device-specific scripts have been moved to devices/cpu_freq_device_*, and a helper function has been added to pull the variables from them. Note that for some reason, `readonly ARRAY=(...)` does not work when sourced from a script, the workaround is to initialise the array and then make it readonly (in set_cpu_freq_<device>.sh). Change-Id: Iaf2f0ca13ef4651837407322f47e69717d36f9b3
2016-06-06Strip adb shell's output when reading itKevin Brodsky
Some versions of adb output trailing CR's (\r) when issuing non-interactive shell commands. This may break things in various way, especially when we expect the output to be in a specific format or when we print it. This commit introduces a new helper adb_shell_strip that removes any \r in the output, and should be used instead of `adb shell` whenever we need to read its output. Change-Id: Ie100ad99af9f1afcb3e9aafc8be431ef60490f92
2016-06-02Fix execution of `devices/flash_nexus*.sh` scripts.Alexandre Rames
Change-Id: Ib2ec746c8db9455b672a40b501e919e7d505dca2
2016-06-01Add scripts for running the benchmarks and setting the device freq.Serban Constantinescu
The benchmarks script: - runs in a android-root configuration (thus running ART in /data/local/tmp). - has a --32bit, --64bit or --default (32bit and 64bit) option. The set_cpu_freq.sh: - turns on the requested cluster and sets both the freq and freq governor. - has a --little and --big option for setting the correct cluster. (Note: for devices with a single cluster - Nexus9 you do not need to specify any). Change-Id: Id839606d1561a6052c61665989f0381b1b22d098
2016-05-17Switch colours to tput + boldSerban Constantinescu
Change-Id: I01f7ddd077dc99242fcbc17f27af1b896e0d9029
2016-05-17Also add adb as a dependency for flash_deviceSerban Constantinescu
Change-Id: Id11ca88a3efa10af804d382365de0712dbfc093a
2016-05-17Add scripts for flashing the Nexus5x and Nexus9.Serban Constantinescu
Both tested and know to boot to GUI. Change-Id: I6c22eca1e5a5a44a8ab8f881d1cb868437137367