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

432 Commits

Author SHA1 Message Date
Sascha Bischoff
c6e712d44c Gem5Device: simplfy if statement based on pylint recommendation 2015-12-01 18:23:26 +00:00
Sascha Bischoff
00c9bdc2a6 Gem5Device: Fix runtime error caused by lack of kwargs 2015-12-01 18:23:26 +00:00
setrofim
1b31d8ef6f Merge pull request #53 from ep1cman/systrace
Added systrace instrument
2015-11-27 09:54:57 +00:00
Sebastian Goscik
b3a9512f44 Added systrace instrument
Added an instrument to uses systrace.py from the android SDK.
 Generates a fancy HTML report (only works in Google chrome).
2015-11-27 09:53:59 +00:00
Sergei Trofimov
a06016a442 adb_shell: fixing handling of line breaks at the end of the output
- adb protcol uses "\r\n" for line breaks. This is not handled by
  Python's line break translation, as not a file. So spliting on '\n'
  when extracting the exit code resulted in stray '\r' in the output.
- adb_shell expects exit code to be echoed on the same line. This may
  not have been the case if latest output from executed command was not
  a complete line. An extra echo will now ensure that the exit code will
  be on its own line even in that case.
2015-11-24 15:50:38 +00:00
Sergei Trofimov
c02a1118d7 BaseLinuxDevice: list_file_systems() now handles blank lines
mount() may return an empty line at the end of the output; this update
handles that.
2015-11-24 15:50:38 +00:00
Sebastian Goscik
d9f1190e1f Version bump 2015-11-23 16:19:45 +00:00
setrofim
36c58ee76f Merge pull request #61 from setrofim/documentation-update
doc: updating installation instructions
2015-11-23 16:02:32 +00:00
Sergei Trofimov
b04d141680 doc: updating installation instructions
Re-writing some of the instructions for clarity plus updating with the
correct pip invocations.
2015-11-23 15:47:27 +00:00
setrofim
3453fe5fc1 Merge pull request #59 from ep1cman/changelog
Updated change log
2015-11-23 10:13:38 +00:00
Sebastian Goscik
016876e814 Updated change log
Initial update of change log, this will probably need a lot of tidy up.
2015-11-23 10:11:23 +00:00
setrofim
e8ba515075 Merge pull request #58 from Sticklyman1936/gem5_init_fix
Gem5Device: Fix issue with init arguments
2015-11-20 14:21:11 +00:00
Sascha Bischoff
c533da3f38 Gem5Device: Fix issue with init arguments
- This patch addresses an issue with the arguments passed the
  BaseGem5Device __init__. With this patch these are no longer passed
  in as they are not required in the base device implementation.
2015-11-20 13:10:35 +00:00
Sergei Trofimov
8261c1d5b5 freqsweap: fix: was erroneously merging runtime_params into workload_params 2015-11-19 14:11:23 +00:00
setrofim
1d12e6a8b0 Merge pull request #57 from ep1cman/freqsweep
Freqsweep: Added the ability to specify workload/runtime parameters
2015-11-18 11:29:39 +00:00
Sebastian Goscik
2957d63e2f Freqsweep: Added the ability to specify workload/runtime parameters
E.g:
  sweeps:
    - cluster: a15
      runtime_params:
        a15_cores: 1
2015-11-18 11:27:35 +00:00
setrofim
7b8d62d1ec Merge pull request #56 from ep1cman/streamline_improvements
Streamline improvements
2015-11-16 17:28:02 +00:00
Sebastian Goscik
2063f48cf0 streamline: cleaned up and added Linux support
- The streamline instrument can now run on linux clients
  because it no longer relies on adb port forwarding
- Updated description.
- Cleaned up code
- Now check for streamline not caiman
- Gatord is now only run once instead of restarted every
  job
2015-11-16 17:27:17 +00:00
Sergei Trofimov
2510329cdf AndroidDevice fix: create dympsys file relative to working directory on target.
Commit 95f17702d7 redirected output of
"dumpsys window" to a file (needed for Gem5 support). However, the file
was created in $PWD, which breaks on production devices, as that
location is not writable. This moves the file under the working
directory on the device.
2015-11-16 13:09:28 +00:00
Sergei Trofimov
9c8c81cc25 csv result processor: write results.csv after each iteration.
(partial) results.csv will now be written after each iteration rather
than at the end of the run.
2015-11-16 12:43:52 +00:00
Sergei Trofimov
2e5b3671e9 LinuxDevice fix: do not invoke super's hard_reset()
as it does not have one...
2015-11-16 12:43:52 +00:00
Sergei Trofimov
705ce9ae40 rt_app: added an option to force install.
Userful when the target device already has rt-app on it, but you want to
replace it with the version from your host.
2015-11-16 12:43:52 +00:00
setrofim
f43daacd41 Merge pull request #52 from ep1cman/freqsweep
Added freqsweep instrument
2015-11-13 15:19:52 +00:00
Sebastian Goscik
3b41f69762 Added freqsweep instrument
Added an instrument to sweep workloads across all available frequenices
2015-11-13 15:16:54 +00:00
setrofim
a722e594af Merge pull request #55 from Sticklyman1936/split_gem5device
Gem5Device: Refactor into BaseGem5Device, Gem5LinuxDevice and Gem5And…
2015-11-13 14:26:07 +00:00
Sascha Bischoff
a447689a86 Gem5Device: Refactor into BaseGem5Device, Gem5LinuxDevice and Gem5AndroidDevice
- Refactored the Gem5Device to avoid duplicated code. There is now a
  BaseGem5Device which includes all of the shared functionality. The
  Gem5LinuxDevice and the Gem5AndroidDevice both inherit from
  BaseGem5Device, and LinuxDevice or AndroidDevice, respectively.
2015-11-13 14:19:24 +00:00
setrofim
9fe4887626 Merge pull request #54 from ep1cman/daq_merge
Added ability to merge DAQ channels
2015-11-13 11:00:36 +00:00
Sebastian Goscik
6492b95edd Added ability to merge DAQ channels
If the parameter merge_channels is set to true (false by default).
 DAQ channels that have consecutive letters on the end of their names
 will be summed together. E.g: A7, A15a, A15b becomes A7, A15

 You can also  manually specify a channel mapping by setting
 merge_channels to a dict. .
2015-11-13 10:56:50 +00:00
setrofim
c5b4b70aae Merge pull request #50 from Sticklyman1936/master
Add Gem5Device to WA
2015-11-11 16:55:57 +00:00
Sascha Bischoff
55f6ef4a5e Gem5Device: Remove VirtIO device rebinding to align with gem5
- Remove the unbind and rebind for the VirtIO 9P mount method as gem5
  now checkpoints the basic state of the device. This allows us to
  just mount it assuming that checkpoint have been created correctly.
2015-11-11 16:45:01 +00:00
Sascha Bischoff
672c74c76c Gem5Device: Avoid duplicate get_properties code
- Remove the duplicated get_properties code by calling the internal
  _get_android_properties method directly.
2015-11-11 16:45:01 +00:00
Sascha Bischoff
95f17702d7 AndroidDevice: Move the processing of Android properties to an internal method
- Move the processing of Android properties to an internal
  method. This allows the Android properties to be extracted without
  extracting those of the Linux device.

- Redirect the output from 'dumpsys window' to a file and pull the
  file as opposed to extracting the output from the terminal. This is
  more reliable in the event that another process writes to the shell.
2015-11-11 16:45:01 +00:00
Sascha Bischoff
ee4764adc4 Gem5Device: Addressed review comments
- Replaced hard-coded pexpect expect string with UNIQUE_PROMPT.

- Changed the capture_screen debug to a warning to make sure that the
  user knows when it happens.

- Fixed the logic for checking when a file exists. Previously, if the
  output could not correctly be processed (ValueError) then we just
  assumed that the file existed if there was any output at all. This
  is clearly not a good default. Changed to default to False if it was
  not able to process the output as this seems to be the safest
  option.

- Changed ad hoc filename extraction to use os.path.basename.

- Removed the processing of some kwargs and defaults that are handled
  by the parent class.

- Stopped overriding some paramaters which were purely defined in the
  Gem5Device.
2015-11-11 16:45:00 +00:00
Sascha Bischoff
3a8eed1062 Gem5Device: Allowed the gem5 binary to be specified in the agenda
- Added the gem5_binary option to the agenda which allows a different
  gem5 binary to be specified. This allows WA to be used with
  different levels of gem5 debugging. as well as allowing non-standard
  gem5 binary names and locations.
2015-11-04 10:38:50 +00:00
Sascha Bischoff
29abd290f4 Gem5Device: Fix style issues
- Fix up style issues
2015-11-02 16:30:13 +00:00
Sascha Bischoff
3bf114cf48 Gem5Device: Improve shell command matching
- Replace ugly while True loop with a simple regex substitution
  achieving the same thing. This is required to match the command in
  the shell output when the command wraps around due to the length of
  the command.
2015-11-02 11:42:33 +00:00
Sascha Bischoff
96a6179355 Gem5Device: Add a gem5 device for Android
- Implementation of a gem5 device which allows simulated systems to be
  used in the place of a real device. Currently, only Android is
  supported.

- The gem5 simulation is started automatically based on a command line
  passed in via the agenda. The correct telnet port to connect on is
  extracted from the standard error from the gem5 process.

- Resuming from gem5 checkpoints is supported, and can be specified as
  part of the gem5 system description. Additionally, the agenda option
  checkpoint_post_boot can be used to create a checkpoint
  automatically once the system has booted. This can then by used for
  subsequent runs to avoid booting the system a second time.

- The Gem5Device waits for Android to finish booting, before sending
  commands to the simulated device. Additionally, the device supports
  a sleep option, which will sleep in the simulated system for a
  number of seconds, prior to running the workload. This ensures that
  the system can quieten down, prior to running the workload.

- The Gem5Device relies of VirtIO to pull files into the simulated
  environment, and therefire diod support is required on the host
  system. Additionally, VirtIO 9P support is required in the guest
  system kernel.

- The m5 writefile binary and gem5 pseudo instruction are used to
  extract files from the simulated environment.
2015-11-02 10:15:34 +00:00
Sascha Bischoff
a6382b730b TelnetConnection:
- Allowed telnet connections without a password.

This is required as part of the upcoming Gem5Device, which uses a
password-less telnet connection to communicate with the device.
2015-11-02 10:09:59 +00:00
setrofim
661371f6f0 Merge pull request #49 from ep1cman/master
Fixed telnet support
2015-10-21 11:58:06 +01:00
Sebastian Goscik
b9b4a7c65c Fixed telnet support
- Added port kwarg to telnet login function (default port=23)
2015-10-21 11:53:25 +01:00
Sergei Trofimov
20a5660ea1 android device: always deploy busybox on rooted devices. 2015-10-19 13:40:50 +01:00
Sergei Trofimov
691c380779 serial_port: updating to handle newer versions of pexpect
from version 4.0.0 onwards, fdpexpect is now namespaced under the main
pexpect libarary, rather than being stand-alone.
2015-10-16 17:38:19 +01:00
Sergei Trofimov
7546232c10 trace_cmd: fix parser to oportunistically convert parsed values to ints
This was done previosly but was broken by commit

1c146e3ce7
2015-10-16 17:08:09 +01:00
Sergei Trofimov
4fa3d9de6e Import pxssh via pexpect
Importing it directly causes issues in some environments.
2015-10-16 11:05:53 +01:00
Sergei Trofimov
90bfbf6022 Adding autotest workload wrapper. 2015-10-09 08:43:53 +01:00
setrofim
079d5b4ec5 Merge pull request #48 from lisatn/rtapp_use_cases
rt-app: Update use cases
2015-10-09 08:21:07 +01:00
Lisa Nguyen
2c5d51cb2a rt-app: Update use cases
Add video-long.json and video-short.json files and
update spreading-tasks.json. The originals can be
found in git.linaro.org/power/rt-app.git repo.

Signed-off-by: Lisa Nguyen <lisa.nguyen@linaro.org>
2015-10-08 17:46:20 -07:00
Sergei Trofimov
1c146e3ce7 trace_cmd: more robust event fields parsing
The default paraser can now handle spaces in field values (but not field
names).
2015-10-08 17:13:48 +01:00
Sergei Trofimov
6159711a05 iozone: ensure test 0 always runs
Test 0 (write) creates a file that is used by subsequent tests.
Therefore if this test is not specified withen selecting which tests to
run, izone will fail with an error.

To avoid this, check the tests list specified by the user andd add test
0 if necessary.
2015-10-08 09:16:32 +01:00
Sergei Trofimov
208fdf4210 iozone: pylint fixes 2015-10-08 09:10:08 +01:00