All of lore.kernel.org
 help / color / mirror / Atom feed
From: Byungchul Park <byungchul.park@lge.com>
To: Juri Lelli <juri.lelli@arm.com>
Cc: <peterz@infradead.org>, <mingo@kernel.org>,
	<linux-kernel@vger.kernel.org>, <juri.lelli@gmail.com>,
	<rostedt@goodmis.org>, <kernel-team@lge.com>
Subject: Re: [PATCH 0/8] sched/deadline: Return the best satisfying affinity and dl in cpudl_find
Date: Tue, 28 Mar 2017 16:29:13 +0900	[thread overview]
Message-ID: <20170328072913.GF21430@X58A-UD3R> (raw)
In-Reply-To: <20170328071153.GG10289@e106622-lin>

On Tue, Mar 28, 2017 at 08:11:53AM +0100, Juri Lelli wrote:
> > > > For example:
> > > > 
> > > >    cpu 0 is running a task (dl: 10).
> > > >    cpu 1 is running a task (dl: 9).
> > > >    cpu 2 is running a task (dl: 8).
> > > >    cpu 3 is running a task (dl: 2).
> > > > 
> > > >    where cpu 3 want to push a task (affinity is 1 2 3 and dl is 1).
> > > 
> > > Hummm, but this should only happen if you disable admission control,
> > > right? Otherwise task's affinity can't be smaller that 0-3.
> > 
> > Hi Juri,
> > 
> > Can I ask you what is addmission control? Do you mean affinity setting?
> 
> sched_setattr() for DEADLINE tasks peforms a set of checks before
> admitting the task to the system. Please have a look at Documentation/
> scheduler/sched-deadline.txt::Section5 for what concerns affinity.

I see.

> > And do you mean s/disable/enable? Or am I misunderstanding?
> > 
> 
> No, I meant disable. The problem is that if you disable admission
> control the problem you are pointing out can happen, if admission
> control is enabled otherwise it can't, as we enforce that tasks have
> affinity equal to the root_domain span to which they belong. E.g, in
> your case the task will have affinity set to 0-3 (or it won't be able to
> enter the system), so that would make the problem go away.

I see.

> > > > In this case, the task should be migrated from cpu 3 to cpu 1, and
> > > > preempt cpu 1's task. However, current code just returns fail because
> > > > it fails at the affinity test with the maximum cpu, that is, cpu 0.
> > > > 
> > > > This patch set tries to find the best among ones satisfying task's
> > > > affinity and dl constraint until success or no more to see.
> > > > 
> > > 
> > > Anyway, do you have numbers showing how common is you fail scenario?
> > 
> > Actually, it very depends on how to set test environment. I can provide
> > you ones which generate many fails. IMHO, it's not a matter of frequency
> > but a matter of whether it works corrently. As you know, rt policy already
> > works corrently regarding this problem.
> > 
> 
> Right. But, my point is that if what you are highlighting turns out to
> be a pretty frequent situation, maybe we need to find a better data
> structure to speed up push operations or we will end up using the slow
> path most of the times, making the heap useless.

I totally agree with you. I will check it and let you know.

Thank you,
Byungchul

      reply	other threads:[~2017-03-28  7:30 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-23 10:32 [PATCH 0/8] sched/deadline: Return the best satisfying affinity and dl in cpudl_find Byungchul Park
2017-03-23 10:32 ` [PATCH 1/8] sched/deadline: Make find_later_rq() choose a closer cpu in topology Byungchul Park
2017-03-23 10:32 ` [PATCH 2/8] sched/deadline: Re-define parameters of cpudl heapify functions Byungchul Park
2017-03-23 10:32 ` [PATCH 3/8] sched/deadline: Add cpudl_maximum_dl() for clean-up Byungchul Park
2017-03-23 10:32 ` [PATCH 4/8] sched/deadline: Factor out the selecting of suitable max cpu Byungchul Park
2017-03-23 10:32 ` [PATCH 5/8] sched/deadline: Protect read of cpudl heap with a lock Byungchul Park
2017-03-23 10:32 ` [PATCH 6/8] sched/deadline: Don't return meaningless cpu in cpudl_maximum_cpu() Byungchul Park
2017-03-23 10:32 ` [PATCH 7/8] sched/deadline: Factor out the modifying of cpudl's heap tree Byungchul Park
2017-03-23 10:32 ` [PATCH 8/8] sched/deadline: Return the best satisfying affinity and dl in cpudl_find Byungchul Park
2017-03-23 22:36   ` Byungchul Park
2017-03-23 22:35 ` [PATCH 0/8] " Byungchul Park
2017-03-27 14:05 ` Juri Lelli
2017-03-28  0:42   ` Byungchul Park
2017-03-28  7:11     ` Juri Lelli
2017-03-28  7:29       ` Byungchul Park [this message]

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=20170328072913.GF21430@X58A-UD3R \
    --to=byungchul.park@lge.com \
    --cc=juri.lelli@arm.com \
    --cc=juri.lelli@gmail.com \
    --cc=kernel-team@lge.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    /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.