ck_epoch: Read-side latency improvements on x86.

ck_pring
Samy Al Bahra 11 years ago
parent cad7b53273
commit ad5e00cfb9

@ -100,8 +100,15 @@ ck_epoch_begin(ck_epoch_t *epoch, ck_epoch_record_t *record)
* For this reason, store to load serialization is necessary. * For this reason, store to load serialization is necessary.
*/ */
ck_pr_store_uint(&record->epoch, g_epoch); ck_pr_store_uint(&record->epoch, g_epoch);
#if defined(__x86__) || defined(__x86_64__)
ck_pr_fas_uint(&record->active, 1);
ck_pr_fence_atomic_load();
#else
ck_pr_store_uint(&record->active, 1); ck_pr_store_uint(&record->active, 1);
ck_pr_fence_store_load(); ck_pr_fence_store_load();
#endif
return; return;
} }

Loading…
Cancel
Save