VirtualBox

Ignore:
Timestamp:
Jul 30, 2021 12:42:39 AM (3 years ago)
Author:
vboxsync
Message:

VMM/PDMCritSectEnter: New code for dealing with VERR_INTERRUPTED in ring-0. bugref:6695

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/include/PDMInternal.h

    r90379 r90420  
    444444    /** R3 lock contention. */
    445445    STAMCOUNTER                     StatContentionR3;
     446    /** Profiling waiting on the lock (all rings). */
     447    STAMPROFILE                     StatContentionWait;
    446448    /** Profiling the time the section is locked. */
    447449    STAMPROFILEADV                  StatLocked;
     
    450452/** Pointer to private critical section data. */
    451453typedef PDMCRITSECTINT *PPDMCRITSECTINT;
     454
     455/** Special magic value set when we failed to abort entering in ring-0 due to a
     456 * timeout, interruption or pending thread termination. */
     457#define PDMCRITSECT_MAGIC_FAILED_ABORT      UINT32_C(0x0bad0326)
    452458
    453459/** Indicates that the critical section is queued for unlock.
     
    14661472    /** Number of times a critical section leave request needed to be queued for ring-3 execution. */
    14671473    STAMCOUNTER                     StatQueuedCritSectLeaves;
     1474    /** Number of times we've successfully aborted a wait in ring-0. */
     1475    STAMCOUNTER                     StatAbortedCritSectEnters;
     1476    /** Number of times we've got the critical section ownership while trying to
     1477     * abort a wait due to VERR_INTERRUPTED. */
     1478    STAMCOUNTER                     StatCritSectEntersWhileAborting;
    14681479} PDM;
    14691480AssertCompileMemberAlignment(PDM, CritSect, 8);
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