VirtualBox

Changeset 8023 in vbox for trunk/src/VBox/Runtime


Ignore:
Timestamp:
Apr 16, 2008 10:55:49 AM (17 years ago)
Author:
vboxsync
Message:

solaris mp: Explicitly disable/enable preemption, fix for r29671.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/r0drv/solaris/mp-r0drv-solaris.c

    r8013 r8023  
    153153    Args.cHits = 0;
    154154
     155    kpreempt_disable();
     156
    155157    CPUSET_ALL(Set);
    156     xc_call((uintptr_t)&Args, 0, 0, X_CALL_LOPRI, Set, rtmpOnAllSolarisWrapper);
     158    xc_call((uintptr_t)&Args, 0, 0, X_CALL_HIPRI, Set, rtmpOnAllSolarisWrapper);
     159
     160    kpreempt_enable();
    157161
    158162    return VINF_SUCCESS;
     
    194198    Args.cHits = 0;
    195199
     200    kpreempt_disable();
     201
    196202    CPUSET_ALL_BUT(Set, Args.idCpu);
    197     xc_call((uintptr_t)&Args, 0, 0, X_CALL_LOPRI, Set, rtmpOnOthersSolarisWrapper);
     203    xc_call((uintptr_t)&Args, 0, 0, X_CALL_HIPRI, Set, rtmpOnOthersSolarisWrapper);
     204
     205    kpreempt_enable();
    198206
    199207    return VINF_SUCCESS;
     
    240248    Args.cHits = 0;
    241249
     250    kpreempt_disable();
     251
    242252    CPUSET_ZERO(Set);
    243253    CPUSET_ADD(Set, idCpu);
    244254
    245     xc_call((uintptr_t)&Args, 0, 0, X_CALL_LOPRI, Set, rtmpOnSpecificSolarisWrapper);
     255    xc_call((uintptr_t)&Args, 0, 0, X_CALL_HIPRI, Set, rtmpOnSpecificSolarisWrapper);
     256
     257    kpreempt_enable();
     258
    246259    Assert(ASMAtomicUoReadU32(&Args.cHits) <= 1);
    247260
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