All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp.com.au>
To: akpm@osdl.org
Cc: linux-kernel@vger.kernel.org,
	Nick Piggin <piggin@cyberone.com.au>,
	dipankar@in.ibm.com, vatsa@in.ibm.com
Subject: [PATCH 1/4] 2.6.2-rc2-mm2 CPU Hotplug: cpu_active_map
Date: Sun, 01 Feb 2004 01:16:35 +1100	[thread overview]
Message-ID: <20040131141937.EB2752C086@lists.samba.org> (raw)

Hi Andrew et al.

	Forward ported to -mm tree, so there might still be bugs.
Wanted to get these aired more widely.  Especially get Nick exposed to
the sched parts.

Name: Create cpu_active_map
Author: Rusty Russell
Status: Booted on 2.6.2-rc2-bk2

D: When CPUs are going down, there is a time when cpu_online(cpu) is
D: false, but they are still scheduling and responding to interrupts
D: (we are migrating things off the CPU, shutting down per-cpu
D: threads, etc).  It turns out that RCU cares about these CPUs, so
D: the decision was made to expose this mask (previously internal to x86,
D: and only used for IPIs).
D: 
D: The semantics of this mask are as follows:
D: 1) For platforms without hot unplug of CPUs: cpu_active_map ==
D:    cpu_online_map.
D: 2) For the others, they are equal except for a CPU which is going
D:    down: cpu_online_map gets cleared by __cpu_disable(), cpu_ipi_map
D:    gets cleared in __cpu_die() once the CPU is no longer responding
D:    to interrupts.

diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .25707-linux-2.6.0-test11-bk7/include/linux/cpumask.h .25707-linux-2.6.0-test11-bk7.updated/include/linux/cpumask.h
--- .25707-linux-2.6.0-test11-bk7/include/linux/cpumask.h	2003-12-10 13:58:18.000000000 +1100
+++ .25707-linux-2.6.0-test11-bk7.updated/include/linux/cpumask.h	2003-12-10 14:01:29.000000000 +1100
@@ -43,6 +43,13 @@ typedef unsigned long cpumask_t;
 extern cpumask_t cpu_online_map;
 extern cpumask_t cpu_possible_map;
 
+#ifdef CONFIG_HOTPLUG_CPU
+/* Online, or on its way down but still receiving interrupts. */
+extern cpumask_t cpu_active_map;
+#else
+#define cpu_active_map cpu_online_map
+#endif
+
 #define num_online_cpus()		cpus_weight(cpu_online_map)
 #define cpu_online(cpu)			cpu_isset(cpu, cpu_online_map)
 #define cpu_possible(cpu)		cpu_isset(cpu, cpu_possible_map)
diff -urpN --exclude TAGS -X /home/rusty/devel/kernel/kernel-patches/current-dontdiff --minimal .25707-linux-2.6.0-test11-bk7/kernel/rcupdate.c .25707-linux-2.6.0-test11-bk7.updated/kernel/rcupdate.c
--- .25707-linux-2.6.0-test11-bk7/kernel/rcupdate.c	2003-12-10 13:58:19.000000000 +1100
+++ .25707-linux-2.6.0-test11-bk7.updated/kernel/rcupdate.c	2003-12-10 14:01:03.000000000 +1100
@@ -110,7 +110,7 @@ static void rcu_start_batch(long newbatc
 	    !cpus_empty(rcu_ctrlblk.rcu_cpu_mask)) {
 		return;
 	}
-	rcu_ctrlblk.rcu_cpu_mask = cpu_online_map;
+	rcu_ctrlblk.rcu_cpu_mask = cpu_active_map;
 }
 
 /*
--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.

             reply	other threads:[~2004-01-31 14:19 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-31 14:16 Rusty Russell [this message]
2004-02-02 10:08 ` [PATCH 1/4] 2.6.2-rc2-mm2 CPU Hotplug: cpu_active_map Ingo Molnar
2004-02-02 11:08   ` Rusty Russell
2004-02-03 21:22 ` Matthew Dobson

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=20040131141937.EB2752C086@lists.samba.org \
    --to=rusty@rustcorp.com.au \
    --cc=akpm@osdl.org \
    --cc=dipankar@in.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=piggin@cyberone.com.au \
    --cc=vatsa@in.ibm.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.