blob: 66c9b1e31f203ecae28bee0281dfbc8eb5cd8d34 (
plain) (
tree)
|
|
#ifndef LITMUS_POLLING_RESERVATIONS_H
#define LITMUS_POLLING_RESERVATIONS_H
#include <litmus/reservation.h>
struct polling_reservation {
/* extend basic reservation */
struct reservation res;
lt_t max_budget;
lt_t period;
lt_t deadline;
lt_t offset;
};
void polling_reservation_init(struct polling_reservation *pres, int use_edf_prio,
int use_periodic_polling, lt_t budget, lt_t period, lt_t deadline, lt_t offset);
struct table_driven_reservation {
/* extend basic reservation */
struct reservation res;
lt_t major_cycle;
unsigned int next_interval;
unsigned int num_intervals;
struct lt_interval *intervals;
/* info about current scheduling slot */
struct lt_interval cur_interval;
lt_t major_cycle_start;
};
void table_driven_reservation_init(struct table_driven_reservation *tdres,
lt_t major_cycle, struct lt_interval *intervals, unsigned int num_intervals);
#endif
|