* Amitayu Das <amitayudas@xxxxxxxxx> [2006-05-03 13:40]:
> Hi,
>
> Thanks for the reply. Please find answers to your questions embedded below.
>
> On 5/3/06, Ryan Harper <ryanh@xxxxxxxxxx> wrote:
> >
> >* Amitayu Das <amitayudas@xxxxxxxxx> [2006-05-03 00:49]:
> >
> >> 2. Say, I'm readjusting the slice lengths of running domains. While
> >doing
> >> that, I make a mistake by having sum of the slice-lengths higher than
> >> period-length. In such cases, what does Xen actually do? I did not find
> >> sanity-checking code for such cases in xen/common/sched_sedf.c. Please
> >let
> >> me know in case it's not there, why so or it's there, only I did not
> >find
> >> it.
> >
> >For time-driven domains, versus weighted domains in sched_sedf.c:1407
> >
> > /*
> > * Sanity checking: note that disabling extra weight requires
> > * that we set a non-zero slice.
> > */
> > if ( (cmd->u.sedf.period > PERIOD_MAX) ||
> > (cmd->u.sedf.period < PERIOD_MIN) ||
> > (cmd->u.sedf.slice > cmd->u.sedf.period) ||
> > (cmd->u.sedf.slice < SLICE_MIN) )
> > return -EINVAL;
> >
> >period has bounds, slice cannot be greater than period, and slice cannot
> >be smaller than SLICE_MIN. For any of these cases, the command will not
> >succeed. You also might be interested in looking at
> >tools/xm-test/tests/sedf which has some simple sedf scheduler tests.
>
>
> I talked about one situation with one example. Say, by default (Xen 3.0.1)
> Dom0's time-slice is 15 ms within period of 20 ms. Now I create two DomU's
> and then I specify their slice-lengths (assuming that I can do that, which
> is not the case as I'm going to discuss w.r.t. point # 3 in my last mail.
> I'll come to that later) as 15 ms each (specifying a period length of 100ms
> or 0.1s). Now, see my mistake. Dom0 will be getting 75 ms out of every 100
> ms and I'm left with 25 ms only; however, I've specified the slice-length as
> 15 ms for each domain (or any value higher than 12.5 ms, so to say). Please
> let me know if sanity checking for this kind of situation are there in Xen
> and if there are, please let me know the location. Now please look into the
> point # 3 below.
I see. AFAIK, other than through setting weights, sedf scheduler does
not check aggregate period/slice for all domains.
> >> 3. I tried to modify/readjust the slice/period length (or weights) for
> >> domains from command prompt. However, I found out that changes are
> >> immaterial after first attempt. That is, no matter what changes I made
> >at
> >> second or third or fourth time, they are not actually taking place.
> >Only,
> >> the changes made during the first attempt actually took place. Please
> >let me
> >> know if this is a bug in the existing code or I should have done the
> >things
> >> in a different manner.
> >
> >Could you supply the xm sched-sedf commands and values you used?
>
>
> I forgot to mention that I faced problems while changing the (slice, period)
> pair muiltiple times for any domain. I did not have any problem in
> changing/setting weight values for domains. However, examples of commands
> used by me for changing (slice,period) pairs are as below:
> (I'm trying to set (2, 20) for VM with id 2 and (3,20) for VM with id 3,
> avoiding situations as mentioned in point # 2 above):
>
> xm sched-sedf 2 2000000 20000000 0 0 0
> xm sched-sedf 3 3000000 20000000 0 0 0
Those commands don't work because you need to specify what those values mean:
[root@x460-3 ~]# xm help sched-sedf
sched-sedf [DOM] [OPTIONS] Show|Set simple EDF parameters
-p, --period Relative deadline(ms).
-s, --slice Worst-case execution time(ms)
(slice < period).
-l, --latency scaled period(ms) in case the domain
is doing heavy I/O.
-e, --extra flag (0/1) which controls whether the
domain can run in extra-time
-w, --weight mutually exclusive with period/slice and
specifies another way of setting a domain's
cpu period/slice.
You probably want:
xm sched-sedf 2 -p 20 -s 20.0
xm sched-sedf 3 -p 30 -s 30.0
I don't have any problems setting slice/period multiple times:
[root@x460-3 ~]# xm sched-sedf 2
Name ID Period(ms) Slice(ms) Lat(ms) Extra Weight
dom2 2 50.0 50.0 0.0 1 0
[root@x460-3 ~]# xm sched-sedf 2 -p 20.0 -s 20.0
[root@x460-3 ~]# xm sched-sedf 2
Name ID Period(ms) Slice(ms) Lat(ms) Extra Weight
dom2 2 20.0 20.0 0.0 1 0
[root@x460-3 ~]# xm sched-sedf 3 -p 30.0 -s 30.0
[root@x460-3 ~]# xm sched-sedf
Name ID Period(ms) Slice(ms) Lat(ms) Extra Weight
Domain-0 0 20.0 15.0 0.0 1 0
dom1 1 100.0 0.0 0.0 1 0
dom10 10 100.0 0.0 0.0 1 0
dom11 11 100.0 0.0 0.0 1 0
dom12 12 100.0 0.0 0.0 1 0
dom14 14 100.0 0.0 0.0 1 0
dom15 15 100.0 0.0 0.0 1 0
dom2 2 20.0 20.0 0.0 1 0
dom3 3 30.0 30.0 0.0 1 0
dom4 4 100.0 0.0 0.0 1 0
dom5 5 100.0 0.0 0.0 1 0
dom6 6 100.0 0.0 0.0 1 0
dom7 7 100.0 0.0 0.0 1 0
dom8 8 100.0 0.0 0.0 1 0
dom9 9 100.0 0.0 0.0 1 0
[root@x460-3 ~]# xm sched-sedf 2 -p 100.0 -s 50.0
[root@x460-3 ~]# xm sched-sedf 2
Name ID Period(ms) Slice(ms) Lat(ms) Extra Weight
dom2 2 100.0 50.0 0.0 1 0
>
> These commands did not work even repeated multiple times or repeated with
> different other values for the pair. The way we checked that is using a
> program given by Diwaker
> (please check
> http://lists.xensource.com/archives/html/xen-users/2006-01/msg01228.html
> ).
The program looks fine, but xm sched-sedf <dom> displays same the information.
--
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
(512) 838-9253 T/L: 678-9253
ryanh@xxxxxxxxxx
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|