ck_fifo: Remove backoff behavior by default.

ck_pring
Samy Al Bahra 13 years ago
parent e8265d8735
commit 11505f8417

@ -28,7 +28,6 @@
#ifndef _CK_FIFO_H #ifndef _CK_FIFO_H
#define _CK_FIFO_H #define _CK_FIFO_H
#include <ck_backoff.h>
#include <ck_cc.h> #include <ck_cc.h>
#include <ck_md.h> #include <ck_md.h>
#include <ck_pr.h> #include <ck_pr.h>
@ -238,7 +237,6 @@ ck_fifo_mpmc_enqueue(struct ck_fifo_mpmc *fifo,
void *value) void *value)
{ {
struct ck_fifo_mpmc_pointer tail, next, update; struct ck_fifo_mpmc_pointer tail, next, update;
ck_backoff_t backoff = CK_BACKOFF_INITIALIZER;
/* /*
* Prepare the upcoming node and make sure to commit the updates * Prepare the upcoming node and make sure to commit the updates
@ -256,10 +254,8 @@ ck_fifo_mpmc_enqueue(struct ck_fifo_mpmc *fifo,
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);
if (ck_pr_load_ptr(&fifo->tail.generation) != tail.generation) { if (ck_pr_load_ptr(&fifo->tail.generation) != tail.generation)
ck_backoff_eb(&backoff);
continue; continue;
}
if (next.pointer != NULL) { if (next.pointer != NULL) {
/* /*
@ -280,8 +276,6 @@ ck_fifo_mpmc_enqueue(struct ck_fifo_mpmc *fifo,
update.generation = next.generation + 1; update.generation = next.generation + 1;
if (ck_pr_cas_ptr_2(&tail.pointer->next, &next, &update) == true) if (ck_pr_cas_ptr_2(&tail.pointer->next, &next, &update) == true)
break; break;
ck_backoff_eb(&backoff);
} }
} }
@ -297,7 +291,6 @@ ck_fifo_mpmc_dequeue(struct ck_fifo_mpmc *fifo,
ck_fifo_mpmc_entry_t **garbage) ck_fifo_mpmc_entry_t **garbage)
{ {
struct ck_fifo_mpmc_pointer head, tail, next, update; struct ck_fifo_mpmc_pointer head, tail, next, update;
ck_backoff_t backoff = CK_BACKOFF_INITIALIZER;
for (;;) { for (;;) {
head.generation = ck_pr_load_ptr(&fifo->head.generation); head.generation = ck_pr_load_ptr(&fifo->head.generation);
@ -330,8 +323,6 @@ ck_fifo_mpmc_dequeue(struct ck_fifo_mpmc *fifo,
update.generation = head.generation + 1; update.generation = head.generation + 1;
if (ck_pr_cas_ptr_2(&fifo->head, &head, &update) == true) if (ck_pr_cas_ptr_2(&fifo->head, &head, &update) == true)
break; break;
ck_backoff_eb(&backoff);
} }
} }

Loading…
Cancel
Save