Hello Martin,
On 07/10/2015 03:44 PM, Martin Stein wrote:
Hey Adrian,
On 10.07.2015 14:37, Adrian-Ken Rueegsegger wrote:
Sorry for the inaccurate wording which I tried to clarify in the follow-up email. It works for me on QEMU but the cpu_quota run script does not complete if I run it on real hardware (Lenovo T430s). There I see that the results are logged and "done" messages appear but the analysis of the results is never performed so I do not see a "Test succeeded" nor "Test failed" message.
Ah ok. Have you propagated the serial output to the run tool somehow? If
Sorry, I wrongfully assumed that the evaluation of the results from the log was done by the test binary on the host, which is obviously not the case. However, after wiring up the log output to the script using AMT, I get the following results:
[init -> init_2 -> test_fast] quota super period 1000000 [init -> init_2 -> test_fast] quota 599975 [init -> init_2 -> test_fast] counter A 2264346538 [init -> init_2 -> test_fast] counter B 3664974879 [init -> init_2 -> test_fast] done [init -> init_2 -> test_midl] quota super period 1000000 [init -> init_2 -> test_midl] quota 199981 [init -> init_2 -> test_midl] counter A 2867295315 [init -> init_2 -> test_midl] counter B 306787595 [init -> init_2 -> test_midl] done [init -> init_1 -> test_slow] quota super period 1000000 [init -> init_1 -> test_slow] quota 49987 [init -> init_1 -> test_slow] counter A 1458851167 [init -> init_1 -> test_slow] counter B 1609324261 [init -> init_1 -> test_slow] done Bad: Slow counter A received 11.986 % CPU (goal 4.75 %) Bad: Slow counter B received 13.222 % CPU (goal 5.25 %) Bad: Middle counter A received 23.557 % CPU (goal 9.625 %) Bad: Middle counter B received 2.521 % CPU (goal 15.375 %) Bad: Fast counter A received 18.604 % CPU (goal 22.625 %) Bad: Fast counter B received 30.111 % CPU (goal 42.375 %) Test failed because of 6 errors
I ran the scenario for hw_x86_64 multiple times and the results are consistent with only very minor variance for Middle counter B (2.521% vs. 2.496%) and Fast counter B (30.111% vs 30.136%). The Genode version used is 4b7b440... and the hardware a Lenovo T430s. In QEMU the same scenario completes successfully:
[init -> init_2 -> test_fast] quota super period 1000000 [init -> init_2 -> test_fast] quota 599975 [init -> init_2 -> test_fast] counter A 32250924 [init -> init_2 -> test_fast] counter B 61848263 [init -> init_2 -> test_fast] done [init -> init_2 -> test_midl] quota super period 1000000 [init -> init_2 -> test_midl] quota 199981 [init -> init_2 -> test_midl] counter A 13401918 [init -> init_2 -> test_midl] counter B 22814749 [init -> init_2 -> test_midl] done [init -> init_1 -> test_slow] quota super period 1000000 [init -> init_1 -> test_slow] quota 49987 [init -> init_1 -> test_slow] counter A 6808621 [init -> init_1 -> test_slow] counter B 7609956 [init -> init_1 -> test_slow] done Good: Slow counter A received 4.704 % CPU (goal 4.75 %) Good: Slow counter B received 5.258 % CPU (goal 5.25 %) Good: Middle counter A received 9.26 % CPU (goal 9.625 %) Good: Middle counter B received 15.763 % CPU (goal 15.375 %) Good: Fast counter A received 22.283 % CPU (goal 22.625 %) Good: Fast counter B received 42.732 % CPU (goal 42.375 %) Test succeeded
Do you have an idea why the effective numbers on hardware would be so far off the mark from the assigned quota numbers?
Regards, Adrian