lkml.org 
[lkml]   [2012]   [Apr]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH 06/16] sched: SCHED_DEADLINE push and pull logic
    From
    On Wed, Apr 11, 2012 at 10:10 PM, Steven Rostedt <rostedt@goodmis.org> wrote:
    > On Fri, 2012-04-06 at 21:39 +0800, Hillf Danton wrote:
    >
    >> > +static void inc_dl_migration(struct sched_dl_entity *dl_se, struct dl_rq *dl_rq)
    >> > +{
    >> > +       dl_rq = &rq_of_dl_rq(dl_rq)->dl;
    >> > +
    >> > +       dl_rq->dl_nr_total++;
    >> > +       if (dl_se->nr_cpus_allowed > 1)
    >> > +               dl_rq->dl_nr_migratory++;
    >> > +
    >> > +       update_dl_migration(dl_rq);
    >>
    >>       if (dl_se->nr_cpus_allowed > 1) {
    >>               dl_rq->dl_nr_migratory++;
    >>               /* No change in migratory, no update of migration */
    >
    > This is not true. As dl_nr_total changed. If there was only one dl task
    > queued that can migrate, and then another dl task is queued but this
    > task can not migrate, the update_dl_migration still needs to be called.
    > As dl_nr_migratory would be 1, but now dl_nr_total > 1. This means we
    > are now overloaded.
    >
    if (2 == dl_nr_migratory + dl_nr_total)
    rq was not overloaded;

    after enqueuing a deadline task that is not migratory,

    if (current task is not preempted)
    rq remains not overloaded;

    else if (current task is not pushed out) {
    if (rq is not overloaded)
    maintenance of overloaded is __corrupted__;
    }

    btw, same behavior in RTS?
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2012-04-12 14:31    [W:4.056 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site