All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@us.ibm.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: linux-kernel@vger.kernel.org, karim@opersys.com,
	Dimitri Sivanich <sivanich@sgi.com>
Subject: Re: [RFC][PATCH] Restricted hard realtime
Date: Sun, 24 Oct 2004 11:18:42 -0700	[thread overview]
Message-ID: <20041024181842.GB1262@us.ibm.com> (raw)
In-Reply-To: <20041023201724.GA23936@elte.hu>

On Sat, Oct 23, 2004 at 10:17:24PM +0200, Ingo Molnar wrote:
> 
> * Paul E. McKenney <paulmck@us.ibm.com> wrote:
> 
> > +	bool "Reserve a CPU for hard realtime processes"
> 
> this has been implemented in a clean way already: check out the
> "isolcpus=" boot option & scheduler feature (implemented by Dimitri
> Sivanich) which isolates a set of CPUs via sched-domains for precisely
> such purposes. The way to enter such a domain is via the affinity
> syscall - and balancing will leave such domains isolated.

Thanks again for the pointer, am slowly getting my head around this.
I haven't proven to myself that the isolcpus code gets rid of all of the
cross-runqueue lock acquisitions, but it certainly gets rid of a large
number of them.  It doesn't seem to do system-call or exception-handler
offload, but it does help me see how to do this sort of thing cleanly.

Dimitri, one nit so far...   Why is sched_domain_dummy under two
layers of #ifdef CONFIG_SMP?  Any reason why the attached patch
would not be in order?

						Thanx, Paul

diff -urpN -X ../dontdiff linux-2.5-2004.10.23/kernel/sched.c linux-2.5-2004.10.23-LBinf/kernel/sched.c
--- linux-2.5-2004.10.23/kernel/sched.c	Sat Oct 23 13:23:31 2004
+++ linux-2.5-2004.10.23-LBinf/kernel/sched.c	Sun Oct 24 10:50:12 2004
@@ -4437,14 +4437,12 @@ static void sched_domain_debug(void)
 #define sched_domain_debug() {}
 #endif
 
-#ifdef CONFIG_SMP
 /*
  * Initial dummy domain for early boot and for hotplug cpu. Being static,
  * it is initialized to zero, so all balancing flags are cleared which is
  * what we want.
  */
 static struct sched_domain sched_domain_dummy;
-#endif
 
 #ifdef CONFIG_HOTPLUG_CPU
 /*

  parent reply	other threads:[~2004-10-24 18:24 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-23 19:47 [RFC][PATCH] Restricted hard realtime Paul E. McKenney
2004-10-23 20:17 ` Ingo Molnar
2004-10-23 20:29   ` Paul E. McKenney
2004-10-24 18:18   ` Paul E. McKenney [this message]
2004-10-25 12:26     ` Dimitri Sivanich
2004-10-23 20:22 ` Thomas Gleixner
2004-10-23 21:24   ` Paul E. McKenney
2004-10-23 22:06     ` Jon Masters
2004-10-24 15:32       ` Paul E. McKenney
2004-10-24 21:08         ` Jon Masters
2004-10-24 21:23           ` Ingo Molnar
2004-10-24 21:49             ` Jon Masters
2004-10-24 21:52           ` Paul E. McKenney
2004-10-27  3:16 ` Karim Yaghmour
2004-10-27  4:29   ` Andrew Morton
2004-10-27  8:10     ` Ingo Molnar
2004-10-28 11:59       ` Karim Yaghmour
2004-10-28 13:16         ` Ingo Molnar
2004-10-28 11:54     ` Karim Yaghmour
2004-10-28 13:04       ` john cooper
2004-10-27 22:35   ` Bill Huey

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=20041024181842.GB1262@us.ibm.com \
    --to=paulmck@us.ibm.com \
    --cc=karim@opersys.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=sivanich@sgi.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.