| Commit message (Collapse) | Author | Age |
... | |
|
|
|
| |
schedulers in native code and easy max lateness computation.
|
| |
|
| |
|
|
|
|
| |
(Bjoern: removed trailing whitespace and commented out code)
|
|
|
|
|
|
|
| |
1) On Linux hosts, limits.h must be included explicitly.
2) Don't try to compute the busy interval if the task system
is over-utilized.
|
|
|
|
|
|
|
|
|
|
| |
- allow arbitrary period ranges
- don't generate periods of length 0 in case of period_min=1 and logunif periods
- allow scaling of generated parameters
- avoid rounding; instead optionally use parameter quantisation
- optionally decouple period granularity from period_min
(The patch also normalises non-standard whitespace usage.)
|
|
|
|
|
| |
With very short periods, the floor operation might result in a period of 0.
This could crash quantize_params().
|
|
|
|
|
|
|
|
|
|
| |
This patch fixes two bugs in the implementation of preemption-centric interrupt accounting.
1) When using dedicated interrupt-accounting, it there is a charged of oheads.release(n) required to model the delay due to the execution of the job's own release ISR. This bug was reported by Jeremy Erickson.
2) The definition of C_pre includes a divisor of 1.0 - utick - urel, which was missing.
As a result, the impact of IRQ-related delays was somewhat underestimated.
|
|
|
|
| |
Based on Zhang and Burns (2009), "Schedulability Analysis for Real-Time Systems with EDF Scheduling", IEEE Transactions on Computers, Vol 58, No 9.
|
|
|
|
| |
This corresponds to h(t) in Zhang and Burns (2009)'s QPA paper.
|
|
|
|
|
|
| |
Otherwise, the resource model will not be copied correctly, which
can lead to wrong results if parameters are inflated to account
for overheads.
|
|
|
|
| |
This is considerably faster on my machine.
|
|
|
|
| |
It's better to crash with an assertation than to produce wrong results...
|
|
|
|
|
|
| |
- Normalize line endings.
- Introduce DEFS variable to allow user to specify definitions in .config.
- Add -Werror to avoid accumulating warnings.
|
|
|
|
|
|
| |
Use the more accurate clock under Linux when available. getrusage()
unfortunately only has a resolution of 1/HZ (i.e., one jiffie), which
is too coarse-grained in many cases.
|
| |
|
|
|
|
| |
There should be no symbol after #endif.
|
|
|
|
|
| |
Integrate task set generator by Paul Emberson, Roger Stafford, Robert
Davis, presented at WATERS 2010 workshop.
|
| |
|
| |
|
|
|
|
| |
Part of refactoring sharedres.cpp.
|
|
|
|
| |
The bound should not reflect requests executed by agents that can be preempted.
|
|
|
|
| |
Part of refactoring sharedres.cpp.
|
|
|
|
| |
Part of refactoring sharedres.cpp.
|
|
|
|
| |
Part of refactoring sharedres.cpp.
|
|
|
|
| |
Part of refactoring sharedres.cpp.
|
|
|
|
| |
Part of refactoring sharedres.cpp.
|
|
|
|
| |
Part of refactoring sharedres.cpp.
|
|
|
|
| |
Part of refactoring sharedres.cpp.
|
|
|
|
| |
Part of refactoring sharedres.cpp.
|
|
|
|
| |
Part of refactoring sharedres.cpp.
|
|
|
|
| |
Part of refactoring sharedres.cpp.
|
|
|
|
| |
Based on a patch by Bryan Ward (thanks!).
|
| |
|
|
|
|
|
|
| |
The C++ code didn't build on my system (ubuntu 11.10, gcc 4.6.1) out
of the box. Switching the order of some arguments to g++ solved the
problem.
|
|
|
|
|
|
|
| |
- Mention dependency on Swig.
- Expand the discussion of how to compile the library under Mac OS X.
- Give example .config file.
- Explain how to add the library to the Python module search path.
|
| |
|
|
|
|
|
|
| |
integral_t == integral time units
fractional_t == fractions of integral time units
This is hopefully less of an eyesore than mpq_class and mpz_class.
|
|
|
|
|
|
|
|
|
|
|
|
| |
- There are many unused parameters. This is ok, so tell gcc to ignore
them.
- The code still uses the (well-working) class ext::hash_map<>, which
will trigger deprecation warnings. Ignore this for now; the
alternatives are only available in recent C++ standard libraries.
- Disable warnings alltogether for Swig-generated code. Swig
sometimes generates meaningless self-assignments and triggers strict
aliasing and a bunch of other warnings. Let's just trust Swig that
it knows what it is doing.
|
|
|
|
|
|
| |
The Python code does not require access, so just
ignore these operators. This fixes a couple of
Swig warnings.
|
|
|
|
|
| |
Not strictly needed in this case, but it's better to follow
established safe-programming conventions. This fixes some warnings.
|
|
|
|
|
| |
There's no point in declaring pass-by-value return types to be
constant. This fixes a warning under gcc 4.2.1.
|
|
|
|
|
|
|
| |
Using SConstruct hasn't panned out. SConstruct introduces too much of
its own boilerplate code and regular makefiles are understood by more
people. Also, SConstruct needs to be installed separately, whereas GNU
Make is available virtually anywhere.
|
|
|
|
| |
This could create a floating point exception (division by zero) in edge cases.
|
|
|
|
|
| |
Give up after running for 5 seconds. This is almost never triggered, but once in a while
this should help to catch a pseudo-polynomial excursion.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
almost_worst_fit: like worst_fit, but uses second-to-worst bin.
any_fit: try each of the implemented heuristics and see if one works.
|
|
Based on the code available at http://www.cs.unc.edu/~bbb/diss,
this is a cleaned-up version of schedcat intended to serve as
the basis for all further development.
Notable improvements: more unit tests and a cleaner module structure.
|