void prepare_clone(struct dfg_msu *msu)
Find an ID and clean up data structures for an MSU.
uint64_t compute_out_of_cut_bw(struct dfg_msu *msu, struct cut *c, const char *direction)
int set_msu_deadlines(struct to_schedule *ts, struct dedos_dfg *dfg)
int greedy_policy(struct to_schedule *ts, struct dedos_dfg *dfg)
Representation of a runtime in the DFG.
int allocate(struct to_schedule *ts)
struct dfg_msu * clone_msu(int msu_id)
Clone a msu of given ID.
int(* policy)(struct to_schedule *ts, struct dedos_dfg *dfg)
int unclone_msu(int msu_id)
Representation of a single MSU in the dfg.
int schedule_msu(struct dfg_msu *msu, struct dfg_runtime *rt, struct dfg_msu **new_msus)
Tries to place an MSU on a given runtime.
Top-level structure holding the data-flow graph.
static struct dedos_dfg * dfg
Static local copy of the DFG, so each call doesn't have to pass a copy.
int init_scheduler(const char *policy)
Interfaces for the creation and modification of the data-flow-graph and and general description of th...
int set_edges(struct to_schedule *ts, struct dedos_dfg *dfg)
int fix_all_route_ranges(struct dedos_dfg *dfg)
Representation of a thread on a runtime in the DFG.
struct dfg_thread * find_thread(struct dfg_msu *msu, struct dfg_runtime *runtime)
int place_on_runtime(struct dfg_runtime *rt, struct dfg_msu *msu)
Find a core on which to spawn a new thread for an MSU.