linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Wanpeng Li <kernellwp@gmail.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	kvm <kvm@vger.kernel.org>, Wanpeng Li <wanpeng.li@hotmail.com>,
	Ingo Molnar <mingo@redhat.com>, Juri Lelli <juri.lelli@arm.com>,
	Luca Abeni <luca.abeni@unitn.it>,
	Frederic Weisbecker <fweisbec@gmail.com>
Subject: Re: [PATCH v3] sched/deadline: Fix the intention to re-evalute tick dependency for offline cpu
Date: Fri, 19 Aug 2016 21:56:59 +0800	[thread overview]
Message-ID: <CANRm+Cz3_MOd=obPC5CK7rckLeS2ODyBxSffxr21ts=xqyKX5w@mail.gmail.com> (raw)
In-Reply-To: <20160819132549.GG10121@twins.programming.kicks-ass.net>

2016-08-19 21:25 GMT+08:00 Peter Zijlstra <peterz@infradead.org>:
> On Fri, Aug 12, 2016 at 05:24:03PM +0800, Wanpeng Li wrote:
>
>> diff --git a/kernel/sched/deadline.c b/kernel/sched/deadline.c
>> index d091f4a..ce0fb00 100644
>> --- a/kernel/sched/deadline.c
>> +++ b/kernel/sched/deadline.c
>> @@ -641,6 +641,11 @@ static enum hrtimer_restart dl_task_timer(struct hrtimer *timer)
>>               goto unlock;
>>       }
>>
>> +#ifdef CONFIG_SMP
>> +     if (unlikely(!rq->online))
>> +             goto offline;
>> +#endif
>> +
>>       enqueue_task_dl(rq, p, ENQUEUE_REPLENISH);
>>       if (dl_task(rq->curr))
>>               check_preempt_curr_dl(rq, p, 0);
>> @@ -648,6 +653,7 @@ static enum hrtimer_restart dl_task_timer(struct hrtimer *timer)
>>               resched_curr(rq);
>>
>>  #ifdef CONFIG_SMP
>> +offline:
>>       /*
>>        * Perform balancing operations here; after the replenishments.  We
>>        * cannot drop rq->lock before this, otherwise the assertion in
>> @@ -659,6 +665,7 @@ static enum hrtimer_restart dl_task_timer(struct hrtimer *timer)
>>        * XXX figure out if select_task_rq_dl() deals with offline cpus.
>>        */
>>       if (unlikely(!rq->online)) {
>> +             replenish_dl_entity(dl_se, dl_se);
>>               lockdep_unpin_lock(&rq->lock, rf.cookie);
>>               rq = dl_task_offline_migration(rq, p);
>
> So I don't like this, even if it magically works. With this we end up
> calling dl_task_offline_migration() -> deactivate_task() while the task
> isn't on the runqueue at all.

So how about v1, it also works :), https://lkml.org/lkml/2016/8/10/898

Regards,
Wanpeng Li

  reply	other threads:[~2016-08-19 13:57 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-12  9:24 [PATCH v3] sched/deadline: Fix the intention to re-evalute tick dependency for offline cpu Wanpeng Li
2016-08-16  2:04 ` Wanpeng Li
2016-08-19 13:25 ` Peter Zijlstra
2016-08-19 13:56   ` Wanpeng Li [this message]
2016-08-31  9:21     ` Peter Zijlstra
2016-08-31 10:31       ` Wanpeng Li

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='CANRm+Cz3_MOd=obPC5CK7rckLeS2ODyBxSffxr21ts=xqyKX5w@mail.gmail.com' \
    --to=kernellwp@gmail.com \
    --cc=fweisbec@gmail.com \
    --cc=juri.lelli@arm.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luca.abeni@unitn.it \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=wanpeng.li@hotmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).