1f08c3bdfSopenharmony_ci#! /bin/sh 2f08c3bdfSopenharmony_ci# 3f08c3bdfSopenharmony_ci# Copyright (c) International Business Machines Corp., 2001 4f08c3bdfSopenharmony_ci# Author: Nageswara R Sastry <nasastry@in.ibm.com> 5f08c3bdfSopenharmony_ci# 6f08c3bdfSopenharmony_ci# This program is free software; you can redistribute it and#or modify 7f08c3bdfSopenharmony_ci# it under the terms of the GNU General Public License as published by 8f08c3bdfSopenharmony_ci# the Free Software Foundation; either version 2 of the License, or 9f08c3bdfSopenharmony_ci# (at your option) any later version. 10f08c3bdfSopenharmony_ci# 11f08c3bdfSopenharmony_ci# This program is distributed in the hope that it will be useful, but 12f08c3bdfSopenharmony_ci# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 13f08c3bdfSopenharmony_ci# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14f08c3bdfSopenharmony_ci# for more details. 15f08c3bdfSopenharmony_ci# 16f08c3bdfSopenharmony_ci# You should have received a copy of the GNU General Public License 17f08c3bdfSopenharmony_ci# along with this program; if not, write to the Free Software Foundation, 18f08c3bdfSopenharmony_ci# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19f08c3bdfSopenharmony_ci# 20f08c3bdfSopenharmony_ci 21f08c3bdfSopenharmony_ciexport TCID="Power_Management_exclusive04" 22f08c3bdfSopenharmony_ciexport TST_TOTAL=2 23f08c3bdfSopenharmony_ci 24f08c3bdfSopenharmony_ci. test.sh 25f08c3bdfSopenharmony_ci. pm_include.sh 26f08c3bdfSopenharmony_ci 27f08c3bdfSopenharmony_ci# Checking test environment 28f08c3bdfSopenharmony_cicheck_arch 29f08c3bdfSopenharmony_ci 30f08c3bdfSopenharmony_citst_require_cmds python3 31f08c3bdfSopenharmony_ci 32f08c3bdfSopenharmony_cihyper_threaded=$(is_hyper_threaded) 33f08c3bdfSopenharmony_cimulti_socket=$(is_multi_socket) 34f08c3bdfSopenharmony_ciif [ $hyper_threaded -ne 0 -o $multi_socket -ne 0 ]; then 35f08c3bdfSopenharmony_ci tst_brkm TCONF "System is not a multi socket & hyper-threaded" 36f08c3bdfSopenharmony_cifi 37f08c3bdfSopenharmony_ci 38f08c3bdfSopenharmony_ci# Verify threads consolidation stops when sched_smt is 39f08c3bdfSopenharmony_ci# disabled in HT systems. 40f08c3bdfSopenharmony_ci# Vary only sched_smt from 1 to 0 when workload is running 41f08c3bdfSopenharmony_ci# and ensure that tasks do not consolidate to single core 42f08c3bdfSopenharmony_ci# when sched_smt is set to 0. 43f08c3bdfSopenharmony_ciif pm_cpu_consolidation.py -v -t 1; then 44f08c3bdfSopenharmony_ci tst_resm TPASS "CPU consolidation test by varying sched_smt from 1 to 0" 45f08c3bdfSopenharmony_cielse 46f08c3bdfSopenharmony_ci tst_resm TFAIL "CPU consolidation test by varying sched_smt from 1 to 0" 47f08c3bdfSopenharmony_cifi 48f08c3bdfSopenharmony_ci 49f08c3bdfSopenharmony_ci# Vary only sched_smt from 2 to 0 when workload is running 50f08c3bdfSopenharmony_ci# and ensure that tasks do not consolidate to single core 51f08c3bdfSopenharmony_ci# when sched_smt is set to 0. 52f08c3bdfSopenharmony_ciif pm_cpu_consolidation.py -v -t 2; then 53f08c3bdfSopenharmony_ci tst_resm TPASS "CPU consolidation test by varying sched_smt from 2 to 0" 54f08c3bdfSopenharmony_cielse 55f08c3bdfSopenharmony_ci tst_resm TFAIL "CPU consolidation test by varying sched_smt from 2 to 0" 56f08c3bdfSopenharmony_cifi 57f08c3bdfSopenharmony_ci 58f08c3bdfSopenharmony_citst_exit 59