1 | sEDF scheduler |
---|
2 | -------------- |
---|
3 | Author: |
---|
4 | Stephan.Diestelhorst@{cl.cam.ac.uk, inf.tu-dresden.de} |
---|
5 | |
---|
6 | Overview: |
---|
7 | This scheduler provides weighted CPU sharing in an intuitive way and |
---|
8 | uses realtime-algorithms to ensure time guarantees. |
---|
9 | |
---|
10 | Usage: |
---|
11 | -add "sched=sedf" on Xen's boot command-line |
---|
12 | -create domains as usual |
---|
13 | -use "xm sched-sedf <dom-id> <period> <slice> <latency-hint> <extra> <weight>" |
---|
14 | Where: |
---|
15 | -period/slice are the normal EDF scheduling parameters in nanosecs |
---|
16 | -latency-hint is the scaled period in case the domain is doing heavy I/O |
---|
17 | (unused by the currently compiled version) |
---|
18 | -extra is a flag (0/1), which controls whether the domain can run in |
---|
19 | extra-time |
---|
20 | -weight is mutually exclusive with period/slice and specifies another |
---|
21 | way of setting a domains cpu slice |
---|
22 | |
---|
23 | Examples: |
---|
24 | normal EDF (20ms/5ms): |
---|
25 | xm sched-sedf <dom-id> 20000000 5000000 0 0 0 |
---|
26 | |
---|
27 | best-effort domains (i.e. non-realtime): |
---|
28 | xm sched-sedf <dom-id> 20000000 0 0 1 0 |
---|
29 | |
---|
30 | normal EDF (20ms/5ms) + share of extra-time: |
---|
31 | xm sched-sedf <dom-id> 20000000 5000000 0 1 0 |
---|
32 | |
---|
33 | 4 domains with weights 2:3:4:2 |
---|
34 | xm sched-sedf <d1> 0 0 0 0 2 |
---|
35 | xm sched-sedf <d2> 0 0 0 0 3 |
---|
36 | xm sched-sedf <d3> 0 0 0 0 4 |
---|
37 | xm sched-sedf <d4> 0 0 0 0 2 |
---|
38 | |
---|
39 | 1 fully-specified (10ms/3ms) domain, 3 other domains share |
---|
40 | available rest in 2:7:3 ratio: |
---|
41 | xm sched-sedf <d1> 10000000 3000000 0 0 0 |
---|
42 | xm sched-sedf <d2> 0 0 0 0 2 |
---|
43 | xm sched-sedf <d3> 0 0 0 0 7 |
---|
44 | xm sched-sedf <d4> 0 0 0 0 3 |
---|