From: Erich Focht <efocht@ess.nec.de>
To: linux-ia64@vger.kernel.org
Subject: [Linux-ia64] O(1) scheduler for 2.4.18-ia64
Date: Tue, 16 Jul 2002 16:23:52 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590701905778@msgid-missing> (raw)
Hi,
for those working with IA64 systems: at
http://home.arcor.de/efocht/sched/MQO1_ia64-ef7-2.4.18.patch.bz2
you can find a port of the O(1) scheduler. It is the "old" one, i.e.
not having SCHED_BATCH, etc. But it has some important changes compared
to my last port:
- Uses the "complex" macros which release the RQ lock before switching
context. This is a MUST on IA64, as there is a potential deadlock
when the context numbers are wrapped around.
- cpu_idle() is changed such that platforms which just return from
pm_idle() don't call schedule() in a tight loop. This was the reason
for massive cache line bouncings when some CPUs were idle as they
not only locked their RQs but also loaded nr_running (on the same cache
line as the lock) for every other RQ. The position of nr_running inside
the RQ structure is changed, such that it doesn't share the cacheline
with lock.
- load_balance() only steals at most one task. Before it could sometimes
steal half of the tasks of the most loaded CPU. This is OK on small
machines but on large ones the tasks were bounced around a while until
"settling" on a particular CPU. Maybe this is not yet optimal, but it
improves hackbench results.
The patch applies to 2.4.18 + 4th ia64 patch from David. It also can
be applied to the vanilla 2.4.18, (kernel/timer.c needs to be edited by
hand), but this port is not intended to be an alternative to Robert Love's
backports... It is for IA64 and/or the node affine scheduler.
Best regards,
Erich
reply other threads:[~2002-07-16 16:23 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=marc-linux-ia64-105590701905778@msgid-missing \
--to=efocht@ess.nec.de \
--cc=linux-ia64@vger.kernel.org \
/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