|
|
@ -88,13 +88,7 @@ read_thread(void *unused CK_CC_UNUSED)
|
|
|
|
unsigned int j;
|
|
|
|
unsigned int j;
|
|
|
|
ck_epoch_record_t record CK_CC_CACHELINE;
|
|
|
|
ck_epoch_record_t record CK_CC_CACHELINE;
|
|
|
|
ck_stack_entry_t *cursor;
|
|
|
|
ck_stack_entry_t *cursor;
|
|
|
|
|
|
|
|
ck_stack_entry_t *n;
|
|
|
|
/*
|
|
|
|
|
|
|
|
* This is redundant post-incremented in order to silence some
|
|
|
|
|
|
|
|
* irrelevant GCC warnings. It is volatile in order to prevent
|
|
|
|
|
|
|
|
* elimination.
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
volatile ck_stack_entry_t *n;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ck_epoch_register(&stack_epoch, &record);
|
|
|
|
ck_epoch_register(&stack_epoch, &record);
|
|
|
|
|
|
|
|
|
|
|
@ -121,9 +115,7 @@ read_thread(void *unused CK_CC_UNUSED)
|
|
|
|
continue;
|
|
|
|
continue;
|
|
|
|
|
|
|
|
|
|
|
|
n = CK_STACK_NEXT(cursor);
|
|
|
|
n = CK_STACK_NEXT(cursor);
|
|
|
|
|
|
|
|
j += ck_pr_load_ptr(&n) != NULL;
|
|
|
|
/* Force n use. */
|
|
|
|
|
|
|
|
j += ((uintptr_t)(void *)n & 0) + 1;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
ck_epoch_end(&stack_epoch, &record);
|
|
|
|
ck_epoch_end(&stack_epoch, &record);
|
|
|
|
|
|
|
|
|
|
|
|