"When I was a boy and I would see scary things in the news, my mother
would say to me, ‘Look for the helpers. You will always find people
who are helping."
~ Fred Rogers
The Linaro 15.04 release is now available for download!
See the detailed highlights of this release to get an overview of what
has been accomplished by the Working Groups, Landing Teams and Platform
Teams:
* Linux Linaro 4.0-2015.04 is released:
* based on v4.0 release
* updated linaro-android topic: aosp/android-3.18 branch has been merged
* GATOR topic: version 5.20.1
* updated integration-linaro-vexpress64 topic by ARM LT (FVP Base
and Foundation models, and Juno support)
* updated topic from Qualcomm LT (IFC6410 and DB410c boards support):
* Resource Power Manager (RPM) - MSM Shared Memory Driver (SMD) driver
* quite some changes under drivers/gpu/drm/ related to adv7511
and adv7533 support
* ASoC support for QCOM platforms
* external Connector Class (extcon) support (used for USB VBUS
and ID detection)
* Linaro builds of AOSP 15.04 is released:
* baseline updated to android-5.1.1_r1
* updated Nexus 10 CI for LAVA testing
* added Optimus A80 Android Kitkat build
* Linaro OpenEmbedded 2015.04 is released:
* removed stress recipe in favor of oe-core recipe
* updated linux-linaro to ll_20150422.0 (based on 4.0)
* libevent-fb: OE-core updated to 2.0.22, fix require statement
* APM mustang boot failure
(https://bugs.linaro.org/show_bug.cgi?id=1501) was tracked down to
using 'arm64' as U-Boot arch for the initramfs header while the vendor
U-Boot 2013.04 expects 'arm'.
* upstreaming:
* strace: fix build for aarch64
* libgpg-error 1.18: simplify tuple handling and add armv8b support
* Linaro Ubuntu 15.04 is released:
* updated packages: LSK 3.10.74/3.14.39 and linux-linaro 4.0 kernels
* U-Boot: upstream fastboot support:
* Add HiSilicon D01 platform support to Debian installer:
* Updated android-build job to work with docker slaves
* Cleaned up ILP32 build job
* LSK: enable debug options on regular builds
* linux-linaro: ll-fold.sh script fixed to work correctly with newer
git versions
* CI bring up: tshark board Android member build
* Added Ubuntu arm64 gnome rootfs
* Added D01 platform to Coresight CI loop
The release details are linked from the “Details” column for each
released artifact on the release information:
http://wiki.linaro.org/Cycles/1504/Release#Release_Information
Using the Android-based images
=======================
The Android-based images come in three parts: system, userdata and boot.
These need to be combined to form a complete Android install. For an
explanation of how to do this please see:
http://wiki.linaro.org/Platform/Android/ImageInstallation
If you are interested in getting the source and building these images
yourself please see the following pages:
http://wiki.linaro.org/Platform/Android/GetSourcehttp://wiki.linaro.org/Platform/Android/BuildSource
Using the OpenEmbedded-based images
=======================
With the Linaro provided downloads and with ARM’s Fast Models virtual
platform, you can boot a virtual ARMv8 system and run 64-bit binaries.
For more information please see:
http://www.linaro.org/engineering/armv8
Using the Ubuntu-based images
=======================
The Ubuntu-based images consist of two parts. The first part is a
hardware pack, which can be found under the hwpacks directory and
contains hardware specific packages (such as the kernel and bootloader).
The second part is the rootfs, which is combined with the hardware pack
to create a complete image. For more information on how to create an
image please see:
http://wiki.linaro.org/Platform/DevPlatform/Ubuntu/ImageInstallation
Getting involved
============
More information on Linaro can be found on our websites:
* Homepage:
http://www.linaro.org
* Wiki:
http://wiki.linaro.org
Also subscribe to the important Linaro mailing lists and join our IRC
channels to stay on top of Linaro developments:
* Announcements:
http://lists.linaro.org/mailman/listinfo/linaro-announce
* Development:
http://lists.linaro.org/mailman/listinfo/linaro-dev
* IRC:
#linaro on irc.linaro.org or irc.freenode.net
#linaro-android irc.linaro.org or irc.freenode.net
Known issues with this release
=====================
For any errata issues, please see:
http://wiki.linaro.org/Cycles/1504/Release#Known_Issues
Bug reports for this release should be filed in Bugzilla
(http://bugs.linaro.org) against the
individual packages or projects that are affected.
On behalf of the release team,
Koen Kooi
Builds and Baselines | Release Manager
Linaro.org | Open source software for ARM SoCs
****************
Team Work Logged
****************
# tyler-baker Progress #
* LAVA-1429 - Dispatcher Refactoring
* LAVA-1643 - 4. Trending Builds Boots and Tests (40.0%)
* Spent some timing reducing the duplication of the boot and test parsing. Branch is roughly based on the testing branch of lava-ci.
* LAVA-1511 - Upstream Kernel CI
* LAVA-1978 - kselftest improvements (60.0%)
* Pushed out an updated v3 with fixes from code review.
https://github.com/EmbeddedAndroid/linux/commits/selftest/fixes-v3
# stylesen Progress #
* LAVA-1317 - lava-dispatcher maintenance
* LAVA-1414 - LC: Linaro login integration with LAVA (100.0%)
* Started with a script that can accomplish this.
# milo Progress #
* LAVA-1511 - Upstream Kernel CI
* LAVA-1556 - [frontend] Implement RSS view for website pages (4.0%)
* Merged RSS enabling code into master, without enabling it by default. More work is needed toward implementing missing views to give better RSS feed.
* LAVA-1511 - Upstream Kernel CI
* LAVA-1920 - Backend improvements (72.0%)
* Completed and cleaned up code, deployed in production but disabled for now.
* Started work on the boot trigger API: stubbed the initial trigger request handler.
* Simple version of the boot trigger API has been implemented: similar to the defconfig API for now. More advanced one, that will return results compared to the boot reports of other labs, will require more time.
* Completed first version of the boot trigger API, deployed on staging.
* Completed work on first version of trigger API, deployed in production.
* LAVA-1511 - Upstream Kernel CI
* LAVA-1554 - Email notification system (24.0%)
* Cleaned up email report templates and email creation logic.
* Added warnings/errors summary and lines to the HTML report as well.
* Fixed alignment on HTML build report and strip heading chars from parsed log lines.
# stevan.radakovic Progress #
* LAVA-1429 - Dispatcher Refactoring
* LAVA-1938 - Verification script for device config (%)
* Looking into device-dictionary command.
* LAVA-1429 - Dispatcher Refactoring
* LAVA-1929 - Export a set of variables on the DUT (%)
* Split the environment settings into deploy and boot actions. Refactor the unit tests.
* Third iteration of code review changes.
# neil.williams(a)linaro.org Progress #
* LAVA-1429 - Dispatcher Refactoring
* LAVA-1929 - Export a set of variables on the DUT (29.63%)
* reviewing and testing
* LAVA-1429 - Dispatcher Refactoring
* LAVA-2014 - Fix looping support for pipeline devices (11.11%)
* LAVA-1429 - Dispatcher Refactoring
* LAVA-1806 - Port VMGroup support as secondary connections (59.26%)
****************
Team In-Progress
****************
# dean.arnold(a)linaro.org Plan #
* LAVA-1966 - Bug-1409
# georgy.redkozubov(a)linaro.org Plan #
* LAVA-1777 - Create lava-test-shell helpers for performance collection
# milo.casagrande(a)linaro.org Plan #
* LAVA-1554 - Email notification system
* LAVA-2029 - Outline improvements needed
* LAVA-1920 - Backend improvements
# neil.williams(a)linaro.org Plan #
* LAVA-1853 - Ensure VMgroup operations use a clean environment
* LAVA-1987 - Update docs on hacking sessions
* LAVA-1806 - Port VMGroup support as secondary connections
# senthil.kumaran(a)linaro.org Plan #
* LAVA-1976 - 5044
* LAVA-1948 - migrate-user script for lava ldap migration
# stevan.radakovic(a)linaro.org Plan #
* LAVA-1938 - Verification script for device config
* LAVA-1929 - Export a set of variables on the DUT
# tyler.baker(a)linaro.org Plan #
* LAVA-1982 - Bug Bisection
* LAVA-1792 - Tyler's Mentoring
* LAVA-1524 - ARM KVM boot testing
* LAVA-1981 - Basic integration of D02
* LAVA-1643 - 4. Trending Builds Boots and Tests
* LAVA-2010 - Meetings
* LAVA-1906 - HiKey Integration
The Systems team has been working on making clone/pull operations work
better for people in different geographical regions:
https://wiki.linaro.org/Platform/Systems/GitHA
We currently have a DNS test alias named "git-geo.linaro.org" that
should direct users to the server that will deliver the best connection.
Before switching over the real "git.linaro.org" DNS entry, I was hoping
to get some more people using this new system to verify its working
correctly.
= How you can help
1) update "git.linaro.org" entries in your .git/config files to be
"git-geo.linaro.org"
2) let me know how it goes for you
-andy
Add test which verifies capacity calculation on arm
architecture platforms.
This will work on any platform that uses parse_dt_topology() arch hook
to set cpu capacity. Currently only arm (not arm64) platforms do this.
Signed-off-by: Larry Bassel <larry.bassel(a)linaro.org>
---
cputopology/cputopology_04.sh | 131 +++++++++++++++++++++++++++++++++++++++++
cputopology/cputopology_04.txt | 5 ++
2 files changed, 136 insertions(+)
create mode 100755 cputopology/cputopology_04.sh
create mode 100644 cputopology/cputopology_04.txt
diff --git a/cputopology/cputopology_04.sh b/cputopology/cputopology_04.sh
new file mode 100755
index 0000000..cce46cd
--- /dev/null
+++ b/cputopology/cputopology_04.sh
@@ -0,0 +1,131 @@
+#!/bin/sh
+#
+# PM-QA validation test suite for the power management on Linux
+#
+# Copyright (C) 2015, Linaro Limited.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# Contributors:
+# Larry Bassel <larry.bassel(a)linaro.org>
+#
+
+# URL : https://wiki.linaro.org/WorkingGroups/PowerManagement/Resources/TestSuite/P…
+
+. ../include/functions.sh
+
+calc_freq()
+{
+ byte1=$1
+ byte2=$2
+ byte3=$3
+ byte4=$4
+ freq=$((byte1*0x1000000+byte2*0x10000+byte3*0x100+byte4))
+}
+
+# eff is the relative cpu efficiency of each processor
+set_eff() {
+ type=$1
+
+ case $type in
+ arm,cortex-a15) eff=3891 ;;
+ arm,cortex-a7) eff=2048 ;;
+ * ) eff=1024 ;;
+ esac
+}
+
+# Calculate a middle efficiency, This is later used to scale
+# the cpu_capacity such that an 'average' CPU is of middle capacity.
+
+calc_mid_capacity()
+{
+ dt_cpus=$(ls /sys/firmware/devicetree/base/cpus | grep "cpu(a)[0-9].*")
+ min_capacity=$((0xffffffff))
+ max_capacity=0
+ sched_capacity_shift=10
+
+ for dt_cpu in $dt_cpus; do
+ if [ ! -f /sys/firmware/devicetree/base/cpus/$dt_cpu/clock-frequency ]; then
+ log_skip "no clock frequency file present"
+ return
+ fi
+ if [ ! -f /sys/firmware/devicetree/base/cpus/$dt_cpu/compatible ]; then
+ log_skip "no compatible file present"
+ return
+ fi
+ filename=/sys/firmware/devicetree/base/cpus/$dt_cpu/clock-frequency
+ bytes=$(od -t u1 -A n $filename)
+ calc_freq $bytes
+ cpu_type=$(cat /sys/firmware/devicetree/base/cpus/$dt_cpu/compatible)
+ set_eff $cpu_type
+ capacity=$((($freq>>20)*$eff))
+ if [ $capacity -gt $max_capacity ]; then
+ max_capacity=$capacity
+ fi
+ if [ $capacity -lt $min_capacity ]; then
+ min_capacity=$capacity
+ fi
+ if [ $(((4 * $max_capacity))) -lt $(((3 * ($max_capacity + $min_capacity)))) ]; then
+ middle_capacity=$((($min_capacity + $max_capacity)>>($sched_capacity_shift+1)))
+ else
+ middle_capacity=$(((($max_capacity / 3)>>($sched_capacity_shift-1))+1))
+ fi
+ done
+}
+
+cpu_num=0
+
+verify_cpu_capacity()
+{
+ for dt_cpu in $dt_cpus; do
+ if [ ! -f /sys/firmware/devicetree/base/cpus/$dt_cpu/clock-frequency ]; then
+ log_skip "no clock frequency file present"
+ return
+ fi
+ if [ ! -f /sys/firmware/devicetree/base/cpus/$dt_cpu/compatible ]; then
+ log_skip "no compatible file present"
+ return
+ fi
+ filename=/sys/firmware/devicetree/base/cpus/$dt_cpu/clock-frequency
+ bytes=$(od -t u1 -A n $filename)
+ calc_freq $bytes
+ cpu_type=$(cat /sys/firmware/devicetree/base/cpus/$dt_cpu/compatible)
+ set_eff $cpu_type
+ capacity=$((($freq>>20)*$eff/$middle_capacity))
+ expected_capacity_string=$(dmesg | grep "CPU$cpu_num: update cpu_capacity")
+ expected_capacity=${expected_capacity_string##*cpu_capacity}
+ echo "cpu num: $cpu_num capacity $capacity expected capacity $expected_capacity"
+ check "expected capacity for cpu$cpu_num equal to computed capacity" "test $expected_capacity -eq $capacity"
+
+ cpu_num=$((cpu_num+1))
+ done
+}
+
+verify_capacity()
+{
+ if ! [ -d /sys/firmware/devicetree/base/cpus ]; then
+ log_skip "no cpus directory present"
+ return
+ fi
+
+ calc_mid_capacity
+ dt_cpus=$(ls -1 /sys/firmware/devicetree/base/cpus | egrep "cpu@.{1,2}$")
+ verify_cpu_capacity
+ dt_cpus=$(ls -1 /sys/firmware/devicetree/base/cpus | egrep "cpu@.{3,4}$")
+ verify_cpu_capacity
+}
+
+verify_capacity || exit 1
+test_status_show
diff --git a/cputopology/cputopology_04.txt b/cputopology/cputopology_04.txt
new file mode 100644
index 0000000..2995aab
--- /dev/null
+++ b/cputopology/cputopology_04.txt
@@ -0,0 +1,5 @@
+Test capacity calculation (this is based on
+the algorithm in arch/arm/kernel/topology.c),
+make sure that the information in
+/sys/firmware/devicetree/base/cpus corresponds
+to that reported by the kernel log.
--
1.8.3.2
Update the README file with bugs, questions, and contribution
sections and fix the format for readability.
Signed-off-by: Lisa Nguyen <lisa.nguyen(a)linaro.org>
---
Changes in v2:
* Removed references to LAVA
* Rewritten Additional Notes section of README
* Replace the phrase "Linux devices" with hardware to be more generic
README | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++--------------
1 file changed, 60 insertions(+), 16 deletions(-)
diff --git a/README b/README
index 2eef1c4..b976727 100644
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
-General Info
-============
+Commands
+========
- In order to run the tests, invoke as root:
make check
@@ -12,20 +12,64 @@ General Info
make -C cpufreq check
-- The test specifications can be found at
+
+Test Specifications
+===================
+The test specifications can be found at:
https://wiki.linaro.org/WorkingGroups/PowerManagement/Resources/TestSuite/P…
-Other info
-==========
-- PM-QA is one of the tools in the external opensource modules in the external
- path of android. For building on android, the makefile Android.mk is used to
- build the testsuite with a makefile for each subtest.
-- Incase you are extending a subtest, say a new script which will test a
- feature. Add the test number in the Android.mk, in addition to this if its
- using a source file (say .c), add the source file in the Android.mk so that
- it gets built.
-- LAVA scripts are used to trigger the pm-qa tests.
-- Similarly for non-android adding a script and txt (test description) pair is
- needed to extent the suite.
-=======
+
+Bugs
+====
+If you believe that you have encountered a bug, please file a bug report on
+Linaro Bugzilla at https://bugs.linaro.org. Once you log in, click on
+"New" --> "Power Management" --> "PM-QA" 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 PM-QA on (e.g. Android,
+ OpenEmbedded, Ubuntu, etc.)
+ 4. What hardware you're using
+
+Questions/Comments
+==================
+Please submit questions and comments to the linaro-dev mailing list at
+linaro-dev(a)lists.linaro.org with "PM-QA" as part of the subject.
+
+Contributions
+=============
+If you wish to submit patches to improve PM-QA, please send them to
+the linaro-dev mailing list at linaro-dev(a)lists.linaro.org with
+"PATCH PM-QA" as the subject prefix.
+
+All scripts in PM-QA must be POSIX-compliant and cannot use any
+bashisms. At a minimum, they must run in Android and Ubuntu
+environment and have text files that include their descriptions.
+
+Additional notes on new tests
+=============================
+PM-QA can be extended with more functional tests by following a few
+simple rules.
+
+a. Add the test (usually a shell script) and its associated
+description (in a .txt file with the same name) in the appropriate
+subdirectory
+b. Change the Android.mk makefile in the subdirectory as appropriate.
+You will need to change the 'test_num' variable at a minimum. If
+you're using other source files (say .c), add that to the makefile as
+well.
+c. Create a draft specification for your test that can be added to the
+wiki page[1]
+d. Make sure your shell scripts do not use bash-specific constructs.
+Run them with the #!/bin/sh as the interpreter directive instead of
+#!/bin/bash.
+e. PM-QA can be found in the external opensource modules in the
+external path of android sources hosted at Linaro. It is synced with
+the latest version of PM-QA everytime a new release is made.
+Android.mk makefiles are used to build the test suite - there is one in
+each sub-directory.
+
+[1] https://wiki.linaro.org/WorkingGroups/PowerManagement/Resources/TestSuite/P…
--
1.9.1
****************
Team Work Logged
****************
# tyler-baker Progress #
* LAVA-1317 - lava-dispatcher maintenance
* LAVA-1981 - Basic integration of D02 (21.43%)
* Having issues with the networking interface in UEFI. Essentially it works about 1/3 of the time. Stakeholders respun me a new BIOS to try. Still have not been able to get it reflashed.
* LAVA-1511 - Upstream Kernel CI
* LAVA-1524 - ARM KVM boot testing (42.86%)
* Added initial logic to testing branch of lava-ci to parse LAVA test results and create kernelci.org test json. There is a lot of duplication that will need to be factored out. Have a few questions I need answered before I can attempt to push schema to dashboard.
* LAVA-1511 - Upstream Kernel CI
* LAVA-1978 - kselftest improvements (35.71%)
* Patchset cleaned up and submitted to list. Initial feedback was received, will need to tweak the x86 test makefile changes. Waiting for more comments before spinning a new change set.
# stylesen Progress #
* LAVA-1317 - lava-dispatcher maintenance
* LAVA-1414 - LC: Linaro login integration with LAVA (100.0%)
* Code and documentation patch up for review.
# milo Progress #
* LAVA-1511 - Upstream Kernel CI
* LAVA-1556 - [frontend] Implement RSS view for website pages (37.5%)
* Added first implementation of a daily RSS feed for all available builds. More work will be needed if we want that feed to be machine readable.
* Merged RSS enabling code into master, without enabling it by default. More work is needed toward implementing missing views to give better RSS feed.
* LAVA-1511 - Upstream Kernel CI
* LAVA-1811 - Frontend UI improvements/requests (6.25%)
* Moved arch label in build and boot view to be more close to the defconfing value.
* LAVA-1511 - Upstream Kernel CI
* LAVA-1554 - Email notification system (56.25%)
* Added errors/warnings/mismatches summary to the text based email: sent out first tests to collect input.
* Worked on TXT template to add the full detailed logs breakdown for each defconfig.
* Cleaned up email report templates and email creation logic.
* Fixed email report subject with statuses other than fail and pass.
* Reworked how the email report subject line is created and added tests.
# stevan.radakovic Progress #
* LAVA-1536 - LAVA Server
* LAVA-1831 - Add the ability to add/modify/remove meta-data for existing bundles (57.89%)
* Resolve problem with migration timeout. Implement rest of GUI.
* Implement cornercase scenarios.
* LAVA-1429 - Dispatcher Refactoring
* LAVA-1929 - Export a set of variables on the DUT (42.11%)
* Second iteration of code review fixes. Refactor pipeline classes.
# neil.williams(a)linaro.org Progress #
* LAVA-1429 - Dispatcher Refactoring
* LAVA-2014 - Fix looping support for pipeline devices (15.79%)
* LAVA-1429 - Dispatcher Refactoring
* LAVA-1806 - Port VMGroup support as secondary connections (84.21%)
****************
Team In-Progress
****************
# dean.arnold(a)linaro.org Plan #
* LAVA-1966 - Bug-1409
# georgy.redkozubov(a)linaro.org Plan #
* LAVA-1777 - Create lava-test-shell helpers for performance collection
# milo.casagrande(a)linaro.org Plan #
* LAVA-1554 - Email notification system
* LAVA-1920 - Backend improvements
* LAVA-2003 - Study and implement a boot trigger API
# neil.williams(a)linaro.org Plan #
* LAVA-1853 - Ensure VMgroup operations use a clean environment
* LAVA-1987 - Update docs on hacking sessions
* LAVA-1806 - Port VMGroup support as secondary connections
# senthil.kumaran(a)linaro.org Plan #
* LAVA-1976 - 5044
* LAVA-1948 - migratre-user script for lava ldap migration
* LAVA-2006 - 1461
* LAVA-2018 - 1256
# stevan.radakovic(a)linaro.org Plan #
* LAVA-1929 - Export a set of variables on the DUT
# tyler.baker(a)linaro.org Plan #
* LAVA-1982 - Bug Bisection
* LAVA-1792 - Tyler's Mentoring
* LAVA-1643 - 4. Trending Builds Boots and Tests
* LAVA-1524 - ARM KVM boot testing
* LAVA-1981 - Basic integration of D02
* LAVA-2010 - Meetings
== Progress ==
* Tested and documented debian-installer on arm64 hardware (40% CARD-1722)
* Confirmed jessie D-I + hilt-integration kernel installs to HD on D01 (50% DEVPLAT-257)
* Uploaded cross-gcc-14 for jessie (RC bug) (10% DEVPLAT-220)
== Plans ==
* Test cross-gcc in experimental
* Build grub32.efi
* Test linux 4.0 on D01
Wookey
--
Principal hats: Linaro, Debian, Wookware, ARM
http://wookware.org/
== Progress ==
* Spreadtrum CI loop for tshark (40 %)
* Android 5.1 update on nexus 10 (10 %)
* Project ARA (50 %)
== Plans ==
* Project ARA
* CI loop for ZTE member build.
Regards,
Vishal