action #5830
closedGet rid of wait_idle to improve performance on !qemu
0%
Description
We need to research if the IPMI sensors give us good enough informations on how busy the machine is - otherwise a sleep needs to be enough. But even that requires refactoring as the wait_idle is not implemented in the backend - I think it should.
Updated by RBrownSUSE almost 9 years ago
- Priority changed from Normal to High
- Target version set to Milestone 1
Updated by coolo almost 9 years ago
wait_idle is in the backend now - did that during hackweek
Updated by coolo almost 9 years ago
http://blog.famzah.net/2012/02/08/power-consumption-of-a-server-with-an-intel-e3-1200-series-cpu/ - so the hardware responds to load changes. The question is if it reacts faster than in 19s ;)
Updated by coolo almost 9 years ago
in the light of all the other backends not supporting wait_idle, the agreement is to get rid of our dependency on wait_idle - and don't even try implementing it for IPMI
Updated by coolo almost 9 years ago
Trying to get rid of wait_idle dependency - step by step as it's really deep in our core by now ;(
https://github.com/os-autoinst/os-autoinst/pull/401
https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/962
Updated by coolo almost 9 years ago
- Subject changed from IPMI: wait_idle to Get rid of wait_idle to improve performance on !qemu
- Assignee set to coolo
Updated by coolo almost 9 years ago
- Priority changed from High to Normal
There are some tests left to be fixed:
testapi::wait_idle() called at /var/lib/openqa/share/tests/sle/tests/installation/welcome.pm line 28
Debug: /var/lib/openqa/share/tests/sle/tests/installation/welcome.pm:28 called testapi::wait_idle
testapi::wait_idle(10) called at /var/lib/openqa/share/tests/sle/tests/installation/installation_overview.pm line 27
Debug: /var/lib/openqa/share/tests/sle/tests/installation/installation_overview.pm:27 called testapi::wait_idle
testapi::wait_idle() called at /var/lib/openqa/share/tests/sle/tests/installation/first_boot.pm line 41
Debug: /var/lib/openqa/share/tests/sle/tests/installation/first_boot.pm:41 called testapi::wait_idle
testapi::wait_idle() called at /var/lib/openqa/share/tests/sle/tests/console/consoletest_finish.pm line 84
Debug: /var/lib/openqa/share/tests/sle/tests/console/consoletest_finish.pm:84 called testapi::wait_idle
testapi::wait_idle(5) called at /var/lib/openqa/share/tests/sle/lib/susedistribution.pm line 90
testapi::wait_idle(5) called at /var/lib/openqa/share/tests/sle/lib/susedistribution.pm line 90
testapi::wait_idle(5) called at /var/lib/openqa/share/tests/sle/lib/susedistribution.pm line 90
testapi::wait_idle(5) called at /var/lib/openqa/share/tests/sle/lib/susedistribution.pm line 90
testapi::wait_idle(5) called at /var/lib/openqa/share/tests/sle/lib/susedistribution.pm line 90
testapi::wait_idle(5) called at /var/lib/openqa/share/tests/sle/lib/susedistribution.pm line 90
testapi::wait_idle(5) called at /var/lib/openqa/share/tests/sle/lib/susedistribution.pm line 90
testapi::wait_idle(5) called at /var/lib/openqa/share/tests/sle/lib/susedistribution.pm line 90
testapi::wait_idle() called at /var/lib/openqa/share/tests/sle/tests/x11/reboot_gnome.pm line 16
Debug: /var/lib/openqa/share/tests/sle/tests/x11/reboot_gnome.pm:16 called testapi::wait_idle
testapi::wait_idle() called at /var/lib/openqa/share/tests/sle/lib/utils.pm line 67
testapi::wait_idle() called at /var/lib/openqa/share/tests/sle/lib/utils.pm line 83
testapi::wait_idle() called at /var/lib/openqa/share/tests/sle/tests/x11/desktop_mainmenu.pm line 17
Debug: /var/lib/openqa/share/tests/sle/tests/x11/desktop_mainmenu.pm:17 called testapi::wait_idle
Updated by coolo almost 9 years ago
- Assignee deleted (
coolo) - Target version deleted (
Milestone 1)
We reached an acceptable state IMO. It needs to be split into tests tasks, but somehow I don't feel it's worth it.
Updated by michalnowak about 8 years ago
On svirt backend we can perhaps use performance monitoring http://libvirt.org/docs/libvirt-appdev-guide-python/en-US/html/libvirt_application_development_guide_using_python-Guest_Domains-Monitoring.html instead of the pure sleep
.
Updated by okurz over 7 years ago
- Has duplicate action #14410: Implement performance monitoring to svirt backend's wait_idle() added
Updated by okurz over 7 years ago
- Status changed from New to In Progress
- Assignee set to okurz
So what I am doing is that during PR review of test code I remind people to not add wait_idle calls and ask if they can replace it anytime they touch code that has a wait_idle. I guess slowly we are getting there. Automatic static code checks that prevent addition of new wait_idle calls would be nice or we just try to get rid of all wait_idle calls at once the hard way, e.g. not verify everything, stuff will fail in production and we fix it then.
Updated by okurz over 7 years ago
Updated by okurz over 7 years ago
found it: https://openqa.opensuse.org/tests/459912#step/addon_products/4 does not yet show the added maintenance update repo, key 'alt-n' is pressed, the key press is ignored, the repo appears, this is detected as screen change, test fails
Updated by pcervinka over 7 years ago
- Related to action #21048: [qam] test fails in tracker_search_in_nautilus - keyboard press is not reaching target added
Updated by okurz over 7 years ago
- Status changed from In Progress to Feedback
Some more fixes with https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/3385 , merged. Let's see for some time now.
Updated by okurz over 7 years ago
- Status changed from Resolved to In Progress
of course we also need to delete wait_idle from the backend then
Updated by okurz over 7 years ago
- Status changed from In Progress to Resolved
PR was discussed and changed to not remove wait_idle but replace it by an explicit "sleep" instead and mark it properly as deprecated. That should suffice and in some years we might want to delete it then.