VirtualBox

Changeset 72639 in vbox for trunk/src/VBox/VMM/VMMR0


Ignore:
Timestamp:
Jun 21, 2018 1:51:44 PM (6 years ago)
Author:
vboxsync
Message:

IPRT,VMM: Try use KeShouldYieldProcessor to implement RTThreadPreemptIsPending on Windows. That'll save us a lot of pain with changing _KPRCB structures. bugref:5102

Location:
trunk/src/VBox/VMM/VMMR0
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp

    r72636 r72639  
    41674167
    41684168    /*
    4169      * We disable interrupts so that we don't miss any interrupts that would flag preemption (IPI/timers etc.)
    4170      * when thread-context hooks aren't used and we've been running with preemption disabled for a while.
     4169     * We disable interrupts so that we don't miss any interrupts that would flag
     4170     * preemption (IPI/timers etc.) when thread-context hooks aren't used and we've
     4171     * been running with preemption disabled for a while.  Since this is purly to aid
     4172     * the RTThreadPreemptIsPending code, it doesn't matter that it may temporarily
     4173     * reenable and disable interrupt on NT.
    41714174     *
    41724175     * We need to check for force-flags that could've possible been altered since we last checked them (e.g.
     
    42744277
    42754278    /*
    4276      * We disable interrupts so that we don't miss any interrupts that would flag preemption (IPI/timers etc.)
    4277      * when thread-context hooks aren't used and we've been running with preemption disabled for a while.
     4279     * We disable interrupts so that we don't miss any interrupts that would flag
     4280     * preemption (IPI/timers etc.) when thread-context hooks aren't used and we've
     4281     * been running with preemption disabled for a while.  Since this is purly to aid
     4282     * the RTThreadPreemptIsPending code, it doesn't matter that it may temporarily
     4283     * reenable and disable interrupt on NT.
    42784284     *
    42794285     * We need to check for force-flags that could've possible been altered since we last checked them (e.g.
  • trunk/src/VBox/VMM/VMMR0/HMVMXR0.cpp

    r72636 r72639  
    90359035
    90369036    /*
    9037      * We disable interrupts so that we don't miss any interrupts that would flag preemption (IPI/timers etc.)
    9038      * when thread-context hooks aren't used and we've been running with preemption disabled for a while.
     9037     * We disable interrupts so that we don't miss any interrupts that would flag
     9038     * preemption (IPI/timers etc.) when thread-context hooks aren't used and we've
     9039     * been running with preemption disabled for a while.  Since this is purly to aid
     9040     * the RTThreadPreemptIsPending code, it doesn't matter that it may temporarily
     9041     * reenable and disable interrupt on NT.
    90399042     *
    90409043     * We need to check for force-flags that could've possible been altered since we last checked them (e.g.
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