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
