From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: davidel@xmailserver.org (Davide Libenzi)
Cc: alan@lxorguk.ukuu.org.uk (Alan Cox),
linux-kernel@vger.kernel.org (lkml),
torvalds@transmeta.com (Linus Torvalds)
Subject: Re: [RFC] Scheduler queue implementation ...
Date: Mon, 10 Dec 2001 01:16:07 +0000 (GMT) [thread overview]
Message-ID: <E16DF39-00008w-00@the-village.bc.nu> (raw)
In-Reply-To: <Pine.LNX.4.40.0112091647360.996-100000@blue1.dev.mcafeelabs.com> from "Davide Libenzi" at Dec 09, 2001 04:57:29 PM
> Alan, you're mixing switch mm costs with cache image reload ones.
> Note that equal mm does not mean matching cache image, at all.
They are often close to the same thing. Take a look at the constraints
on virtually cached processors like the ARM where they _are_ the same thing.
Equal mm for cpu sucking tasks often means equal cache image. On the other
hand unmatched mm pretty much definitively says "doesnt matter". The cost
of getting the equal mm/shared cache case wrong is too horrific to handwave
it out of existance using academic papers.
> By having only two queues maintain the implementation simple and solves
> 99% of common/extraordinary cases.
> The cost of a tlb flush become "meaningful" for I/O bound tasks where
> their short average run time is not sufficent to compensate the tlb flush
> cost, and this is handled correctly/like-usual inside the I/O bound queue.
You don't seem to solve either problem directly.
Without per cpu queues you spend all your time bouncing stuff between
processors which hurts. Without multiple queues for interactive tasks you
walk the interactive task list so you don't scale. Without some sensible
handling of mm/cpu binding you spend all day wasting ram bandwidth with
cache writeback.
The single cpu sucker queue is easy, the cost of merging mm equivalent tasks
in that queue is almost nil. Priority ordering interactive stuff using
several queues is easy and very cheap if you need it (I think you do hence
I have 7 priority bands and you have 1). In all these cases the hard bits
end up being
On a wake up which cpu do you give a task ?
When does an idle cpu steal a task, who from and which task ?
How do I define "imbalance" for cpu load balancing ?
next prev parent reply other threads:[~2001-12-10 1:07 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-10 0:33 Davide Libenzi
2001-12-10 0:49 ` Alan Cox
2001-12-10 0:57 ` Davide Libenzi
2001-12-10 1:16 ` Alan Cox [this message]
2001-12-10 2:36 ` Davide Libenzi
2001-12-20 19:36 ` Pavel Machek
2001-12-20 21:42 ` Rik van Riel
2001-12-21 17:01 ` Alan Cox
2001-12-21 19:21 ` Pavel Machek
2001-12-22 14:23 ` Alan Cox
2001-12-10 0:52 ` Alan Cox
2001-12-10 1:06 ` Davide Libenzi
2001-12-10 1:18 ` Alan Cox
2001-12-10 1:38 ` Davide Libenzi
2001-12-10 1:52 ` Alan Cox
2001-12-10 3:06 ` Davide Libenzi
2001-12-10 23:03 ` Mike Kravetz
2001-12-10 23:30 ` Davide Libenzi
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=E16DF39-00008w-00@the-village.bc.nu \
--to=alan@lxorguk.ukuu.org.uk \
--cc=davidel@xmailserver.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.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®