Contents
Introduction
The Workload Generator emulates typical mobile system use cases and gives runtime information. It is based on rt-app.
The tool uses json files for describing the use case.
Source code
Linaro extensions to rt-app are available here: https://git.linaro.org/power/rt-app.git
We're working with rt-app upstream to merge the changes back.
Configuration
Compilation
The easiest way is to compile the tool on the board. You will need the following packages installed on the board: libjsonc, libtool, autoconf
$ ./autogen.sh $ ./configure $ make $ sudo make install
Packaged versions
Debian/Ubuntu packages for ARM and x86 can be found in the PPA
Usage
Typical workload examples
JSON files describing typical mobile workloads can be found in the doc/examples directory. More workloads will be added to this directory.
Running a use case
In order to run a use case, just call :
$ workgen <path to the .json file>
workgen will output per thread statistics like a running and period duration.
workgen is a python script that checks and updates the json file to make it compliant with json grammar rules if necessary. With workgen, the writer of a use case doesn't have to take care of key uniqueness as an example. Then, workgen calls rt-app with the updated json file.
If the json file doesn't need to be checked or if you don't want/can't use workgen on your target, you can use workgen on your host to check and output a modified version of the json file that can then be called directly by rt-app on the target.
Use with idlestat
The Workload Generator can be used in conjunction with idlestat to evaluate the power consumption of a kernel image for a given use case and check for regressions. Here is an example:
$ sudo ./idlestat --trace -f /tmp/myoutput -t 10 -- workgen mp3-short.json
Contributing
Please send email to sched-tools@lists.linaro.org for feedback or contributions. The plan is to use the upstream rt-app mailing list for future development once changes have been merged.
Feature Status
Features implemented
Please read tutorial.txt in order to have a full description of the possible events and parameters.
The list of use cases examples can be found here
New Feature ideas
- Enhance the figures and output "perf" results
- use a json file to create a data file view-able with kernelshark
- create a json file thanks to a recorded trace
WorkingGroups/PowerManagement/Resources/Tools/WorkloadGen (last modified 2015-09-01 13:06:46)