aboutsummaryrefslogtreecommitdiffstats
path: root/native/include/edf/bcl_iterative.h
blob: c5ee62091caa1c4ccd97fa82fd18f7e99650814f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef BCL_ITERATIVE_H
#define BCL_ITERATIVE_H

class BCLIterativeGedf : public SchedulabilityTest
{

 private:
    unsigned int m;
    unsigned int max_rounds;

    bool slack_update(unsigned int k, const TaskSet &ts,
                      unsigned long *slack, bool &ok);

 public:
    BCLIterativeGedf(unsigned int num_processors, unsigned int max_rounds = 0)
        : m(num_processors), max_rounds(max_rounds) {};

    bool is_schedulable(const TaskSet &ts, bool check_preconditions = true);
};

#endif