mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Peter Williams <pwil3058@bigpond.net.au>
To: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
Cc: Andrew Morton <akpm@osdl.org>,
	"Chen, Kenneth W" <kenneth.w.chen@intel.com>,
	Con Kolivas <kernel@kolivas.org>, Ingo Molnar <mingo@elte.hu>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Mike Galbraith <efault@gmx.de>,
	Nick Piggin <nickpiggin@yahoo.com.au>
Subject: Re: [PATCH] sched: Avoid unnecessarily moving highest priority task move_tasks()
Date: Sat, 22 Apr 2006 11:31:29 +1000	[thread overview]
Message-ID: <44498771.1030409@bigpond.net.au> (raw)
In-Reply-To: <20060421173416.C17932@unix-os.sc.intel.com>

Siddha, Suresh B wrote:
> On Fri, Apr 21, 2006 at 02:22:57PM +1000, Peter Williams wrote:
>> @@ -2052,7 +2055,13 @@ static int move_tasks(runqueue_t *this_r
>>  
>>  	rem_load_move = max_load_move;
>>  	pinned = 1;
>> -	this_min_prio = this_rq->curr->prio;
>> +	this_best_prio = rq_best_prio(this_rq);
>> +	busiest_best_prio = rq_best_prio(busiest);
>> +	/*
>> +	 * Enable handling of the case where there is more than one task
>> +	 * with the best priority.
>> +	 */
>> +	busiest_best_prio_seen = busiest_best_prio == busiest->curr->prio;
> 
>>From this hunk, it seems like we don't want to override the skip of highest 
> priority task as long as there is one such task in active list(even though
> there may be few such tasks on expired list). Right?

No, but nearly.  We don't want to override the skip of a task with the 
highest priority until we've skipped one such task OR we're sure one 
such task will be skipped (e.g. because it's the currently running task).

> And why?

If there are more than one task with the highest priority then it is 
desirable to move one of them by overriding the skip mechanism as it can 
be considered the second highest priority task.  This initialization 
just checks to see if the currently running task is one of the highest 
priority tasks.  If it is then it's OK to move the first task we find 
that also has the same priority otherwise we wait until we've skipped 
one before we move one.

> 
> If we fix the above, we don't need busiest_best_prio_seen. Once we move one 
> highest priority task, we are changing this_best_prio anyhow right?

Yes, but this is recording the fact that we've skipped one and that it's 
now OK to move one.

> 
> This patch doesn't address the issue where we can skip the highest priority 
> task movement if there is only one such task on the busy runqueue
> (and is on the expired list..)

I think that it does.

> 
> I can send a fix if I understand your intention for the above hunk.

If you think that there's still a problem after the above explanation 
then sending a patch might help me understand why you think it's wrong.

Peter
-- 
Peter Williams                                   pwil3058@bigpond.net.au

"Learning, n. The kind of ignorance distinguishing the studious."
  -- Ambrose Bierce

  reply	other threads:[~2006-04-22  1:31 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-21  4:22 Peter Williams
2006-04-22  0:34 ` Siddha, Suresh B
2006-04-22  1:31   ` Peter Williams [this message]
2006-04-24 19:00     ` Siddha, Suresh B
2006-04-24 23:04       ` Peter Williams
2006-04-24 23:48         ` Siddha, Suresh B
2006-04-25  2:30           ` Peter Williams
2006-04-25 21:32             ` Siddha, Suresh B

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=44498771.1030409@bigpond.net.au \
    --to=pwil3058@bigpond.net.au \
    --cc=akpm@osdl.org \
    --cc=efault@gmx.de \
    --cc=kenneth.w.chen@intel.com \
    --cc=kernel@kolivas.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=nickpiggin@yahoo.com.au \
    --cc=suresh.b.siddha@intel.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

all inboxes | Powered by JetHome®