<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hi ,</p>
<p>I am trying to run controller case cpuset_load_balance on my
Linux version 5.5.0</p>
<p> with yocto. But I got many failures :</p>
<font size="-1"><<<test_start>>><br>
tag=cpuset_load_balance stime=1580819970<br>
cmdline="cpuset_load_balance_test.sh"<br>
contacts=""<br>
analysis=exit<br>
<<<test_output>>><br>
cpuset_load_balance 1 TINFO: general group load balance test<br>
cpuset_load_balance 1 TINFO: root group info:<br>
cpuset_load_balance 1 TINFO: sched load balance: 0<br>
cpuset_load_balance 1 TINFO: general group info:<br>
cpuset_load_balance 1 TINFO: cpus: -<br>
cpuset_load_balance 1 TINFO: sched load balance: 1<br>
<b>cpuset_load_balance 1 TFAIL: load balance test failed.</b><br>
cpuset_load_balance 3 TINFO: general group load balance test<br>
cpuset_load_balance 3 TINFO: root group info:<br>
cpuset_load_balance 3 TINFO: sched load balance: 0<br>
cpuset_load_balance 3 TINFO: general group info:<br>
.......<br>
cpuset_load_balance 25 TINFO: general group2 info:<br>
cpuset_load_balance 25 TINFO: cpus: 1,3<br>
cpuset_load_balance 25 TINFO: sched load balance: 1<br>
cpuset_load_balance 25 TINFO: CPU hotplug: online<br>
smpboot: CPU 1 is now offline<br>
x86: Booting SMP configuration:<br>
smpboot: Booting Node 0 Processor 1 APIC 0x2<br>
c<b>puset_load_balance 25 TFAIL: load balance test failed.</b><br>
<<<execution_staLTP: starting cpuset_hotplug
(cpuset_hotplug_test.sh)<br>
tus>>><br>
initiation_status="ok"<br>
duration=410 termination_type=exited termination_id=1 corefile=no<br>
cutime=251 cstime=1188<br>
<<<test_end>>></font>
<p><br>
</p>
<p>And I tried to analyse the source code for the reason, but didn't
get it. <br>
</p>
<p>That what I found with the file cpuset_load_balance_test.sh as
below:</p>
<font size="-1">general_load_balance_test1()<br>
{</font><br>
<font size="-1">........</font><font size="-1"><br>
<br>
# start to fork the child processes</font><br>
<font size="-1"><font size="-1"><b> /*</b></font><font size="-1"><b><font
size="-1"><b>(line</b>:108</font>) The fork works rightly
*/ </b></font><br>
</font><br>
<font size="-1"> /bin/kill -s SIGUSR1 $pid 2>
$CPUSET_TMP/stderr <b> </b></font><font
size="-1"><br>
if [ $? -ne 0 ]; then<br>
cpuset_log_error $CPUSET_TMP/stderr<br>
tst_resm TFAIL "send the signal to fork the child tasks "
\<br>
"failed."<br>
/bin/kill -s SIGKILL $pid<br>
return 1<br>
fi<br>
<br>
read fifo < ./myfifo<br>
if [ $fifo -ne 0 ]; then<br>
cpuset_log_error $CPUSET_TMP/cpu-hog_stderr<br>
tst_resm TFAIL "forking test tasks failed"<br>
return 1<br>
fi<br>
<br>
</font><font size="-1"> # start to run the child processes</font><br>
<font size="-1"><font size="-1"><b> /*(line:135)Something is wrong
here. After the signal sent out, the child processes all
become zombies*/</b></font></font><br>
<font size="-1"> /bin/kill -s SIGUSR1 $pid 2>
$CPUSET_TMP/stderr </font><br>
<font size="-1"> if [ $? -ne 0 ]; then</font><br>
<font size="-1"> cpuset_log_error $CPUSET_TMP/stderr</font><br>
<font size="-1"> tst_resm TFAIL "send the signal to run the
child tasks " \</font><br>
<font size="-1"> "failed."</font><br>
<font size="-1"> /bin/kill -s SIGUSR2 $pid</font><br>
<font size="-1"> return 1</font><br>
<font size="-1"> fi</font><br>
<b><font size="-1">/*(line:143) Something is wrong here. wait
returns value 1*/</font></b><br>
<font size="-1">wait $pid</font><br>
<font size="-1">...........</font><br>
}<br>
<p>Then I saw the file cpuset_cpu_hog.c for the zombies proccess
with gdb. It seems</p>
<p>cpuset_cpusetofpid func(line:190) failed. But I didn't konw more
about these cpuset</p>
<p>func.</p>
<p>Have you met problems about cpuset_load_balance like this?</p>
<p><br>
</p>
<p>Thanks!</p>
<p>Yanfei,<br>
</p>
<p><br>
</p>
</body>
</html>