All of lore.kernel.org
 help / color / mirror / Atom feed
From: george anzinger <george@mvista.com>
To: Shaya Potter <spotter@cs.columbia.edu>
Cc: Davide Libenzi <davidel@xmailserver.org>,
	Mike Kravetz <kravetz@us.ibm.com>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: Scheduler Cleanup
Date: Tue, 27 Nov 2001 13:53:28 -0800	[thread overview]
Message-ID: <3C040B58.E42B11DF@mvista.com> (raw)
In-Reply-To: <Pine.LNX.4.40.0111261240230.1674-100000@blue1.dev.mcafeelabs.com> <1006894632.872.6.camel@zaphod>

Shaya Potter wrote:
> 
> On Mon, 2001-11-26 at 15:49, Davide Libenzi wrote:
> > On Mon, 26 Nov 2001, Mike Kravetz wrote:
> >
> > > I'm happy to see the cleanup of scheduler code that went into
> > > 2.4.15/16.  One small difference in behavior (I think) is that
> > > the currently running task is not given preference over other
> > > tasks on the runqueue with the same 'goodness' value.  I would
> > > think giving the current task preference is a good thing
> > > (especially in light of recent discussions about too frequent
> > > moving/rescheduling of tasks).  Can someone provide the rational
> > > for this change?  Was it just the result of making the code
> > > cleaner?  Is it believed that this won't really make a difference?
> >
> > Mike, I was actually surprised about the presence of that check inside the
> > previous code.
> > If you think about it, when a running task is scheduled ?
> >
> > 1) an IRQ wakeup some I/O bound task
> > 2) the quota is expired
> >
> > With 1) you've an incoming I/O bound task ( ie: ksoftirqd_* ) that is very
> > likely going to have a better dynamic priority ( if not reschedule_idle()
> > does not set need_resched ), while with 2) you've the task counter == 0.
> > In both cases not only the test is useless but is going to introduce 1)
> > the branch in the fast path 2) the cost of an extra goodness().
> 
> doesn't schedule() also get called when a new task is put on the
> runqueue?
> 
> when that happens, doesn't the check matter? or perhaps I'm just
> mistaken.
> 
That is the same as 1) above.  reschedule_idle() should determine if the
new task is to get the cpu and set need_resched as needed.

-- 
George           george@mvista.com
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Real time sched: http://sourceforge.net/projects/rtsched/

  reply	other threads:[~2001-11-27 21:54 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-26 19:46 Scheduler Cleanup Mike Kravetz
2001-11-26 20:49 ` Davide Libenzi
2001-11-27 20:57   ` Shaya Potter
2001-11-27 21:53     ` george anzinger [this message]
2001-11-28  1:07 ` Ingo Molnar
2001-12-05 21:58   ` Mike Kravetz
2001-12-05 22:13     ` Robert Love
2001-12-05 22:48       ` Mike Kravetz
2001-12-05 23:44     ` Davide Libenzi
2001-12-05 23:46       ` Mike Kravetz
2001-12-06  0:26         ` Davide Libenzi
2001-12-06 10:38         ` Ingo Molnar
2001-12-06 18:25           ` Davide Libenzi
2001-12-06 22:03             ` Ingo Molnar
2001-12-06 20:36               ` Davide Libenzi
2001-12-08 16:36     ` The best VM algorithm for Linux Martin Devera

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=3C040B58.E42B11DF@mvista.com \
    --to=george@mvista.com \
    --cc=davidel@xmailserver.org \
    --cc=kravetz@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=spotter@cs.columbia.edu \
    /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.