Motr  M0
io_sched.c File Reference
#include "lib/trace.h"
#include "be/io_sched.h"
#include "lib/memory.h"
#include "lib/time.h"
#include "lib/atomic.h"
#include "lib/semaphore.h"
#include "be/op.h"
#include "be/io.h"
#include "ut/ut.h"
#include "ut/threads.h"
#include "ut/stob.h"
#include "stob/stob.h"
Include dependency graph for io_sched.c:

Go to the source code of this file.

Data Structures

struct  be_ut_io_sched_io_state
 
struct  be_ut_io_sched_test
 

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_UT
 

Enumerations

enum  {
  BE_UT_IO_SCHED_THREAD_NR = 0x10, BE_UT_IO_SCHED_IO_NR = 0x10, BE_UT_IO_SCHED_ADD_NR = 0x400, BE_UT_IO_SCHED_IO_OFFSET_MAX = 0x10000,
  BE_UT_IO_SCHED_EXT_SIZE_MAX = 0xdf3
}
 
enum  be_ut_io_sched_io_op { BE_UT_IO_SCHED_IO_START, BE_UT_IO_SCHED_IO_FINISH }
 

Functions

static void be_ut_io_sched_io_ready_add (struct be_ut_io_sched_test *test, struct m0_be_io *bio, struct m0_be_op *op)
 
static void be_ut_io_sched_io_ready_get (struct be_ut_io_sched_test *test, struct m0_be_io **bio, struct m0_be_op **op)
 
static void be_ut_io_sched_io_state_add (struct be_ut_io_sched_test *test, struct be_ut_io_sched_io_state *state)
 
static void be_ut_io_sched_io_completion_cb (struct m0_be_op *op, void *param)
 
static void be_ut_io_sched_io_start_cb (struct m0_be_op *op, void *param)
 
static void be_ut_io_sched_thread (void *param)
 
static void be_ut_io_sched_states_check (struct be_ut_io_sched_io_state *states, int states_nr, struct m0_atomic64 *states_pos)
 
 M0_UT_THREADS_DEFINE (be_ut_io_sched, &be_ut_io_sched_thread)
 
void m0_be_ut_io_sched (void)
 

Variables

static struct m0_be_io_sched be_ut_io_sched_scheduler