From: Peter Williams <pwil3058@bigpond.net.au>
To: William Lee Irwin III <wli@holomorphy.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Michal Kaczmarski <fallow@op.pl>,
Shane Shrybman <shrybman@aei.ca>
Subject: Re: [PATCH] V-3.0 Single Priority Array O(1) CPU Scheduler Evaluation
Date: Thu, 05 Aug 2004 11:06:51 +1000 [thread overview]
Message-ID: <4111882B.9090504@bigpond.net.au> (raw)
In-Reply-To: <20040804074440.GL2334@holomorphy.com>
William Lee Irwin III wrote:
> William Lee Irwin III wrote:
> On Wed, Aug 04, 2004 at 12:40:15PM +1000, Peter Williams wrote:
>
>>The timer would be deactivated whenever the number of runnable tasks for
>>the runqueue goes below 2. The whole thing could be managed from the
>>enqueue and dequeue functions i.e.
>>dequeue - if the number running is now less than two cancel the timer
>>and otherwise decrease the expiry time to maintain the linear
>>relationship of the interval with the number of runnable tasks
>>enqueue - if the number of runnable tasks is now 2 then start the time
>>with a single interval setting and if the number is greater than two
>>then increase the timer interval to maintain the linear relationship.
>>I'm assuming here that add_timer(), del_timer() and (especially)
>>mod_timer() are relatively cheap. If mod_timer() is too expensive some
>>alternative method could be devised to maintain the linear relationship.
>
>
> Naive schemes reprogram the timer device too frequently.
I had a look at mod_timer() and I agree that it's too expensive to call
every time a task gets queued or dequeued.
> Software
> constructs are less of a concern. This also presumes that taking timer
> interrupts when cpu-intensive workloads voluntarily yield often enough
> is necessary or desirable.
Voluntary yielding can't be relied upon. Writing a program that never
gives up the CPU voluntarily is trivial. Some have been known to do it
without even trying :-)
> This is not so in virtualized environments,
> and unnecessary interruption of userspace also degrades performance.
Peter
--
Peter Williams pwil3058@bigpond.net.au
"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce
next prev parent reply other threads:[~2004-08-05 1:07 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-02 6:31 [PATCH] V-3.0 Single Priority Array O(1) CPU Scheduler Evaluation Peter Williams
2004-08-02 13:42 ` William Lee Irwin III
2004-08-03 0:33 ` Peter Williams
2004-08-03 2:03 ` William Lee Irwin III
2004-08-03 3:39 ` Peter Williams
2004-08-03 10:49 ` William Lee Irwin III
2004-08-04 0:37 ` Peter Williams
2004-08-04 0:50 ` William Lee Irwin III
2004-08-04 1:36 ` Peter Williams
2004-08-04 1:51 ` William Lee Irwin III
2004-08-04 2:40 ` Peter Williams
2004-08-04 7:05 ` Ingo Molnar
2004-08-04 7:44 ` William Lee Irwin III
2004-08-05 1:06 ` Peter Williams [this message]
2004-08-05 2:00 ` William Lee Irwin III
2004-08-05 2:12 ` Peter Williams
[not found] <2oEEn-197-9@gated-at.bofh.it>
2004-08-02 13:27 ` Andi Kleen
2004-08-03 0:27 ` Peter Williams
2004-08-03 3:53 ` Andrew Morton
2004-08-03 4:38 ` Peter Williams
2004-08-03 6:51 ` Andi Kleen
-- strict thread matches above, loose matches on Subject: below --
2004-08-07 1:44 Peter Williams
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=4111882B.9090504@bigpond.net.au \
--to=pwil3058@bigpond.net.au \
--cc=fallow@op.pl \
--cc=linux-kernel@vger.kernel.org \
--cc=shrybman@aei.ca \
--cc=wli@holomorphy.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 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.