Changeset 57322 in vbox
- Timestamp:
- Aug 13, 2015 1:22:09 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r0drv/linux/spinlock-r0drv-linux.c
r57276 r57322 132 132 AssertMsg(pThis && pThis->u32Magic == RTSPINLOCK_MAGIC, 133 133 ("pThis=%p u32Magic=%08x\n", pThis, pThis ? (int)pThis->u32Magic : 0)); 134 IPRT_LINUX_SAVE_EFL_AC(); 134 135 135 136 #ifdef CONFIG_PROVE_LOCKING … … 143 144 } 144 145 else 145 {146 IPRT_LINUX_SAVE_EFL_AC();147 146 spin_lock(&pThis->Spinlock); 148 IPRT_LINUX_RESTORE_EFL_ONLY_AC();149 }150 147 #ifdef CONFIG_PROVE_LOCKING 151 148 lockdep_on(); 152 149 #endif 153 150 151 IPRT_LINUX_RESTORE_EFL_ONLY_AC(); 154 152 RT_ASSERT_PREEMPT_CPUID_SPIN_ACQUIRED(pThis); 155 153 } … … 164 162 ("pThis=%p u32Magic=%08x\n", pThis, pThis ? (int)pThis->u32Magic : 0)); 165 163 RT_ASSERT_PREEMPT_CPUID_SPIN_RELEASE(pThis); 164 IPRT_LINUX_SAVE_EFL_AC(); /* spin_unlock* may preempt and trash eflags.ac. */ 166 165 167 166 #ifdef CONFIG_PROVE_LOCKING … … 175 174 } 176 175 else 177 {178 IPRT_LINUX_SAVE_EFL_AC();179 176 spin_unlock(&pThis->Spinlock); 180 IPRT_LINUX_RESTORE_EFL_ONLY_AC();181 }182 177 #ifdef CONFIG_PROVE_LOCKING 183 178 lockdep_on(); 184 179 #endif 185 180 181 IPRT_LINUX_RESTORE_EFL_ONLY_AC(); 186 182 RT_ASSERT_PREEMPT_CPUID(); 187 183 }
Note:
See TracChangeset
for help on using the changeset viewer.