Project

General

Profile

Actions

action #5830

closed

Get rid of wait_idle to improve performance on !qemu

Added by coolo over 9 years ago. Updated over 6 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Feature requests
Target version:
-
Start date:
2015-01-11
Due date:
% Done:

0%

Estimated time:

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.


Related issues 2 (0 open2 closed)

Related to openQA Tests - action #21048: [qam] test fails in tracker_search_in_nautilus - keyboard press is not reaching targetResolvedpcervinka2017-08-03

Actions
Has duplicate openQA Project - action #14410: Implement performance monitoring to svirt backend's wait_idle()Rejectedmichalnowak2016-10-25

Actions
Actions #1

Updated by RBrownSUSE over 8 years ago

  • Priority changed from Normal to High
  • Target version set to Milestone 1
Actions #2

Updated by coolo over 8 years ago

wait_idle is in the backend now - did that during hackweek

Actions #3

Updated by coolo over 8 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 ;)

Actions #4

Updated by coolo over 8 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

Actions #5

Updated by coolo over 8 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

Actions #6

Updated by coolo over 8 years ago

  • Subject changed from IPMI: wait_idle to Get rid of wait_idle to improve performance on !qemu
  • Assignee set to coolo
Actions #7

Updated by coolo about 8 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

Actions #8

Updated by coolo about 8 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.

Actions #9

Updated by michalnowak over 7 years ago

Actions #10

Updated by okurz almost 7 years ago

  • Has duplicate action #14410: Implement performance monitoring to svirt backend's wait_idle() added
Actions #11

Updated by okurz almost 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.

Actions #13

Updated by okurz over 6 years ago

PR merged, let's see what happens now :-)

Actions #14

Updated by okurz over 6 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

Actions #15

Updated by pcervinka over 6 years ago

  • Related to action #21048: [qam] test fails in tracker_search_in_nautilus - keyboard press is not reaching target added
Actions #16

Updated by okurz over 6 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.

Actions #17

Updated by okurz over 6 years ago

  • Status changed from Feedback to Resolved
Actions #18

Updated by okurz over 6 years ago

  • Status changed from Resolved to In Progress

of course we also need to delete wait_idle from the backend then

https://github.com/os-autoinst/os-autoinst/pull/838

Actions #19

Updated by okurz over 6 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.

Actions

Also available in: Atom PDF