public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
From: preeti <preeti@linux.vnet.ibm.com>
To: "ltp-list@lists.sourceforge.net" <ltp-list@lists.sourceforge.net>
Subject: [LTP] [RFC] cpu_hotplug: Adding a cpu hotplug stress test
Date: Tue, 17 Jul 2012 16:30:26 +0530	[thread overview]
Message-ID: <500545CA.2020208@linux.vnet.ibm.com> (raw)

Hi

The test case included is a simple case for cpu hotplug.It does offlines the cpus that are online and does an online of the offlined cpus in a loop

This stress test had failed on certain distros when the loop was run infinite times.This test is presented here for review of correctness and necessity,as this is the first attempt at contributing test cases to LTP from this end.

The test is meant to be included under the testcases/kernel/hotplug/cpu_hotplug/functional directory.

Regards
Preeti
---

# File		:	stress_cpu_hotplug.sh
# Description	:	Switches the online state of all the cpus in  a
# 			loop to test the robustness of cpu hotplug
#		:	The loop iteration of 20 is a randomly chosen number

#! /bin/bash

# Includes:
LHCS_PATH=${LHCS_PATH:-$LTPROOT/testcases/bin/cpu_hotplug}
. $LHCS_PATH/include/hotplug.fns
. $LHCS_PATH/include/testsuite.fns

setup()
{
	export TST_TOTAL=1
	export TCID="setup"
	export TST_COUNT=0

	trap "cleanup" 0
	RC=0

	return $RC

}
cleanup()
{
	set_all_cpu_state "$STATE"
}

test01()
{

	TCID="stress_cpu_hotplug"
	TST_COUNT=1
	RC=0

	NUMBER_OF_CPUS=`ls -d /sys/devices/system/cpu/cpu[0-9]* | wc -l`

	cd /sys/devices/system/cpu

	for ARRAY_INDEX in `seq 20`
	do
		for ((i=1; i < NUMBER_OF_CPUS; i++ ))
		do
			#skip the boot cpu;cannot offline it
			if [ $i -eq 0 ]
			then
				continue
			fi

        		state=`cat cpu$i/online`
		        if [ $state -eq 0 ]
        		then
				RC=online_cpu $i
        		else
                		RC=offline_cpu $i
        		fi

			if [ $RC -ne 0 ]
			then
				test_brkm TBROK NULL "stress_cpu_hotplug:
							cpu$i failed to hotplug"
				return $RC
			fi
		done

		if [ `expr $ARRAY_INDEX % 10` == 0 ]
		then
			echo "stress test successfully completed
				"$ARRAY_INDEX" times">$LTPTMP/test_file.out
		fi
	done
	test_res TPASS $LTPTMP/test_file.out "stress_cpu_hotplug:SUCCESS"
	return $RC
}

#main

RC=0
LTPTMP=${TMP}

#create output file to dump test results
touch $LTPTMP/test_file.out || RC=$?

if [ $RC -ne 0 ]
then
	test_resm TFAIL "Failed to create output file under temp directory"
	exit $RC
fi

if ! get_all_cpus >/dev/null 2>$RC;
then
	tst_brkm TCONF "system does not have required cpu hotplug support"
	exit $RC
fi

setup || exit $RC

#capture the initial state of the cpus
state=`cd /sys/devices/system/cpu/ && grep '' */online | sed -e
's/\/online//g' -e 's/\ /\n/g'`

test01 || exit $RC


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

             reply	other threads:[~2012-07-17 10:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-17 11:00 preeti [this message]
2012-07-18  3:02 ` [LTP] [RFC] cpu_hotplug: Adding a cpu hotplug stress test Wanlong Gao
2012-07-18  3:41   ` preeti
2012-07-18  3:42     ` Wanlong Gao
2012-07-18  5:41       ` preeti
2012-07-18  5:40         ` Wanlong Gao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=500545CA.2020208@linux.vnet.ibm.com \
    --to=preeti@linux.vnet.ibm.com \
    --cc=ltp-list@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox