Motr  M0
tx_bulk.c File Reference
#include "lib/trace.h"
#include "be/tx_bulk.h"
#include "lib/memory.h"
#include "lib/locality.h"
#include "lib/chan.h"
#include "lib/errno.h"
#include "be/tx.h"
#include "be/domain.h"
#include "sm/sm.h"
Include dependency graph for tx_bulk.c:

Go to the source code of this file.

Data Structures

struct  be_tx_bulk_item
 
struct  be_tx_bulk_worker
 

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_BE
 
#define BTBI_F
 
#define BTBI_P(btbi)
 

Enumerations

enum  { BE_TX_BULK_WORKER_MAX = 0x40 }
 

Functions

static void be_tx_bulk_finish_cb (struct m0_sm_group *grp, struct m0_sm_ast *ast)
 
static void be_tx_bulk_queue_get_cb (struct m0_sm_group *grp, struct m0_sm_ast *ast)
 
static void be_tx_bulk_init_cb (struct m0_sm_group *grp, struct m0_sm_ast *ast)
 
static bool be_tx_bulk_open_cb (struct m0_clink *clink)
 
static void be_tx_bulk_close_cb (struct m0_sm_group *grp, struct m0_sm_ast *ast)
 
static void be_tx_bulk_gc_cb (struct m0_be_tx *tx, void *param)
 
static void be_tx_bulk_queue_get_done_cb (struct m0_be_op *op, void *param)
 
M0_INTERNAL int m0_be_tx_bulk_init (struct m0_be_tx_bulk *tb, struct m0_be_tx_bulk_cfg *tb_cfg)
 
M0_INTERNAL void m0_be_tx_bulk_fini (struct m0_be_tx_bulk *tb)
 
static void be_tx_bulk_lock (struct m0_be_tx_bulk *tb)
 
static void be_tx_bulk_unlock (struct m0_be_tx_bulk *tb)
 
static void be_tx_bulk_queues_drain (struct m0_be_tx_bulk *tb)
 
static void be_tx_bulk_open (struct be_tx_bulk_worker *worker, struct m0_be_tx_credit *cred, m0_bcount_t cred_payload)
 
M0_INTERNAL void m0_be_tx_bulk_run (struct m0_be_tx_bulk *tb, struct m0_be_op *op)
 
M0_INTERNAL bool m0_be_tx_bulk_put (struct m0_be_tx_bulk *tb, struct m0_be_op *op, struct m0_be_tx_credit *credit, m0_bcount_t payload_credit, uint64_t partition, void *user)
 
M0_INTERNAL void m0_be_tx_bulk_end (struct m0_be_tx_bulk *tb)
 
M0_INTERNAL int m0_be_tx_bulk_status (struct m0_be_tx_bulk *tb)
 

Variables

enum { ... }  M0_XCA_DOMAIN