<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 23, 2022 at 10:09 PM Cyril Hrubis <<a href="mailto:chrubis@suse.cz">chrubis@suse.cz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi!<br>
> Generally, this method looks good, but maybe better to limit this<br>
> check_progress() only perform on -debug kernel?  Otherwise,<br>
<br>
I guess that it may be pretty useful on embedded systems as well. Having<br>
TCONF message with "system too slow" rather than a timeout sounds like<br>
an improvement to me.<br></blockquote><div><br></div><div><div class="gmail_default" style="font-size:small">Yes, sounds reasonable.</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> Reviewed-by: Li Wang <<a href="mailto:liwang@redhat.com" target="_blank">liwang@redhat.com</a>><br>
> <br>
> <br>
> ======= FYI ==========<br>
> I'm seeking a fair way to make a global evaluation of the test<br>
> system to reset timeout dynamically for the whole LTP.<br>
> <br>
> My original design thoughts:<br>
> <br>
>   Create the numbers of threads equal to CPUs and bind them to<br>
>   the corresponding cpu for running. Use mutex lock to sync up<br>
>   each thread launch at the same time to collect the basic data<br>
>   for their CPU. Then we can compare the CPU state under the idle or<br>
>   busy time to get a relatively stationary _value_ to measure the system<br>
>   performance.<br>
> <br>
> But so far the test method is not stable&reliable as expected.<br>
> <br>
>   // do float computing + dirty 10*pagesz memory  in a limited times<br>
>   one_unit_of_operation();<br>
> <br>
>   // count the CPU looping numbers with (type = idel, calcu)<br>
>   // and call one_unit_opertaion() in 1 sec<br>
>   cpu_1sec_looping(int type);<br>
> <br>
>   idlespeed_loops = cpu_1sec_looping(idel);<br>
>   calculate_loops = cpu_1sec_looping(calcu);<br>
>   ...<br>
>   // count the _value_ from all CPU average loops<br>
>   ratio = calculate_avg / idealspeed_avg;<br>
<br>
I'm not sure how useful this would be, I guess that the speed of<br>
different syscalls will differ quite a bit on different kernel versions.<br>
Maybe the whole system is too complex and cannot be described by<br>
something as simple as this. But I guess that we will not know unless we<br>
try.<br></blockquote><div><br></div><div class="gmail_default" style="font-size:small">That's right, after try with many times locally I realized that we probably</div><div class="gmail_default" style="font-size:small">need a general-purpose function or macro that can pass with a kind of</div><div class="gmail_default" style="font-size:small">syscall to get the performance value of it. But that needs more consideration</div><div class="gmail_default" style="font-size:small">and practice, so I add this to my long-term TODO list.</div></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Regards,<br></div><div>Li Wang<br></div></div></div></div>