On Friday 04 July 2014 09:52 AM, Amit Kucheria wrote:
On Fri, Jul 4, 2014 at 4:06 AM, Lisa Nguyen <lisa.ngu...@linaro.org> wrote:
By default, cpuhotplug does not run on cpu0. However, if
we want to allow cpuhotplug to run on cpu0, then we must
pass the parameter, hotplug_allow_cpu0=1, to make check.
Please add a Reported-by credit for Milosz here.

Signed-off-by: Lisa Nguyen <lisa.ngu...@linaro.org>
Acked-by: Amit Kucheria <amit.kuche...@linaro.org>

Please apply this to the PM-QA git tree to allow  Milosz to take it for a spin.

thanks, applied to master branch

Regards,
Amit

---
Changes from v3 to v4:
- Remove =~ symbol and rewrote test condition in
check_cpuhotplug_files() function

Changes from v2 to v3:
- Renamed is_cpu0_allowed() function to is_cpu0_hotplug_allowed()
- Removed $cpu parameter from is_cpu0_allowed function()
- Modified test condition in check_cpuhotplug_files() function

Changes from v1 to v2:
- Rename the parameter from hotplug_cpu_start to hotplug_allow_cpu0
- Add is_cpu0_allowed() function to check if we want to start running
test scripts from cpu0..cpuN
---
  Makefile                    |    4 ++--
  cpuhotplug/Makefile         |    2 +-
  cpuhotplug/cpuhotplug_02.sh |    2 +-
  cpuhotplug/cpuhotplug_03.sh |    2 +-
  cpuhotplug/cpuhotplug_04.sh |    2 +-
  cpuhotplug/cpuhotplug_05.sh |    2 +-
  cpuhotplug/cpuhotplug_06.sh |    2 +-
  cpuhotplug/cpuhotplug_07.sh |    2 +-
  cpuhotplug/cpuhotplug_08.sh |    6 +++++-
  include/functions.sh        |   20 ++++++++++++++++----
  10 files changed, 30 insertions(+), 14 deletions(-)

diff --git a/Makefile b/Makefile
index 731619d..d76deb7 100644
--- a/Makefile
+++ b/Makefile
@@ -21,14 +21,14 @@
  #     Torez Smith <torez.sm...@linaro.org> (IBM Corporation)
  #       - initial API and implementation
  #
-
+hotplug_allow_cpu0?=0
  all:
         @(cd utils; $(MAKE))

  check:
         @(cd utils; $(MAKE) check)
         @(cd cpufreq; $(MAKE) check)
-       @(cd cpuhotplug; $(MAKE) check)
+       @(cd cpuhotplug; $(MAKE) hotplug_allow_cpu0=${hotplug_allow_cpu0} check)
         @(cd cpuidle; $(MAKE) check)
  #      @(cd suspend; $(MAKE) check)
         @(cd thermal; $(MAKE) check)
diff --git a/cpuhotplug/Makefile b/cpuhotplug/Makefile
index df0b8f4..6ee600d 100644
--- a/cpuhotplug/Makefile
+++ b/cpuhotplug/Makefile
@@ -21,5 +21,5 @@
  #     Daniel Lezcano <daniel.lezc...@linaro.org> (IBM Corporation)
  #       - initial API and implementation
  #
-
+export hotplug_allow_cpu0?=0
  include ../Test.mk
diff --git a/cpuhotplug/cpuhotplug_02.sh b/cpuhotplug/cpuhotplug_02.sh
index 3157307..d2bb5b4 100755
--- a/cpuhotplug/cpuhotplug_02.sh
+++ b/cpuhotplug/cpuhotplug_02.sh
@@ -34,7 +34,7 @@ check_state() {
      shift 1

      if [ "$cpu" == "cpu0" ]; then
-       return 0
+       is_cpu0_hotplug_allowed $hotplug_allow_cpu0 || return 0
      fi

      set_offline $cpu
diff --git a/cpuhotplug/cpuhotplug_03.sh b/cpuhotplug/cpuhotplug_03.sh
index 13a0ce9..2a5ae48 100755
--- a/cpuhotplug/cpuhotplug_03.sh
+++ b/cpuhotplug/cpuhotplug_03.sh
@@ -34,7 +34,7 @@ check_affinity_fails() {
      local ret=

      if [ "$cpu" == "cpu0" ]; then
-       return 0
+       is_cpu0_hotplug_allowed $hotplug_allow_cpu0 || return 0
      fi

      set_offline $cpu
diff --git a/cpuhotplug/cpuhotplug_04.sh b/cpuhotplug/cpuhotplug_04.sh
index 394a512..7938e7d 100755
--- a/cpuhotplug/cpuhotplug_04.sh
+++ b/cpuhotplug/cpuhotplug_04.sh
@@ -37,7 +37,7 @@ check_task_migrate() {
      local ret=

      if [ "$cpu" == "cpu0" ]; then
-       return 0
+       is_cpu0_hotplug_allowed $hotplug_allow_cpu0 || return 0
      fi

      taskset 0x$cpumask $CPUBURN $cpu &
diff --git a/cpuhotplug/cpuhotplug_05.sh b/cpuhotplug/cpuhotplug_05.sh
index a8eb312..4042f2c 100755
--- a/cpuhotplug/cpuhotplug_05.sh
+++ b/cpuhotplug/cpuhotplug_05.sh
@@ -33,7 +33,7 @@ check_procinfo() {
      local ret=

      if [ "$cpu" == "cpu0" ]; then
-       return 0
+       is_cpu0_hotplug_allowed $hotplug_allow_cpu0 || return 0
      fi

      set_offline $cpu
diff --git a/cpuhotplug/cpuhotplug_06.sh b/cpuhotplug/cpuhotplug_06.sh
index 347906d..0461e37 100755
--- a/cpuhotplug/cpuhotplug_06.sh
+++ b/cpuhotplug/cpuhotplug_06.sh
@@ -33,7 +33,7 @@ check_procinfo() {
      local ret=

      if [ "$cpu" == "cpu0" ]; then
-       return 0
+       is_cpu0_hotplug_allowed $hotplug_allow_cpu0 || return 0
      fi

      set_offline $cpu
diff --git a/cpuhotplug/cpuhotplug_07.sh b/cpuhotplug/cpuhotplug_07.sh
index eaeba77..a3526be 100755
--- a/cpuhotplug/cpuhotplug_07.sh
+++ b/cpuhotplug/cpuhotplug_07.sh
@@ -35,7 +35,7 @@ check_notification() {
      local ret=

      if [ "$cpu" == "cpu0" ]; then
-       return 0
+       is_cpu0_hotplug_allowed $hotplug_allow_cpu0 || return 0
      fi

      # damn ! udevadm is buffering the output, we have to use a temp file
diff --git a/cpuhotplug/cpuhotplug_08.sh b/cpuhotplug/cpuhotplug_08.sh
index 9e2c355..00315a4 100755
--- a/cpuhotplug/cpuhotplug_08.sh
+++ b/cpuhotplug/cpuhotplug_08.sh
@@ -28,7 +28,11 @@
  source ../include/functions.sh

  function randomize() {
-    echo $[ ( $RANDOM % $1 )  + 1 ]
+    if [ $hotplug_allow_cpu0 -eq 0 ]; then
+       echo $[ ( $RANDOM % $1 )  + 1 ]
+    else
+       echo $[ ( $RANDOM % $1 ) ]
+    fi
  }

  random_stress() {
diff --git a/include/functions.sh b/include/functions.sh
index 6d75e34..dd716ef 100644
--- a/include/functions.sh
+++ b/include/functions.sh
@@ -285,10 +285,12 @@ check_cpuhotplug_files() {
      shift 1

      for i in $@; do
-        # skip check for cpu0
-        if [ `echo $dirpath | grep -c "cpu0"` -eq 1 ]; then
-            continue
-        fi
+       if [ `echo $dirpath | grep -c "cpu0"` -eq 1 ]; then
+               if [ $hotplug_allow_cpu0 -eq 0 ]; then
+                       continue
+               fi
+       fi
+
         check_file $i $dirpath || return 1
      done

@@ -372,3 +374,13 @@ is_root() {
      fi
      return $ret
  }
+
+is_cpu0_hotplug_allowed() {
+    local status=$1
+
+    if [ $status -eq 1 ]; then
+       return 0
+    else
+       return 1
+    fi
+}
--
1.7.9.5


--
sanjay


_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to