[Bug 37104] New: Infinite revert loop

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Aug 13 18:31:24 CDT 2014


https://bugs.winehq.org/show_bug.cgi?id=37104

            Bug ID: 37104
           Summary: Infinite revert loop
           Product: Wine-Testbot
           Version: unspecified
          Hardware: x86
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: unknown
          Assignee: wine-bugs at winehq.org
          Reporter: fgouget at codeweavers.com

The current task scheduling algorithm can enter into an infinite revert loop
while trying to prepare VMs for the next tasks. Assume the following settings:
    $MaxRevertingVMs = 2;
    $MaxRevertsWhileRunningVMs = 0;
    $MaxActiveVMs = 2;

Then the following sequence can play out:
    |                     Steps
VM  |  1  |  2  |  3  |  4  |  5  |  6  |  7  |  8
----+-----+-----+-----+-----+-----+-----+-----+-----
vm1 | rev | idl | off | off | rev | rev | rev | ...
vm2 | rev | rev | rev | idl | off | off | rev | ...
vm3 | off | off | rev | rev | rev | idl | off | ...

The issue happens in steps 2, 4 and 6.
The scheduler can shut down idle VMs to replace them with VMs that are more
appropriate for the upcoming tasks. This is what happens in these steps: it
decides the idle VM it just prepared is not what it wants after all, and thus
shuts it down and prepares another one.

The problem is it keeps changing its mind over and over and can never actually
start a task because there is always a reverting VM and
$MaxRevertsWhileRunningVMs = 0.

Another prerequisite for this scenario to play out is probably to have multiple
tasks have the exact same priority, so that their order is undefined. But
regardless, the scheduler should probably not be shutting down an idle VM that
has an actual 'pending' task.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list