Add a BUILD file with instructions on how to cross-compile for
arm and arm64. Also update the README file to inform users where
they can submit feedback and patches to and fix trivial spelling
errors.
Signed-off-by: Lisa Nguyen <lisa.nguyen(a)linaro.org>
---
BUILD | 23 +++++++++++++++++++++++
README | 37 ++++++++++++++++++++++++++++++++++---
2 files changed, 57 insertions(+), 3 deletions(-)
create mode 100644 BUILD
diff --git a/BUILD b/BUILD
new file mode 100644
index 0000000..ca7c2ac
--- /dev/null
+++ b/BUILD
@@ -0,0 +1,23 @@
+To build idlestat natively, run 'make' from the top-level directory.
+
+Cross Compiling for ARM
+=======================
+These are instructions to cross compile for ARM and ARM64 on an Ubuntu system running x86_64.
+
+Requirements
+------------
+Depending on the target platform, you will need to download either the gnueabi or gnueabihf toolchain.
+
+For arm, run 'sudo apt-get install gcc-arm-linux-gnueabi' or 'sudo apt-get install gcc-arm-linux-gnueabihf'. You can also download these toolchains from Linaro at http://releases.linaro.org/components/toolchain/binaries/latest-5/arm-linux… or http://releases.linaro.org/components/toolchain/binaries/latest-5/arm-linux….
+
+For arm64, go to http://releases.linaro.org/components/toolchain/binaries/latest-5/aarch64-l… to download the latest aarch64 toolchain from Linaro. Then untar the toolchain tarball. Add the aarch64 toolchain directory path to the PATH environment variable by running 'export PATH=$PATH:<toolchain dir/bin>' (e.g. export PATH=$PATH:/home/<user>/gcc-linaro-5.3-2016.02-x86_64_aarch64-linux-gnu/bin).
+
+Steps
+------
+To build for arm, run "make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-" from the top-level directory.
+
+To build for arm64, run "make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-" from the top-level directory.
+
+Usage
+------
+Please refer to the README file or the idlestat manpage for details on how to use idlestat.
diff --git a/README b/README
index b519d1e..3203ba4 100644
--- a/README
+++ b/README
@@ -51,6 +51,37 @@ sudo ./idlestat --trace -f /tmp/mytrace -t 10 -- /bin/sleep 10
sudo ./idlestat --trace -f /tmp/myoutput -t 10 -- cyclictest -t 4 -i 2000 -q -D 5
Selective trace output
-sudo ./idlestate --import -f /tmp/mytrace -w
-sudo ./idlestate --import -f /tmp/mytrace -c -p
-sudo ./idlestate --import -f /tmp/mytrace -p -w
\ No newline at end of file
+sudo ./idlestat --import -f /tmp/mytrace -w
+sudo ./idlestat --import -f /tmp/mytrace -c -p
+sudo ./idlestat --import -f /tmp/mytrace -p -w
+
+Bugs
+----
+
+If you believe that you have encountered a bug, please file a bug report on
+Linaro Bugzilla at https://bugs.linaro.org. You may be prompted to register
+for a new account first.
+
+Once you log in, click on
+"New" --> "Power Management" --> "Idlestat" as the component. Then fill
+in the form.
+
+Helpful tips for filing a bug report:
+ 1. Provide logs, be verbose as possible
+ 2. Outline steps to reproduce the bug
+ 3. Describe the environment you are running idlestat on (e.g. Android,
+ OpenEmbedded, Ubuntu, etc.)
+ 4. What hardware you're using
+
+Contribution
+------------
+
+If you wish to submit patches to improve idlestat, please send them to
+the Linaro sched-tools mailing list at sched-tools(a)lists.linaro.org with
+"PATCH IDLESTAT" as the subject prefix.
+
+Feedback
+--------
+
+Please submit questions and comments to the Linaro sched-tools mailing list at
+sched-tools(a)lists.linaro.org with "idlestat" as part of the subject.
--
2.1.4
During my time working with the rt-app cpufreq efficiency test I came across a
few rough edges. Patches 1-4 address those.
Patch 5 essentially rewrites the test.sh script. Prior to this patch test.sh
takes a single governor and workload specification (duty cycle). It runs the
workload with this governor as well as the perf and power governors then
calculates efficiency. If we want to profile multiple governors, using this
script would result in running the workload under the perf and power governors
multiple times. You could run dvfs.sh script directly in which case the
efficiency must be manually calculated.
Patch 5 adds support to test.sh to accept a test specification file with the -f
parameter. A test specification file specifies the CPU to run the tests on, the
governors to test (excluding the perf and power governors), and the workloads
to test. It looks like this:
1
ondemand interactive schedutil
1 100 100
10 1000 10
1 10 1000
The workloads are specified as:
<busy time @fmax in ms> <period length in ms> <# of loops>
The results are output in a text-formatted table suitable for email.
CPU frequency residency is also tracked as part of patch 5. At the end of the
testing the residencies for each test for a given governor are printed in a
table. This depends on cpufreq stats being enabled on the platform.
The test.sh script continues to accept arguments as it did previously, i.e. it
will accept a single governor and workload on the command line.
Steve Muckle (5):
rt-app: fix cpufreq test loops
rt-app: change default sched class for dvfs test to SCHED_OTHER
rt-app: tidy up cpufreq efficiency README
rt-app: save and restore governor in dvfs.sh cpufreq efficency test
rt-app: rework cpufreq efficiency script
doc/examples/cpufreq_governor_efficiency/README | 85 ++++---
doc/examples/cpufreq_governor_efficiency/dvfs.json | 4 +-
doc/examples/cpufreq_governor_efficiency/dvfs.sh | 13 +-
doc/examples/cpufreq_governor_efficiency/test.sh | 246 ++++++++++++++-------
4 files changed, 238 insertions(+), 110 deletions(-)
--
2.7.3