Motr  M0
io_sched.c File Reference
#include "lib/trace.h"
#include "be/io_sched.h"
#include "lib/ext.h"
#include "be/op.h"
#include "be/io.h"
#include "motr/magic.h"
#include "stob/io.h"
Include dependency graph for io_sched.c:

Go to the source code of this file.

Macros

#define M0_TRACE_SUBSYSTEM   M0_TRACE_SUBSYS_BE
 

Functions

 M0_TL_DESCR_DEFINE (sched_io, "be log scheduler IOs", static, struct m0_be_io, bio_sched_link, bio_sched_magic, M0_BE_IO_SCHED_MAGIC, M0_BE_IO_SCHED_HEAD_MAGIC)
 
 M0_TL_DEFINE (sched_io, static, struct m0_be_io)
 
M0_INTERNAL int m0_be_io_sched_init (struct m0_be_io_sched *sched, struct m0_be_io_sched_cfg *cfg)
 
M0_INTERNAL void m0_be_io_sched_fini (struct m0_be_io_sched *sched)
 
M0_INTERNAL void m0_be_io_sched_lock (struct m0_be_io_sched *sched)
 
M0_INTERNAL void m0_be_io_sched_unlock (struct m0_be_io_sched *sched)
 
M0_INTERNAL bool m0_be_io_sched_is_locked (struct m0_be_io_sched *sched)
 
static bool be_io_sched_invariant (struct m0_be_io_sched *sched)
 
static void be_io_sched_launch_next (struct m0_be_io_sched *sched)
 
static void be_io_sched_launch_next_locked (struct m0_be_io_sched *sched)
 
static void be_io_sched_cb (struct m0_be_op *op, void *param)
 
static void be_io_sched_insert (struct m0_be_io_sched *sched, struct m0_be_io *io)
 
M0_INTERNAL void m0_be_io_sched_add (struct m0_be_io_sched *sched, struct m0_be_io *io, struct m0_ext *ext, struct m0_be_op *op)