Re: [PATCH 3/6] INIT: Limit the number of per cpu calibration bootup messages

Cyrill Gorcunov
2009-11-17T17:42:06Z

On Tue, Nov 17, 2009 at 08:29:28AM -0800, David Miller wrote:
> From: Cyrill Gorcunov <gorcunov@gmail.com>
> Date: Tue, 17 Nov 2009 18:59:46 +0300
>
> > Perhaps for other archs like SPARC64, where as you said no need to
> > remember boot cpu id at all, we should define some __weak per-kernel
> > global helper which would return 0 and every arch would implement
> > own helper boot_cpu_id().
>
> On many of my machines none of my cpus are numbered "0", so that
> wouldn't be a legitimate implementation on sparc64.
>
> I see no reason for a platform the be required to remember the boot
> cpu ID, there is nothing special about that processor generically.

I fear we still need it and it's special due to code structure at
least. For SMP compiled kernel say callin() do change its behaviour
depending on which cpu it's called.

Also iy seems a differ techhique used to find out on which cpu
the code is running: there is smp_processor_id() == 0 and raw version
and boot_cpu_id and cpu == 0, so having one general boot_cpu_id() would
be more clear (though we will need to clean code up then :)

So plain hard_smp_processor_id() wouldn't help since it doesn't
say if this is a boot cpu or not.

>
> And if we do need it generically, it's available there as
> hard_smp_processor_id() when start_kernel() is called. So init/main.c
> could remember that value in an __initdata annotated static variable.
>
> But just using a boolean for this "did I print the bogomips message
> already?" thing seems more than sufficient.
>

Yes. As I see Mike already pick it up. Thanks David!

-- Cyrill