== Progress ==
* CARD 1103: upstream u-boot fastboot (CARD-1103: 100 %)
- Submitted DRA7 changes
- Worked on the changes suggested by community on DRA7
- Looking into zImage, SPI and other environment variables
== Plans ==
* upstream u-boot fastboot (CARD-1103: 100 %)
- Verify few changes on DRA7 Platform
- Work towards closing the reviews of DRA7 and other patches
== Issues ==
* None
Add test which verifies capacity calculation on arm
architecture platforms.
Since there isn't yet a similar calculation done
for arm64 platforms, this architecture isn't supported
by this test (at least as of now).
Signed-off-by: Larry Bassel <larry.bassel(a)linaro.org>
---
cputopology/cputopology_04.sh | 137 +++++++++++++++++++++++++++++++++++++++++
cputopology/cputopology_04.txt | 1 +
2 files changed, 138 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..ffef725
--- /dev/null
+++ b/cputopology/cputopology_04.sh
@@ -0,0 +1,137 @@
+#!/bin/bash
+#
+# 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…
+
+source ../include/functions.sh
+
+calc_freq()
+{
+ byte1=$1
+ byte2=$2
+ byte3=$3
+ byte4=$4
+ freq=$((byte1*0x1000000+byte2*0x10000+byte3*0x100+byte4))
+}
+
+set_eff() {
+ type=$1
+
+ case $type in
+ arm,cortex-a15) eff=3891 ;;
+ arm,cortex-a7) eff=2048 ;;
+ * ) eff=1024 ;;
+ esac
+}
+
+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 ! [ -d /sys/firmware/devicetree/base/cpus/$dt_cpu/clock-frequency ]; then
+ log_skip "no clock frequency file present"
+ return
+ fi
+ if ! [ -d /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
+ echo "clock frequency file: $filename"
+ bytes=$(od -t u1 -A n $filename)
+ calc_freq $bytes
+ echo "clock frequency: $freq"
+ cpu_type=$(cat /sys/firmware/devicetree/base/cpus/$dt_cpu/compatible)
+ echo "cpu type: $cpu_type"
+ set_eff $cpu_type
+ echo "efficiency: $eff"
+ capacity=$((($freq>>20)*$eff))
+ echo "capacity: $capacity"
+ 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
+ echo "min capacity: $min_capacity max: $max_capacity middle: $middle_capacity"
+ done
+}
+
+cpu_num=0
+
+verify_cpu_capacity()
+{
+ for dt_cpu in $dt_cpus; do
+ if ! [ -d /sys/firmware/devicetree/base/cpus/$dt_cpu/clock-frequency ]; then
+ log_skip "no clock frequency file present"
+ return
+ fi
+ if ! [ -d /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
+ echo "clock frequency file: $filename"
+ bytes=$(od -t u1 -A n $filename)
+ calc_freq $bytes
+ echo "frequency: $freq"
+ cpu_type=$(cat /sys/firmware/devicetree/base/cpus/$dt_cpu/compatible)
+ echo "cpu type: $cpu_type"
+ set_eff $cpu_type
+ echo "efficiency: $eff"
+ 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..36647db
--- /dev/null
+++ b/cputopology/cputopology_04.txt
@@ -0,0 +1 @@
+test capacity calculation
--
1.8.3.2
****************
Team Work Logged
****************
# tyler-baker Progress #
* LAVA-1429 - Dispatcher Refactoring
* LAVA-1643 - 4. Trending Builds Boots and Tests (16.0%)
* Improvements to lava-ci were pushed.
New platforms supported:
* minnowboard-max
* armada-370-mirabox
Added retry logic for file upload.
Fixed boot retries and board instance parameters.
* LAVA-1317 - lava-dispatcher maintenance
* LAVA-1880 - Dynamic Fastboot Partitions (32.0%)
* Tested FVP and Arndale devices, a few changes where needed to support the new schema. Risk is low that these features will show regressions as they have been thoroughly tested. Documentation has been started to explain the updated schema. WIP Documentation and HiKey integration.
* LAVA-1608 - General Team Items
* LAVA-1792 - Tyler's Mentoring (8.0%)
* A couple of meetings with LNG staff to hash out some x86 CI issue. Resolved all issues.
* LAVA-1317 - lava-dispatcher maintenance
* LAVA-1906 - HiKey Integration (32.0%)
* Having some issues power cycling the board and getting into fastboot mode. The kernel is complaining about a USB related error 'error from flowcontrol urb'. Investigation is on going. I've tested deployment of a the debian image when I manage to get it into fastboot mode. Up next will be Android deployment.
* LAVA-1511 - Upstream Kernel CI
* LAVA-1907 - Basic Toolchain CI (12.0%)
* Reporting latest version of the Linux kernel vs two compilers to tcwg list. 14.09 is the last released compiler, where as 15.02 is the development compiler.
http://kernelci.org/boot/all/job/tbaker/kernel/v4.0-rc2-150-g6587457+gcc-li…http://kernelci.org/boot/all/job/tbaker/kernel/v4.0-rc2-150-g6587457+gcc-li…
# milo Progress #
* LAVA-1511 - Upstream Kernel CI
* LAVA-1811 - Frontend UI improvements/requests (47.06%)
* Created basic graphs for job pass/fail trend and for boot time trends.
* LAVA-1511 - Upstream Kernel CI
* LAVA-1896 - Add kernel tests support (52.94%)
* Defined first version of the test schema to collect test results.
* Completed first draft of kernelci tests JSON schema.
* Started working on tests API implementation: the test_suite API is almost done.
# remi.duraffort(a)st.com Progress #
* LAVA-1608 - General Team Items
* LAVA-1611 - Remi's Bugs (6.25%)
* Tracking down a Pipeline bug
* LAVA-1429 - Dispatcher Refactoring
* LAVA-1784 - New device configuration (75.0%)
* Using Jinja2 template to generate device configuration
* Implementing generation of device configuration
* Testing error reporting
* LAVA-1429 - Dispatcher Refactoring
* LAVA-1871 - Dispatcher Master-Slave protocol (18.75%)
* Reviewing my own code and removing the need for the END signal retries.
# neil.williams(a)linaro.org Progress #
* LAVA-1429 - Dispatcher Refactoring
* LAVA-1394 - DF: LAVA server integration (100.0%)
****************
Team In-Progress
****************
# georgy.redkozubov(a)linaro.org Plan #
* LAVA-1777 - Create lava-test-shell helpers for performance collection
* LAVA-1778 - Update documentation
# milo.casagrande(a)linaro.org Plan #
* LAVA-1651 - Health monitoring for components
* LAVA-1889 - Simplify and reuse JS library for graph support
* LAVA-1554 - Email notification system
* LAVA-1897 - Define tests JSON schema
* LAVA-1896 - Add kernel tests support
* LAVA-1908 - Implement tests API
# neil.williams(a)linaro.org Plan #
* LAVA-1853 - Ensure VMgroup operations use a clean environment
* LAVA-1865 - Separate process to update templates in-situ
* LAVA-1888 - Submission validation checks on incoming YAML
* LAVA-1437 - Key value stores for device dictionary and job pipeline
* LAVA-1806 - Port VMGroup support as secondary connections
# remi.duraffort(a)linaro.org Plan #
* LAVA-1755 - ST boards support
* LAVA-1784 - New device configuration
* LAVA-1436 - YAML description display support
# senthil.kumaran(a)linaro.org Plan #
* LAVA-1414 - LC: Linaro login integration with LAVA
* LAVA-1900 - 1244
* LAVA-1879 - 4641
* LAVA-1901 - LXC device in LAVA
* LAVA-1903 - Implement legacy LXC device type
* LAVA-1902 - LXC container literature study
* LAVA-1905 - Sample Job definitions
* LAVA-1904 - Initial documentation for LXC device type
# stevan.radakovic(a)linaro.org Plan #
* LAVA-1831 - Add the ability to add/modify/remove meta-data for existing bundles
* LAVA-1734 - 909
* LAVA-1629 - 808
* LAVA-1394 - DF: LAVA server integration
# tyler.baker(a)linaro.org Plan #
* LAVA-1524 - ARM KVM boot testing
* LAVA-1907 - Basic Toolchain CI
* LAVA-1906 - HiKey Integration
* LAVA-1792 - Tyler's Mentoring
* LAVA-1643 - 4. Trending Builds Boots and Tests
== Progress ==
* Worked around Lava/Xen serial brokenness (40%)
* Building Xen binary cleaned and moved to configs.git (DEVPLAT-329 20%)
* Testing Uefi/KVM on 96boards (30%)
* Help on Aarch64 optimizing (DEVPLAT-277 10%)
== Plans ==
* Help on Aarch64 optimizing DEVPLAT-277
* Move linux-xen to configs.git (DEVPLAT-329 20%)
* Arm32 guests on Arm64 for kvm DEVPLAT-322