Skip to contentSkip to conversation

volatile unsigned long cpu_online_map vs unsigned long cpu_online_map

Linux-ia64 Andreas Schwab 2 participants 2 messages Jun 26, 2001

lore
Share & tools
lore
#0 lore raw

include/asm-ia64/smp.h has 'extern unsigned long cpu_online_map', but arch/ia64/kernel/setup.c and arch/ia64/kernel/smpboot.c have 'volatile unsigned long cpu_online_map'. Which one is correct?

Andreas.

Signature · 5 lines
Andreas Schwab                                  "And now for something
SuSE Labs                                        completely different."
[email protected]
SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
#1 lore raw
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line · Andreas Schwab

Andreas> include/asm-ia64/smp.h has 'extern unsigned long Andreas> cpu_online_map', but arch/ia64/kernel/setup.c and Andreas> arch/ia64/kernel/smpboot.c have 'volatile unsigned long Andreas> cpu_online_map'. Which one is correct?

It should be volatile. Apparently, there were some changes in the gcc3.0 tree shortly before the final release which made gcc more picky (at least I don't recall seeing those messages before). Also, I think there may be a new code generation problem in gcc3.0: the kernel gets stuck in the middle of the boot (after the message "Starting up secondaries"). I'll try to look into this soon, but I'm at Usenix the rest of this week and on vacation right afterwards, so I may not get to it until mid-July. So it looks like gcc3.0 isn't as kernel-ready as I thought it was. Bummer.

	--david