Multi-core Hash Joins
Main-memory hash join implementations for multi-core CPUs
Classes | Typedefs | Functions
Task Queue Implementation

Classes

struct  task_t
 
struct  task_list_t
 
struct  task_queue_t
 

Typedefs

typedef struct task_t task_t
 
typedef struct task_list_t task_list_t
 
typedef struct task_queue_t task_queue_t
 

Functions

task_tget_next_task (task_queue_t *tq) __attribute__((always_inline))
 
void add_tasks (task_queue_t *tq, task_t *t) __attribute__((always_inline))
 
task_ttask_queue_get_atomic (task_queue_t *tq) __attribute__((always_inline))
 
void task_queue_add_atomic (task_queue_t *tq, task_t *t) __attribute__((always_inline))
 
void task_queue_add (task_queue_t *tq, task_t *t) __attribute__((always_inline))
 
void task_queue_copy_atomic (task_queue_t *tq, task_t *t) __attribute__((always_inline))
 
task_ttask_queue_get_slot_atomic (task_queue_t *tq) __attribute__((always_inline))
 
task_ttask_queue_get_slot (task_queue_t *tq) __attribute__((always_inline))
 
task_queue_ttask_queue_init (int alloc_size)
 
void task_queue_free (task_queue_t *tq)
 

Detailed Description

Typedef Documentation

◆ task_list_t

typedef struct task_list_t task_list_t

Definition at line 24 of file task_queue.h.

◆ task_queue_t

typedef struct task_queue_t task_queue_t

Definition at line 25 of file task_queue.h.

◆ task_t

typedef struct task_t task_t

Definition at line 23 of file task_queue.h.

Function Documentation

◆ add_tasks()

void add_tasks ( task_queue_t tq,
task_t t 
)
inline

Definition at line 76 of file task_queue.h.

◆ get_next_task()

task_t * get_next_task ( task_queue_t tq)
inline

Definition at line 60 of file task_queue.h.

◆ task_queue_add()

void task_queue_add ( task_queue_t tq,
task_t t 
)
inline

Definition at line 153 of file task_queue.h.

◆ task_queue_add_atomic()

void task_queue_add_atomic ( task_queue_t tq,
task_t t 
)
inline

Definition at line 141 of file task_queue.h.

◆ task_queue_copy_atomic()

void task_queue_copy_atomic ( task_queue_t tq,
task_t t 
)
inline

Definition at line 231 of file task_queue.h.

◆ task_queue_free()

void task_queue_free ( task_queue_t tq)

Definition at line 293 of file task_queue.h.

◆ task_queue_get_atomic()

task_t * task_queue_get_atomic ( task_queue_t tq)
inline

Definition at line 125 of file task_queue.h.

◆ task_queue_get_slot()

task_t * task_queue_get_slot ( task_queue_t tq)
inline

Definition at line 242 of file task_queue.h.

◆ task_queue_get_slot_atomic()

task_t * task_queue_get_slot_atomic ( task_queue_t tq)
inline

Definition at line 265 of file task_queue.h.

◆ task_queue_init()

task_queue_t * task_queue_init ( int  alloc_size)

Definition at line 276 of file task_queue.h.