From: Jinoh Kang jinoh.kang.kr@gmail.com
Work around slow runtime of current FlushProcessWriteBuffers() implementation on macOS.
The total iteration count becomes:
- positive half: 32768 * 1 (old) = 8192 * 4 (new) - negative half: 32768 * 1 (old) > 8192 * 1 (new) --- dlls/kernel32/tests/virtual.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/dlls/kernel32/tests/virtual.c b/dlls/kernel32/tests/virtual.c index fdc1958dc7e..a3080671df1 100644 --- a/dlls/kernel32/tests/virtual.c +++ b/dlls/kernel32/tests/virtual.c @@ -4655,7 +4655,7 @@ static LONG store_buffer_litmus_test( void (*WINAPI barrier0)(void), void (*WINA .num_slots = 64,
/* Increase if flaky, decrease if slow */ - .num_generations = 32768, + .num_generations = 8192,
.reorderings = &reorderings, }; @@ -4726,12 +4726,12 @@ static void test_FlushProcessWriteBuffers(void) */
reorderings = 0; - for (i = 0; i < 1; i++) + for (i = 0; i < 4; i++) /* run multiple times to reduce flakiness */ reorderings += store_buffer_litmus_test( compiler_barrier, compiler_barrier ); ok( reorderings, "expected write-read reordering with compiler barrier only (got %ld reorderings)\n", reorderings );
reorderings = 0; - for (i = 0; i < 1; i++) + for (i = 0; i < 1; i++) /* TODO: FlushProcessWriteBuffers() is slow on macOS */ reorderings = store_buffer_litmus_test( compiler_barrier, pFlushProcessWriteBuffers ); ok( !reorderings, "expected sequential consistency with FlushProcessWriteBuffers (got %ld reorderings)\n", reorderings ); }