All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dario Faggioli <dario.faggioli@citrix.com>
To: Josh Whitehead <josh.whitehead@dornerworks.com>
Cc: Ian Campbell <ian.campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	George Dunlap <george.dunlap@eu.citrix.com>,
	Ian Jackson <ian.jackson@eu.citrix.com>,
	Robert VanVossen <robert.vanvossen@dornerworks.com>,
	Xen-devel <xen-devel@lists.xen.org>,
	Nate Studer <nate.studer@gmail.com>
Subject: Re: [RFC PATCH 1/4] Implement cbs algorithm, remove extra queues, latency scaling, and weight support from sedf
Date: Tue, 17 Jun 2014 17:43:45 +0200	[thread overview]
Message-ID: <1403019825.16864.176.camel@Solace> (raw)
In-Reply-To: <1402689488-3577-2-git-send-email-josh.whitehead@dornerworks.com>


[-- Attachment #1.1: Type: text/plain, Size: 3582 bytes --]

Again about patch splitting.

In this patch you are killing a lot of things, which I agree about
killing. But then you also add what's required to implement the CBS
algorithm. That is really really really really hard to review.

It's probably not possible to come down to a patch with only '-', but
still I think this patch should at least be split in two. :-)

In one (the first) you remove all the stuff we won't to be part of the
algorithm any longer, like the extraqueue, the weight, the latency, that
super-ugly thing it does at vcpu wakeup time, etc.

In the other (the second) you implement the CBS algorithm on top of
what's remaining.

While doing this, be careful that, in order to avoid bisectability of
the tree, the code base must always compile, even with only the first
patch, in the above example. Given how OSSTEST (and it's bisector)
works, I think it's best if you can confirm that, whatever patch you've
got on top, the system boots.

On ven, 2014-06-13 at 15:58 -0400, Josh Whitehead wrote:
> ---
>
So, empty changelog.

I guess this is because it's an RFC, so, yeah, no big deal, especially
considering you really did a great job in the cover letter.

However, I really recommend to put something up there, even for very
early revisions.

Oh, BTW, even if you really don't want to put any description or
changelog of any sort (which you really should, though), we at least
need the 'Signed-off-by:' thing.

> diff --git a/xen/common/sched_sedf.c b/xen/common/sched_sedf.c
> index 0c9011a..2ee4538 100644
> --- a/xen/common/sched_sedf.c
> +++ b/xen/common/sched_sedf.c

> @@ -58,24 +50,14 @@ struct sedf_priv_info {
>  struct sedf_vcpu_info {
>      struct vcpu *vcpu;
>      struct list_head list;
> -    struct list_head extralist[2];
>   
>      /* Parameters for EDF */
>      s_time_t  period;  /* = relative deadline */
>      s_time_t  slice;   /* = worst case execution time */
> - 
> -    /* Advaced Parameters */
> +    /* Note: Server bandwidth = (slice / period) */
>  
> -    /* Latency Scaling */
> -    s_time_t  period_orig;
> -    s_time_t  slice_orig;
> -    s_time_t  latency;
> - 
>      /* Status of domain */
>      int       status;
> -    /* Weights for "Scheduling for beginners/ lazy/ etc." ;) */
> -    short     weight;
> -    short     extraweight;
>
About these (so weight and related, latency and related), this is where
I, _FOR_NOW_, would put a bunch of /* TODOs */, with some explanation of
what's going on.

If it were me doing this, I would, most likely:
 1. leave the parameters alone here
 2. temporarily kill any handling and usage of them in the rest of the  
    file
 3. stick a TODO right here explaining 2.
 4. once the support and handling of the parameters will be back, come 
    back here, and remove the TODO

Of course, 4 depends on what we decide to do with 'weight' and
'latency'... which is one more reason to keep this in stand-by, but make
sure this does not stop further development.

Also, I'd say the series should remain an RFC, until the TODOs are gone.

As I said, it's very hard to review the patch like this... Let me know
if you agree in splitting it, in which case, I'd rather have a look at
that version when it'll be ready.

Regards,
Dario

-- 
<<This happens because I choose it to happen!>> (Raistlin Majere)
-----------------------------------------------------------------
Dario Faggioli, Ph.D, http://about.me/dario.faggioli
Senior Software Engineer, Citrix Systems R&D Ltd., Cambridge (UK)


[-- Attachment #1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2014-06-17 15:43 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-13 19:58 [RFC PATCH 0/4] Repurpose SEDF Scheduler for Real-time use Josh Whitehead
2014-06-13 19:58 ` [RFC PATCH 1/4] Implement cbs algorithm, remove extra queues, latency scaling, and weight support from sedf Josh Whitehead
2014-06-17 15:43   ` Dario Faggioli [this message]
2014-06-26 20:17     ` Joshua Whitehead
2014-06-28  2:19       ` Dario Faggioli
2014-06-17 16:06   ` Dario Faggioli
2014-06-26 20:18     ` Joshua Whitehead
2014-06-28  2:27       ` Dario Faggioli
2014-06-13 19:58 ` [RFC PATCH 2/4] Add cbs parameter support to xl tool stack, remove defunct sedf parameters Josh Whitehead
2014-06-17 15:02   ` Dario Faggioli
2014-06-26 19:55     ` Joshua Whitehead
2014-06-13 19:58 ` [RFC PATCH 3/4] Updated comments/variables to reflect cbs, fixed formatting and confusing comments/variables Josh Whitehead
2014-06-16  9:33   ` Jan Beulich
2014-06-16 15:29     ` George Dunlap
2014-06-17 16:11       ` Dario Faggioli
2014-06-17 17:28         ` Dario Faggioli
2014-06-25 20:13           ` Meng Xu
2014-06-26 21:24           ` Joshua Whitehead
2014-06-28  2:13             ` Dario Faggioli
2014-06-18 11:18         ` George Dunlap
2014-06-26 21:30           ` Joshua Whitehead
2014-06-26 21:23         ` Joshua Whitehead
2014-06-28  2:09           ` Dario Faggioli
2014-06-13 19:58 ` [RFC PATCH 4/4] Changed filenames with sedf to cbs to reflect the actual scheduler Josh Whitehead
2014-06-16  7:25 ` [RFC PATCH 0/4] Repurpose SEDF Scheduler for Real-time use Dario Faggioli
2014-06-17 14:44 ` Dario Faggioli
2014-06-26 19:53   ` Joshua Whitehead

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1403019825.16864.176.camel@Solace \
    --to=dario.faggioli@citrix.com \
    --cc=george.dunlap@eu.citrix.com \
    --cc=ian.campbell@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=josh.whitehead@dornerworks.com \
    --cc=nate.studer@gmail.com \
    --cc=robert.vanvossen@dornerworks.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.