aboutsummaryrefslogtreecommitdiffstats
path: root/native/include/edf/baruah.h
blob: f6f921768a2aa05048078298b503d5614ad4ed07 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef BARUAH_H
#define BARUAH_H

class BaruahGedf : public SchedulabilityTest
{

private:
    unsigned int m;

    bool is_task_schedulable(unsigned int k,
                             const TaskSet &ts,
                             const integral_t &ilen,
                             integral_t &i1,
                             integral_t &sum,
                             integral_t *idiff,
                             integral_t **ptr);

    void get_max_test_points(const TaskSet &ts, fractional_t& m_minus_u,
                             integral_t* maxp);

public:
    BaruahGedf(unsigned int num_processors) : m(num_processors) {};

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

    static const double MAX_RUNTIME;
};

#endif