sched_setaffinity: Check migration after decrementing in_interrupt
refs: #1180 Change-Id: I2b3fb03066812ecc802406297084977e757092fe
This commit is contained in:
committed by
Masamichi Takagi
parent
dd58d366c3
commit
c862b29d65
56
test/issues/1180/C1180.sh
Normal file
56
test/issues/1180/C1180.sh
Normal file
@ -0,0 +1,56 @@
|
||||
#!/bin/sh
|
||||
|
||||
USELTP=0
|
||||
USEOSTEST=1
|
||||
|
||||
. ../../common.sh
|
||||
|
||||
tid=001
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo ${MCEXEC} ${TESTMCK} -s sched_setaffinity -n 8 -- -p 20 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep -v "RESULT: TP failed" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
echo "*** RT_$tid: FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=002
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo ${MCEXEC} ${TESTMCK} -s sched_setaffinity -n 1 -- -p 20 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep -v "RESULT: TP failed" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
echo "*** RT_$tid: FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=003
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo ${MCEXEC} ${TESTMCK} -s sched_setaffinity -n 2 -- -p 20 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep -v "RESULT: TP failed" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
echo "*** RT_$tid: FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=004
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo ${MCEXEC} ${TESTMCK} -s sched_setaffinity -n 9 -- -p 20 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep -v "RESULT: TP failed" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
echo "*** RT_$tid: FAILED"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
tid=005
|
||||
echo "*** RT_$tid start *******************************"
|
||||
sudo ${MCEXEC} ${TESTMCK} -s sched_setaffinity -n 10 -- -p 20 2>&1 | tee ./RT_${tid}.txt
|
||||
if grep -v "RESULT: TP failed" ./RT_${tid}.txt > /dev/null 2>&1 ; then
|
||||
echo "*** RT_$tid: PASSED"
|
||||
else
|
||||
echo "*** RT_$tid: FAILED"
|
||||
fi
|
||||
echo ""
|
||||
14
test/issues/1180/Makefile
Normal file
14
test/issues/1180/Makefile
Normal file
@ -0,0 +1,14 @@
|
||||
CC = gcc
|
||||
TARGET=
|
||||
|
||||
CPPFLAGS =
|
||||
LDFLAGS =
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
test: all
|
||||
@sh ./C1180.sh
|
||||
|
||||
clean:
|
||||
rm -f $(TARGET) *.o
|
||||
|
||||
29
test/issues/1180/README
Normal file
29
test/issues/1180/README
Normal file
@ -0,0 +1,29 @@
|
||||
【Issue#1180 動作確認】
|
||||
□ テスト内容
|
||||
1. Issueで報告された再現プログラムでの確認
|
||||
RT_001: ostest_sched_setaffinity.008
|
||||
親プロセスが子プロセスに対して、子プロセスが実行中のCPUを除いたcpusetを
|
||||
指定したsched_setaffinity()を実行し、即座にマイグレートすることを確認
|
||||
|
||||
2. 既存のマイグレーション機能に影響がないことをOSTESTを用いて確認
|
||||
RT_002: ostest_sched_setaffinity.001
|
||||
自プロセスをマイグレートできることを確認
|
||||
RT_003: ostest_sched_setaffinity.002
|
||||
マイグレートした自プロセスのレジスタの値が保持されていることを確認
|
||||
RT_004: ostest_sched_setaffinity.009
|
||||
マイグレートした子プロセスのレジスタの値が保持されていることを確認
|
||||
RT_005: ostest_sched_setaffinity.010
|
||||
複数の子プロセスを同一のCPU上にマイグレートしても、
|
||||
それぞれのレジスタの値が保持されていることを確認
|
||||
|
||||
□ 実行手順
|
||||
$ make test
|
||||
|
||||
McKernelのインストール先や、OSTEST, LTPの配置場所は、
|
||||
$HOME/.mck_test_config を参照している
|
||||
.mck_test_config は、McKernelをビルドした際に生成されるmck_test_config.sample ファイルを
|
||||
$HOMEにコピーし、適宜編集する
|
||||
|
||||
□ 実行結果
|
||||
result.log 参照
|
||||
すべての項目をPASSしていることを確認
|
||||
40
test/issues/1180/result.log
Normal file
40
test/issues/1180/result.log
Normal file
@ -0,0 +1,40 @@
|
||||
*** RT_001 start *******************************
|
||||
TEST_SUITE: sched_setaffinity
|
||||
TEST_NUMBER: 8
|
||||
ARGS: -p 20
|
||||
RESULT: ok
|
||||
*** RT_001: PASSED
|
||||
|
||||
*** RT_002 start *******************************
|
||||
TEST_SUITE: sched_setaffinity
|
||||
TEST_NUMBER: 1
|
||||
ARGS: -p 20
|
||||
RESULT: ok
|
||||
*** RT_002: PASSED
|
||||
|
||||
*** RT_003 start *******************************
|
||||
TEST_SUITE: sched_setaffinity
|
||||
TEST_NUMBER: 2
|
||||
ARGS: -p 20
|
||||
==before migrate process==
|
||||
f0 = 3.140000, f1 = 42.195000, f2 = 53.849998, f3 = 909.908997
|
||||
==after migrate process==
|
||||
f0 = 3.140000, f1 = 42.195000, f2 = 53.849998, f3 = 909.908997
|
||||
RESULT: ok
|
||||
*** RT_003: PASSED
|
||||
|
||||
*** RT_004 start *******************************
|
||||
TEST_SUITE: sched_setaffinity
|
||||
TEST_NUMBER: 9
|
||||
ARGS: -p 20
|
||||
==Please check migrated child process keep datas==
|
||||
RESULT: ok
|
||||
*** RT_004: PASSED
|
||||
|
||||
*** RT_005 start *******************************
|
||||
TEST_SUITE: sched_setaffinity
|
||||
TEST_NUMBER: 10
|
||||
ARGS: -p 20
|
||||
==Please check migrated child process keep datas==
|
||||
RESULT: ok
|
||||
*** RT_005: PASSED
|
||||
Reference in New Issue
Block a user