From: William Lee Irwin III <wli@holomorphy.com>
To: Andrew Morton <akpm@osdl.org>, linux-kernel@vger.kernel.org
Subject: [sparc32] [3/13] sun4d cpu_present_map is a cpumask_t
Date: Wed, 4 Aug 2004 21:41:30 -0700 [thread overview]
Message-ID: <20040805044130.GU2334@holomorphy.com> (raw)
In-Reply-To: <20040805043957.GT2334@holomorphy.com>
On Wed, Aug 04, 2004 at 09:39:57PM -0700, William Lee Irwin III wrote:
> An analysis of the code determined that AP initialization called
> init_idle() no less than three times, 2 out of the three with incorrect
> numbers of arguments. This patch removes the superfluous calls.
cpu_present_map is a cpumask_t. Sweep arch/sparc/kernel/sun4d_smp.c so
that it is treated as such.
Index: mm2-2.6.8-rc2/arch/sparc/kernel/sun4d_smp.c
===================================================================
--- mm2-2.6.8-rc2.orig/arch/sparc/kernel/sun4d_smp.c
+++ mm2-2.6.8-rc2/arch/sparc/kernel/sun4d_smp.c
@@ -43,7 +43,6 @@
extern void calibrate_delay(void);
extern volatile int smp_processors_ready;
-extern unsigned long cpu_present_map;
extern int smp_num_cpus;
static int smp_highest_cpu;
extern int smp_threads_ready;
@@ -172,12 +171,12 @@
current_set[0] = NULL;
local_irq_enable();
- cpu_present_map = 0;
+ cpus_clear(cpu_present_map);
/* XXX This whole thing has to go. See sparc64. */
for (i = 0; !cpu_find_by_instance(i, NULL, &mid); i++)
- cpu_present_map |= (1<<mid);
- SMP_PRINTK(("cpu_present_map %08lx\n", cpu_present_map));
+ cpu_set(mid, cpu_present_map);
+ SMP_PRINTK(("cpu_present_map %08lx\n", cpus_addr(cpu_present_map)[0]));
for(i=0; i < NR_CPUS; i++)
__cpu_number_map[i] = -1;
for(i=0; i < NR_CPUS; i++)
@@ -195,7 +194,7 @@
if(i == boot_cpu_id)
continue;
- if(cpu_present_map & (1 << i)) {
+ if (cpu_isset(i, cpu_present_map)) {
extern unsigned long sun4d_cpu_startup;
unsigned long *entry = &sun4d_cpu_startup;
struct task_struct *p;
@@ -252,19 +251,19 @@
}
}
if(!(cpu_callin_map[i])) {
- cpu_present_map &= ~(1 << i);
+ cpu_clear(i, cpu_present_map);
__cpu_number_map[i] = -1;
}
}
local_flush_cache_all();
if(cpucount == 0) {
printk("Error: only one Processor found.\n");
- cpu_present_map = (1 << hard_smp4d_processor_id());
+ cpu_present_map = cpumask_of_cpu(hard_smp4d_processor_id());
} else {
unsigned long bogosum = 0;
for(i = 0; i < NR_CPUS; i++) {
- if(cpu_present_map & (1 << i)) {
+ if (cpu_isset(i, cpu_present_map)) {
bogosum += cpu_data(i).udelay_val;
smp_highest_cpu = i;
}
@@ -344,12 +343,13 @@
/* Init receive/complete mapping, plus fire the IPI's off. */
{
- register unsigned long mask;
+ cpumask_t mask;
register int i;
- mask = (cpu_present_map & ~(1 << hard_smp4d_processor_id()));
+ mask = cpumask_of_cpu(hard_smp4d_processor_id());
+ cpus_andnot(mask, cpu_present_map, mask);
for(i = 0; i <= high; i++) {
- if(mask & (1 << i)) {
+ if (cpu_isset(i, mask)) {
ccall_info.processors_in[i] = 0;
ccall_info.processors_out[i] = 0;
sun4d_send_ipi(i, IRQ_CROSS_CALL);
next prev parent reply other threads:[~2004-08-05 4:43 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-02 8:55 2.6.8-rc2-mm2 Andrew Morton
2004-08-02 9:23 ` 2.6.8-rc2-mm2 Espen Fjellvær Olsen
2004-08-02 12:10 ` 2.6.8-rc2-mm2 Rik van Riel
2004-08-05 10:56 ` 2.6.8-rc2-mm2 Hideo AOKI
2004-08-05 12:55 ` 2.6.8-rc2-mm2 Hideo AOKI
2004-08-02 13:07 ` 2.6.8-rc2-mm2 Con Kolivas
2004-08-03 6:43 ` 2.6.8-rc2-mm2 Nick Piggin
2004-08-03 7:35 ` 2.6.8-rc2-mm2 Con Kolivas
2004-08-03 7:43 ` 2.6.8-rc2-mm2 Nick Piggin
2004-08-03 7:45 ` 2.6.8-rc2-mm2 Con Kolivas
2004-08-04 8:35 ` 2.6.8-rc2-mm2 Nick Piggin
2004-08-04 10:12 ` 2.6.8-rc2-mm2 Con Kolivas
2004-08-04 10:33 ` 2.6.8-rc2-mm2 Nick Piggin
2004-08-04 11:42 ` 2.6.8-rc2-mm2 bert hubert
2004-08-05 1:21 ` 2.6.8-rc2-mm2 Nick Piggin
2004-08-04 10:31 ` 2.6.8-rc2-mm2 Ingo Molnar
2004-08-04 10:46 ` 2.6.8-rc2-mm2 Nick Piggin
2004-08-04 10:47 ` 2.6.8-rc2-mm2 Con Kolivas
2004-08-04 12:45 ` 2.6.8-rc2-mm2 Ingo Molnar
2004-08-05 2:53 ` 2.6.8-rc2-mm2 Con Kolivas
2004-08-05 8:34 ` 2.6.8-rc2-mm2 Helge Hafting
2004-08-05 9:34 ` 2.6.8-rc2-mm2 Con Kolivas
2004-08-05 10:47 ` 2.6.8-rc2-mm2 Ingo Molnar
2004-08-02 13:52 ` 2.6.8-rc2-mm2 William Lee Irwin III
2004-08-02 16:12 ` 2.6.8-rc2-mm2 William Lee Irwin III
2004-08-02 14:28 ` 2.6.8-rc2-mm2 William Lee Irwin III
2004-08-02 15:31 ` 2.6.8-rc2-mm2 Mark Watts
2004-08-02 15:33 ` 2.6.8-rc2-mm2 Jesper Juhl
2004-08-02 15:38 ` 2.6.8-rc2-mm2 Dominik Karall
2004-08-02 16:02 ` 2.6.8-rc2-mm2 Mark Watts
2004-08-03 6:55 ` 2.6.8-rc2-mm2 Clemens Schwaighofer
2004-08-02 15:57 ` 2.6.8-rc2-mm2 Martin Zwickel
2004-08-02 17:59 ` 2.6.8-rc2-mm2 (compile stats) John Cherry
2004-08-02 18:15 ` 2.6.8-rc2-mm2 Peter Osterlund
2004-08-02 22:16 ` [patch] 2.6.8-rc2-mm2: compile error with SWAP=n Adrian Bunk
2004-08-03 8:27 ` 2.6.8-rc2-mm2 Mark Watts
2004-08-03 13:05 ` 2.6.8-rc2-mm2 R. J. Wysocki
2004-08-03 13:13 ` 2.6.8-rc2-mm2 Con Kolivas
2004-08-03 19:44 ` 2.6.8-rc2-mm2 Adrian Bunk
2004-08-04 16:32 ` 2.6.8-rc2-mm2 Dominik Karall
2004-08-05 4:38 ` [sparc32] [1/13] turbosparc flush warnings William Lee Irwin III
2004-08-05 4:39 ` [sparc32] [2/13] sparc32 init_idle() William Lee Irwin III
2004-08-05 4:41 ` William Lee Irwin III [this message]
2004-08-05 4:44 ` [sparc32] [4/13] smp_processor_id() BITFIXUP fixes William Lee Irwin III
2004-08-05 4:46 ` [sparc32] [5/13] reinstate smp_reschedule_irq() William Lee Irwin III
2004-08-05 4:47 ` [sparc32] [6/13] remove references to start_secondary() William Lee Irwin III
2004-08-05 4:48 ` [sparc32] [7/13] remove references to num_context_patch2 William Lee Irwin III
2004-08-05 4:49 ` [sparc32] [8/13] define cache_decay_ticks William Lee Irwin III
2004-08-05 4:54 ` [sparc32] [9/13] remove unused variable in dvma.c William Lee Irwin III
2004-08-05 4:55 ` [sparc32] [10/13] sun4 does not support SMP William Lee Irwin III
2004-08-05 4:56 ` [sparc32] [11/13] make CONFIG_SMP depend on CONFIG_BROKEN William Lee Irwin III
2004-08-05 5:01 ` [sparc32] [12/13] gcc-3.3 macro parenthesization fix for memcpy.S William Lee Irwin III
2004-08-05 5:31 ` [sparc32] [13/13] ignore undefined symbols with 3 or more leading underscores William Lee Irwin III
2004-08-05 7:28 ` [sparc32] [12/13] gcc-3.3 macro parenthesization fix for memcpy.S Jakub Jelinek
2004-08-05 7:38 ` William Lee Irwin III
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=20040805044130.GU2334@holomorphy.com \
--to=wli@holomorphy.com \
--cc=akpm@osdl.org \
--cc=linux-kernel@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 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.