Lines 284-294
Link Here
|
284 |
{ |
284 |
{ |
285 |
/* Fire the function on all other CPUs without waiting for completion. */ |
285 |
/* Fire the function on all other CPUs without waiting for completion. */ |
286 |
# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) |
286 |
# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) |
287 |
int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */); |
287 |
smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */); |
288 |
# else |
288 |
# else |
289 |
int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* retry */, 0 /* wait */); |
289 |
int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* retry */, 0 /* wait */); |
290 |
# endif |
|
|
291 |
Assert(!rc); NOREF(rc); |
290 |
Assert(!rc); NOREF(rc); |
|
|
291 |
# endif |
292 |
} |
292 |
} |
293 |
#endif |
293 |
#endif |
294 |
|
294 |
|
Lines 326-332
Link Here
|
326 |
{ |
326 |
{ |
327 |
#ifdef CONFIG_SMP |
327 |
#ifdef CONFIG_SMP |
328 |
IPRT_LINUX_SAVE_EFL_AC(); |
328 |
IPRT_LINUX_SAVE_EFL_AC(); |
329 |
int rc; |
|
|
330 |
RTMPARGS Args; |
329 |
RTMPARGS Args; |
331 |
|
330 |
|
332 |
RTTHREADPREEMPTSTATE PreemptState = RTTHREADPREEMPTSTATE_INITIALIZER; |
331 |
RTTHREADPREEMPTSTATE PreemptState = RTTHREADPREEMPTSTATE_INITIALIZER; |
Lines 338-350
Link Here
|
338 |
|
337 |
|
339 |
RTThreadPreemptDisable(&PreemptState); |
338 |
RTThreadPreemptDisable(&PreemptState); |
340 |
# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) |
339 |
# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) |
341 |
rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */); |
340 |
smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */); |
342 |
# else /* older kernels */ |
341 |
# else /* older kernels */ |
|
|
342 |
int rc; |
343 |
rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */); |
343 |
rc = smp_call_function(rtmpLinuxWrapper, &Args, 0 /* retry */, 1 /* wait */); |
|
|
344 |
Assert(rc == 0); NOREF(rc); |
344 |
# endif /* older kernels */ |
345 |
# endif /* older kernels */ |
345 |
RTThreadPreemptRestore(&PreemptState); |
346 |
RTThreadPreemptRestore(&PreemptState); |
346 |
|
347 |
|
347 |
Assert(rc == 0); NOREF(rc); |
|
|
348 |
IPRT_LINUX_RESTORE_EFL_AC(); |
348 |
IPRT_LINUX_RESTORE_EFL_AC(); |
349 |
#else |
349 |
#else |
350 |
RT_NOREF(pfnWorker, pvUser1, pvUser2); |
350 |
RT_NOREF(pfnWorker, pvUser1, pvUser2); |