@@ -34,6 +34,7 @@ check:
@(cd thermal; $(MAKE) check)
# @(cd powertop; $(MAKE) check)
@(cd cputopology; $(MAKE) check)
+ @(cd nohz; $(MAKE) check)
uncheck:
@(cd cpufreq; $(MAKE) uncheck)
@@ -41,6 +42,7 @@ uncheck:
@(cd cpuidle; $(MAKE) uncheck)
# @(cd suspend; $(MAKE) uncheck)
@(cd thermal; $(MAKE) uncheck)
+ @(cd nohz; $(MAKE) uncheck)
recheck: uncheck check
new file mode 100644
@@ -0,0 +1,25 @@
+#
+# PM-QA validation test suite for the power management on Linux
+#
+# Copyright (C) 2014, 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:
+# Sanjay Singh Rawat <sanjay.rawat@linaro.org> (LG Electronics)
+# - initial API and implementation
+#
+
+include ../Test.mk
new file mode 100755
@@ -0,0 +1,64 @@
+#!/bin/bash
+#
+# PM-QA validation test suite for the power management on Linux
+#
+# Copyright (C) 2014, 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:
+# Sanjay Singh Rawat <sanjay.rawat@linaro.org> (LG Electronics)
+# - initial API and implementation
+#
+
+# URL : https://wiki.linaro.org/WorkingGroups/PowerManagement/Resources/TestSuite/PmQaSpecification#nohz_01
+
+source ../include/functions.sh
+
+check_cpu_nohz_interrupt() {
+ local cpu=$1
+ local cpuid=${cpu:3}
+ local ints=
+ local inte=
+ local i=
+ local diff=
+
+ i=$(cat /proc/interrupts | grep time | wc -l)
+ if [ $i -ne 1 ]; then
+ echo "warning: multiple entry for timer interrupt :" $i
+ exit 1
+ fi
+
+ if [ "$cpu" == "cpu0" ]; then
+ return 0
+ fi
+
+ cpuid=$((cpuid+2))
+ ints=$(cat /proc/interrupts | grep time | awk -v c=$cpuid '{ print $c }')
+ sleep 3
+ inte=$(cat /proc/interrupts | grep time | awk -v c=$cpuid '{ print $c }')
+
+ #echo $cpu "interrupts before" $ints "after" $inte
+ diff=$((inte-ints))
+
+ if [ $diff -eq 0 ]; then
+ echo $cpu "in NOHZ"
+ else
+ echo $cpu "not in NOHZ"
+ fi
+}
+
+for_each_cpu check_cpu_nohz_interrupt
+test_status_show
new file mode 100644
@@ -0,0 +1 @@
+check each cpu is in nohz mode (wait 3 seconds for timer interrupt)
check for the timer interrupt raised on cpu for duration of 3 seconds and report the mode Signed-off-by: Sanjay Singh Rawat <sanjay.rawat@linaro.org> --- Makefile | 2 ++ nohz/Makefile | 25 +++++++++++++++++++++ nohz/nohz_01.sh | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ nohz/nohz_01.txt | 1 + 4 files changed, 92 insertions(+) create mode 100644 nohz/Makefile create mode 100755 nohz/nohz_01.sh create mode 100644 nohz/nohz_01.txt