From: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
To: Kirill Tkhai <tkhai@yandex.ru>
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 18:45:36 +0530 [thread overview]
Message-ID: <20140611131536.GB21191@linux.vnet.ibm.com> (raw)
In-Reply-To: <3732251402489254@web2m.yandex.ru>
> > * 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.
> >> 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:15 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 [this message]
2014-06-11 13:43 ` Kirill Tkhai
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=20140611131536.GB21191@linux.vnet.ibm.com \
--to=srikar@linux.vnet.ibm.com \
--cc=ktkhai@parallels.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=tkhai@yandex.ru \
/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.