public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
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