ck_fifo: Get rid of load_depends usage for now.

Until a target pops up with a requirement for load_depends(),
the cost is not worth it for now.
ck_pring
Samy Al Bahra 12 years ago
parent b7d258b219
commit 7d3fd9d227

@ -142,7 +142,6 @@ ck_fifo_spsc_dequeue(struct ck_fifo_spsc *fifo, void *value)
return (false); return (false);
/* If entry is visible, guarantee store to value is visible. */ /* If entry is visible, guarantee store to value is visible. */
ck_pr_fence_load_depends();
ck_pr_store_ptr(value, entry->value); ck_pr_store_ptr(value, entry->value);
ck_pr_fence_store(); ck_pr_fence_store();
ck_pr_store_ptr(&fifo->head, entry); ck_pr_store_ptr(&fifo->head, entry);
@ -244,7 +243,6 @@ ck_fifo_mpmc_enqueue(struct ck_fifo_mpmc *fifo,
tail.generation = ck_pr_load_ptr(&fifo->tail.generation); tail.generation = ck_pr_load_ptr(&fifo->tail.generation);
ck_pr_fence_load(); ck_pr_fence_load();
tail.pointer = ck_pr_load_ptr(&fifo->tail.pointer); tail.pointer = ck_pr_load_ptr(&fifo->tail.pointer);
ck_pr_fence_load_depends();
next.generation = ck_pr_load_ptr(&tail.pointer->next.generation); next.generation = ck_pr_load_ptr(&tail.pointer->next.generation);
next.pointer = ck_pr_load_ptr(&tail.pointer->next.pointer); next.pointer = ck_pr_load_ptr(&tail.pointer->next.pointer);
@ -296,7 +294,6 @@ ck_fifo_mpmc_tryenqueue(struct ck_fifo_mpmc *fifo,
tail.generation = ck_pr_load_ptr(&fifo->tail.generation); tail.generation = ck_pr_load_ptr(&fifo->tail.generation);
ck_pr_fence_load(); ck_pr_fence_load();
tail.pointer = ck_pr_load_ptr(&fifo->tail.pointer); tail.pointer = ck_pr_load_ptr(&fifo->tail.pointer);
ck_pr_fence_load_depends();
next.generation = ck_pr_load_ptr(&tail.pointer->next.generation); next.generation = ck_pr_load_ptr(&tail.pointer->next.generation);
next.pointer = ck_pr_load_ptr(&tail.pointer->next.pointer); next.pointer = ck_pr_load_ptr(&tail.pointer->next.pointer);

Loading…
Cancel
Save