VirtualBox

Ignore:
Timestamp:
Feb 17, 2017 1:17:17 PM (8 years ago)
Author:
vboxsync
Message:

vsheriff: check out kvm_lock_spinning guest stacks.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/ValidationKit/testmanager/batch/virtual_test_sheriff.py

    r65802 r65803  
    745745        return False;
    746746
    747     @staticmethod
    748     def extractGuestCpuStack(sInfoText):
     747    def extractGuestCpuStack(self, sInfoText):
    749748        """
    750749        Extracts the guest CPU stacks from the input file.
     
    757756        off = 0;
    758757        while True:
     758            # Find the stack.
    759759            offStart = sInfoText.find('=== start guest stack VCPU ', off);
    760760            if offStart < 0:
    761761                break;
    762762            offEnd  = sInfoText.find('=== end guest stack', offStart + 20);
    763             if offEnd < 0:
     763            if offEnd >= 0:
     764                offEnd += 3;
     765            else:
    764766                offEnd = sInfoText.find('=== start guest stack VCPU', offStart + 20);
    765                 if offEnd >= 0:
    766                     offEnd += 3;
    767                 else:
     767                if offEnd < 0:
    768768                    offEnd = len(sInfoText);
    769769
    770770            sStack = sInfoText[offStart : offEnd];
    771771            sStack = sStack.replace('\r',''); # paranoia
    772             asLines = sStack.split();
    773 
    774             # figure the CPU.
     772            asLines = sStack.split('\n');
     773
     774            # Figure the CPU.
    775775            asWords = asLines[0].split();
    776             if asWords < 6 or not asWords[6].isdigit():
     776            if len(asWords) < 6 or not asWords[5].isdigit():
    777777                break;
    778             iCpu = int(asWords[6]);
    779 
    780             # add it.
     778            iCpu = int(asWords[5]);
     779
     780            # Add it and advance.
    781781            dRet[iCpu] = [sLine.rstrip() for sLine in asLines[2:-1]]
     782            off = offEnd;
    782783        return dRet;
    783784
     
    800801                        cHits += 1;
    801802                        break;
     803            self.dprint('kvm_lock_spinning: %s/%s hits' % (cHits, len(dStacks),));
    802804            if cHits == len(dStacks):
    803805                return (True, self.ktReason_VMM_kvm_lock_spinning);
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette