public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/8] sched/deadline: Return the best satisfying affinity and dl in cpudl_find
@ 2017-03-23 10:32 Byungchul Park
  2017-03-23 10:32 ` [PATCH 1/8] sched/deadline: Make find_later_rq() choose a closer cpu in topology Byungchul Park
                   ` (9 more replies)
  0 siblings, 10 replies; 15+ messages in thread
From: Byungchul Park @ 2017-03-23 10:32 UTC (permalink / raw)
  To: peterz, mingo; +Cc: linux-kernel, juri.lelli, rostedt, kernel-team

cpudl_find() is used to find a cpu having the latest dl. The function
should return the latest cpu among ones satisfying task's affinity and
dl constraint, but current code gives up immediately and just return
fail when it fails at the test *only with* the maximum cpu.

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).

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.

Byungchul Park (8):
  sched/deadline: Make find_later_rq() choose a closer cpu in topology
  sched/deadline: Re-define parameters of cpudl heapify functions
  sched/deadline: Add cpudl_maximum_dl() for clean-up
  sched/deadline: Factor out the selecting of suitable max cpu
  sched/deadline: Protect read of cpudl heap with a lock
  sched/deadline: Don't return meaningless cpu in cpudl_maximum_cpu()
  sched/deadline: Factor out the modifying of cpudl's heap tree
  sched/deadline: Return the best satisfying affinity and dl in
    cpudl_find

 kernel/sched/cpudeadline.c | 228 +++++++++++++++++++++++++++++++--------------
 kernel/sched/cpudeadline.h |   9 ++
 kernel/sched/deadline.c    |  29 +++---
 3 files changed, 182 insertions(+), 84 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2017-03-28  7:30 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox