lkml.org 
[lkml]   [2012]   [Apr]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [PATCH 06/16] sched: SCHED_DEADLINE push and pull logic
    From
    Date
    On Thu, 2012-04-12 at 20:28 +0800, Hillf Danton wrote:
    > 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.
    > >

    You're speaking in riddles.

    > if (2 == dl_nr_migratory + dl_nr_total)
    > rq was not overloaded;
    >
    > after enqueuing a deadline task that is not migratory,

    Now rq would be overloaded because:

    dl_nr_migratory + dl_nr_total == 3


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

    s/not//

    >
    > else if (current task is not pushed out) {
    > if (rq is not overloaded)
    > maintenance of overloaded is __corrupted__;
    > }
    >
    > btw, same behavior in RTS?

    I still don't understand what you are saying.

    I can see your scenario happening with the change you are suggesting
    though.

    -- Steve




    \
     
     \ /
      Last update: 2012-04-12 14:55    [W:0.023 / U:60.544 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site