sEDF scheduler
--------------
Author:
   Stephan.Diestelhorst@{cl.cam.ac.uk, inf.tu-dresden.de}
   
Overview:
  This scheduler provides weighted CPU sharing in an intuitive way and
  uses realtime-algorithms to ensure time guarantees.

Usage:
 -add "sched=sedf" on Xen's boot command-line
 -create domains as usual
 -use "xm sched-sedf <dom-id> <period> <slice> <latency-hint> <extra> <weight>"
   Where:
     -period/slice are the normal EDF scheduling parameters in nanosecs
     -latency-hint is the scaled period in case the domain is doing heavy I/O
         (unused by the currently compiled version)
     -extra is a flag (0/1), which controls whether the domain can run in
       extra-time
     -weight is mutually exclusive with period/slice and specifies another
       way of setting a domains cpu slice

Examples:
normal EDF (20ms/5ms):
 xm sched-sedf <dom-id> 20000000 5000000 0 0 0
  
best-effort domains (i.e. non-realtime):
 xm sched-sedf <dom-id> 20000000 0 0 1 0

 normal EDF (20ms/5ms) + share of extra-time:
 xm sched-sedf <dom-id> 20000000 5000000 0 1 0
  
4 domains with weights 2:3:4:2
 xm sched-sedf <d1> 0 0 0 0 2
 xm sched-sedf <d2> 0 0 0 0 3
 xm sched-sedf <d3> 0 0 0 0 4
 xm sched-sedf <d4> 0 0 0 0 2
  
1 fully-specified (10ms/3ms) domain, 3 other domains share
available rest in 2:7:3 ratio:
 xm sched-sedf <d1> 10000000 3000000 0 0 0
 xm sched-sedf <d2> 0 0 0 0 2
 xm sched-sedf <d3> 0 0 0 0 7
 xm sched-sedf <d4> 0 0 0 0 3
