Re: [PATCH] x86: show cpuinfo only for online CPUs

H. Peter Anvin
2007-11-01T19:13:37Z

Glauber de Oliveira Costa wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Andreas Herrmann3 escreveu:
>> On Thu, Nov 01, 2007 at 06:35:43PM +0100, Andreas Herrmann3 wrote:
>>> On Thu, Nov 01, 2007 at 03:12:25PM -0200, Glauber de Oliveira Costa wrote:
>>>> So it could even work, but as accident. Unless I'm wrong about it, I'd
>>>> prefer to see an explicit attribution of cpu_index = 0 somewhere for the
>>>> boot cpu.
>>> Hmm, will look at this as well.
>> BTW, isn't it zero initialized anyway?
>> So, no need to explicitely set cpuinfo->cpu_index=0 for the boot cpu.
>
> Well, it should be, but as far as I know it is not exactly a guarantee
> given by all compilers. So it should be safer to do it explicitly, with
> no prejudice. Unless it's really guaranteed. If it is, yeah, no need.

Any uninitialized field in a static section (.data or .bss) is
guaranteed to be initialized to zero. This is guaranteed by the C
standard. In the former case, it is the responsibility of the compiler
and in the latter by the runtime.

The Linux percpu handling creates a .data.percpu section which is then
replicated into each of the CPU data blocks; thus, percpu data counts as
static data for this purpose, and initialization is guaranteed.

-hpa