From: Kirill Tkhai <tkhai@yandex.ru>
To: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
Cc: "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@kernel.org>,
Tkhai Kirill <ktkhai@parallels.com>
Subject: Re: [PATCH 1/2] sched: Rework migrate_tasks()
Date: Wed, 11 Jun 2014 17:43:52 +0400 [thread overview]
Message-ID: <4032471402494232@web2m.yandex.ru> (raw)
In-Reply-To: <20140611131536.GB21191@linux.vnet.ibm.com>
11.06.2014, 17:15, "Srikar Dronamraju" <srikar@linux.vnet.ibm.com>:
>>> * Kirill Tkhai <ktkhai@parallels.com> [2014-06-11 13:52:10]:
>>>> Currently migrate_tasks() skips throttled tasks,
>>>> because they are not pickable by pick_next_task().
>>> Before migrate_tasks() is called, we do call set_rq_offline(), in
>>> migration_call().
>>>
>>> Shouldnt this take care of unthrottling the tasks and making sure that
>>> they can be picked by pick_next_task().
>> If we do this separate for every class, we'll have to do this 3 times.
>> Furthermore, deadline class does not have a list of throttled tasks.
>> So we'll have to the same as I did: to lock tasklist_lock and to iterate
>> throw all of the tasks in the system just to found deadline tasks.
>
> I think you misread my comment.
>
> Currently migrate_task() gets called from migration_call() and in the
> migration_call() before migrate_tasks(), set_rq_offline() should put
> tasks back using unthrottle_cfs_rq().
>
> So my question is: Why are these tasks not getting unthrottled
> through we are calling set_rq_offline? To me set_rq_offline is
> calling the actual sched class routines to do the needful.
>
> I can understand about deadline tasks, because we don't have a deadline
> But thats the only tasks that we need to fix.
Hm, I tested that on fair class tasks. They used to disappear from
/proc/sched_debug and used to hang. I'll check all once again.
I'm agree with you, if set_rq_offline() already presents, we should use it.
/me went to clarify why it does not work in my test.
>>>> These tasks stay on dead cpu even after they
>>>> becomes unthrottled. They are not schedulable
>>>> till user manually changes their affinity or till
>>>> cpu becomes alive again.
>>> If we are still seeing tasks not being picked by pick_next_task(), then
>>> can it probably mean that rq->rd was NULL?
>> Unthrottle functions dl_task_timer() and unthrottle_cfs_rq() put tasks and
>> queues back. They do not look at rq->rd.
>
> What I meant was only if rq->rd isn't set, then we don't call
> set_rq_offline, which seems very reasonable.
> --
> Thanks and Regards
> Srikar Dronamraju
next prev parent reply other threads:[~2014-06-11 13:43 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20140611093417.27807.2288.stgit@tkhai>
2014-06-11 9:52 ` [PATCH 1/2] sched: Rework migrate_tasks() Kirill Tkhai
2014-06-11 10:57 ` Peter Zijlstra
2014-06-11 11:15 ` Kirill Tkhai
2014-06-11 11:24 ` Srikar Dronamraju
2014-06-11 12:20 ` Kirill Tkhai
2014-06-11 13:15 ` Srikar Dronamraju
2014-06-11 13:43 ` Kirill Tkhai [this message]
2014-06-11 19:33 ` Kirill Tkhai
2014-06-12 2:05 ` Mike Galbraith
2014-06-17 12:56 ` Kirill Tkhai
2014-06-11 9:52 ` [PATCH 2/2] sched: Rework check_for_tasks() Kirill Tkhai
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=4032471402494232@web2m.yandex.ru \
--to=tkhai@yandex.ru \
--cc=ktkhai@parallels.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=srikar@linux.vnet.ibm.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 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.