1
0
mirror of https://github.com/ARM-software/workload-automation.git synced 2024-10-06 10:51:13 +01:00
Commit Graph

60 Commits

Author SHA1 Message Date
Sergei Trofimov
0728f35cbe framwork/target: parameterize disabling of SELinux
Add a parameter to optionally not attempt to disable SELinux as that can
cause problems on some platforms.
2018-02-22 11:20:35 +00:00
Marc Bonnici
52dca17fef target/descriptor: Fix generate target default config
Was previously expecting a dictionary of parameter attributes however the
actual type is a list.
2018-02-15 13:42:48 +00:00
Marc Bonnici
22a2ccf7d6 target/logcatpoller: Make capitalisation consistent 2018-02-07 10:01:12 +00:00
Marc Bonnici
728057dbba target/androidassistant: Fix Logcat poller creation
Threads cannot be restarted therfore we need to create a new polling
thread for each time the poller is started.
2018-02-07 10:01:12 +00:00
Marc Bonnici
36309a4cf2 target/assistant: Fix logcat poller
Rename the `start` method to `run` as this is what is what is called
by the threading module's `start` method, otherwise this causes the
polling to be done in the main thread blocking execution.
2018-02-07 10:01:12 +00:00
Marc Bonnici
1101c358d0 framework/rt_config: Add support for chromeos for some AndroidRTConfig
Allows setting of select android runtime configuration for devices running
chromeos and which support android. Currently only 'brightness' is functioning
correctly therefore the other parameters are only enable for standard android devices.
2018-01-25 06:32:37 +00:00
Marc Bonnici
b4d6017dd4 framework/descriptor: Add ChromeOsTarget 2018-01-25 06:32:37 +00:00
Marc Bonnici
a7bf5c2df9 ChromeOsAssistant: Add assistant for ChromeOS 2018-01-25 06:32:37 +00:00
Marc Bonnici
776a4d850b framework/rt_config: Remove over cautious error checking.
Previously when validating cpufreq runtime parameters it would check too
early whether the cpu was online, not allowing for the fact that the cpu
might be being onlined before the parameter was committed to the device.
2018-01-18 16:16:45 +00:00
Marc Bonnici
3cf789e352 framework/rt_config: Fix not being able to turn off all cpus in cluster
Add missing equality sign in constraint for runtime parameters.
2018-01-18 16:16:45 +00:00
Marc Bonnici
60c16c802f framework/rt_config: Fix typo in hotplug big.LITTLE RT Params 2018-01-18 16:16:45 +00:00
Sergei Trofimov
fbb1a125fd framework/target: fix caseless runtime params
Fix the setting of runtime parameters when the casing of the parameter in
the agenda does not match the "canonical" casing.

To make the writing of agendas easier, the casing of the parameters is
supposed to be ignored. To achieve this, parameter names are converted to
caseless_string type before they are looked up.

caseless_string's do not work with dicts. Both __contains__ (used for
the "in" operator) and __getitem__ (used for the [] operator) implement
hash-based look up, and it is not possible to have a caseless_string
match against multiple hashes to cover the different casing
possibilities.

So instead, iterate over the items in parameters dict, comparing the
caseless_string name to the key, and returning the value if it matches.
2018-01-11 11:04:25 +00:00
Sergei Trofimov
833c3dd0a0 framework/target: manager: use get_target_description
use the new get_target_description() when initializing the target inside
TargetManager, instead of manually searching through results of
list_target_descriptions().
2017-12-15 17:07:34 +00:00
Sergei Trofimov
d11165b703 framework/target: add get_target_descriptor()
Add a function to get a TargetDescriptor by its name.
2017-12-15 17:07:34 +00:00
Sergei Trofimov
0a67e94709 framework/target: rename get_target_descriptions
Rename get_target_descriptions to list_target_descriptions.
2017-12-15 17:07:34 +00:00
Marc Bonnici
7bd99637c1 Target/AndroidAssistant: Try to disable selinux
If the target is rooted, attempt to disable selinux as this can cause
issues during runtime.
2017-12-14 17:56:29 +00:00
Marc Bonnici
103368415b target/descriptor: Fix sudo_cmd parameter description 2017-12-14 09:50:26 +00:00
Sergei Trofimov
bb9f735cd4 framework/target: assistant: fix import
Import Parameter from the module that defines it rather than from wa to
avoid circular import errors.
2017-12-13 15:55:38 +00:00
Sergei Trofimov
3ab0aa04de framework/target: fix TargetInfo deserialization
Fix TargetInfo.from_pod(). As part of creating the POD, some of devlib's
classes such as Cpuinfo, get serialized. Since they are from devlib,
they do not implement WA's serialization interface, and are instead
serialized by extracting their internal structures. They are then not
deserialized properly, since their __init__'s expect text rather than
parsed structures.

This implements deserialization functions for these classes which
initialize them properly from TargetInfo POD.
2017-12-13 15:55:38 +00:00
Sergei Trofimov
ed691a5335 framework/target: add shell_prompt target param.
Add a Parameter to specify a regex that matches the shell prompt on the
target. This used in establishing serial tty connections (e.g. VExpress
UART).
2017-12-12 10:07:04 +00:00
Brendan Jackman
aa2abd16a3 Run autoflake to remove unused imports & variables 2017-12-07 15:37:49 +00:00
Sergei Trofimov
0778766c8b framework/target: add adb_name alias
Add "adb_name" alias for "device" parameter of AdbConnection in order to
be backwards-compatible with WA2.
2017-11-29 13:19:39 +00:00
Sergei Trofimov
31e08bf797 framework/target: handle aliases
- Use get_config_point_map() to ensure aliases are parsed from
  configuraiton.
- Only set the default for a name only if it matches the corresponding
  param's name (i.e. don't set for alises).
2017-11-29 13:19:39 +00:00
Quentin Perret
be18157223 framework/target: wait 20 sec for network to show up
Some targets need more than 5 seconds to re-connect to a wifi network
after disabling airplane mode. To fix that, poll for network up to 20
seconds and show a warning if unreachable.
2017-11-17 07:53:16 +00:00
Marc Bonnici
a289a21cbc Framework/RuntimeConfig: Fix crash if no idle states available. 2017-11-15 14:47:36 +00:00
setrofim
eb0f53c8f6 Merge pull request #519 from bjackman/requires-network
Add Workload.requires_network
2017-10-24 14:36:42 +01:00
Sergei Trofimov
4826f8f2f2 framework/target: fix generic "frequency" runtime param
The generic "frequency" runtime parameter was only being set when there
are common frequences between avialable cores. It should always be set,
even if there are no frequencies in common, as it still valid to use it
with special values "min" and "max", in which case it should resolve
correctly to the appropriate frequencies.
2017-10-23 14:31:24 +01:00
Brendan Jackman
fbcee730b2 RTConfig: Allow network to stabilise after disabling airplane mode
This enables you to do things like:

global:
  runtime_parameters:
    airplane_mode: true # This improves repeatability of energy measurements

workloads:
  - name: foo

  - name: bar

  - name: geekbench
    runtime_parameters:
      airplane_mode: false # Geekbench requires network, and we don't care
                           # about energy for that workload anyway
2017-10-18 12:40:36 +01:00
Sergei Trofimov
5ecc4703e4 framework/execution: fix TargetManager termination
- Make sure TargetManager.finalize() actually gets called at the end
  of the run.
- Overrule the "diconnect" parameter behavior for gem5 and make sure it
  always disconnects. This necessary for stats to be generated properly.
2017-10-06 15:04:02 +01:00
Sergei Trofimov
c89e249732 framework/target: add ability to pass additional platform params.
Gem5Platform requires a host output directory as one if it's
instantiation parameters. This is not something we want to expose a
configuration parameter to the user, as for WA, the standard output
directory ought to be used.

Up to this point, WA's target instatiation process assumed that all
parameters came from the user, and there was no way for WA itself to set
them. This commit adds extra_platform_parms argument to
instantiate_target, to remedi this.

extra_platform_parms is then used to set the host output directory for
gem5 appropriately.
2017-10-06 15:04:02 +01:00
Sergei Trofimov
55a72002ca framework/target: fix gem5 target descriptor
(linux|android)_gem5 devices were being described as having gem5
platforms but standard linux/android connections. This commit fixes this
by making sure that the gem5 connection is used.
2017-10-06 15:04:02 +01:00
Sergei Trofimov
bce66f4388 framework/target: fix runtime param name resolution
Runtime param names from config were matched against names available on
for the target using an overly-loose regex that resulted in the wrong
config point being returned.

Use caseless_string matching instead.
2017-10-06 14:21:23 +01:00
Brendan Jackman
f767714cd4 target/descriptor: Fix typo for 'telnet' param 2017-10-05 13:27:08 +01:00
Brendan Jackman
90e4cace06 target/descriptor: Add 'to false' to load_default_modules description 2017-10-04 15:42:18 +01:00
Brendan Jackman
c4fe5b66e5 target/descriptor: Fix 'devlib' typo 2017-10-04 13:30:12 +01:00
Brendan Jackman
24dc8b2a65 target/descriptor: whitespace 2017-10-04 13:30:10 +01:00
Sergei Trofimov
aec89a077e framework/configuration: fix connection_settings configuration
Connection settings were not being properly extracted from device_config
and not used. Meaning it was impossible to e.g. specify the adb device
to use for a run.

This ensures that connection settings are extracted, validated, and used
properly.
2017-09-27 10:32:31 +01:00
Marc Bonnici
0f506dde17 RTConfig: Added support for specifying device initial screen state. 2017-08-16 17:35:19 +01:00
Marc Bonnici
51464165c1 RTConfig: Added android runtime config
Added a runtime config for android specific settings, currently
supported are screen brightness, rotation and airplane mode.
2017-08-16 17:35:19 +01:00
Marc Bonnici
de3301312f RTParams: Adds support for using default values for RT parameters 2017-08-09 16:01:39 +01:00
Marc Bonnici
bbfb802c00 RuntimeConfig: Makes setter_params optional
Now setter_params are optional when creating a Runtime Parameter to
allow them to be used for more purposes which don't require additional
settings.
2017-08-09 16:01:39 +01:00
Marc Bonnici
06be73f8e1 RuntimeConfig: Fixed typo 2017-08-09 16:01:39 +01:00
Sergei Trofimov
5e0ff6aa51 cpufreq: rename get_domain_cpus
get_domain_cpus() got renamed to get_related_cpus() in devlib to reflect
the cpufreq nomenclature. This commit makes corresponding changes in WA.
2017-07-26 14:58:46 +01:00
Anthony Barbier
5c4aa76622 Fixed several typos in runtime_config.py file 2017-06-27 09:18:34 +01:00
Marc Bonnici
8cf6051db8 TargetManager: Fixed Typo 2017-06-15 17:49:57 +01:00
Marc Bonnici
ec8d75ef4c TargetManager: Updated to allow failure of onlining cpus
Before performing feature discovery on a device, all cores are attempted to be
onlined, however due to power management on some phones, cores can be immediately
hotplugged out again therefore causing the command to file. This commit now just
logs a message to warn that the online process failed and the information obtained
from a device may be incomplete.
2017-06-15 17:49:57 +01:00
Marc Bonnici
d7dcbcae92 RuntimeConfig: Handle initialisation failure of RT plugin
Previously if one of the runtime parameters failed to initialize it would cause
the the entire setup process to fail. Now if an error is encountered e.g. a core
went offline when trying to read its information, that particular parameter will
be disabled along with it's supported parameters. This means that only if a user
attempts to use the RT parameter will execution be stopped however it will raise
a potentially misleading unsupported parameter error.
2017-06-15 17:49:57 +01:00
Sergei Trofimov
f8d5a3e358 target/descriptor: fix assistant params handling
assistant_params are now handled consistently with the other kinds of
params in TargetDescription, and they are now part of the default config
generated.
2017-04-26 13:56:12 +01:00
setrofim
63b01e29ee Merge pull request #381 from marcbonnici/revent
Revent & Misc Fixes
2017-04-25 10:39:41 +01:00
Sergei Trofimov
f1eeff726f TargetDescription: generate default config
Added a method to TargetDescrition to generate a dict with the default
config for that description.
2017-04-25 08:16:36 +01:00