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

David Miller
2009-11-17T03:09:08Z

From: Cyrill Gorcunov <gorcunov@gmail.com>
Date: Tue, 17 Nov 2009 00:50:52 +0300

> On Mon, Nov 16, 2009 at 01:46:07PM -0800, H. Peter Anvin wrote:
>> On 11/16/2009 01:43 PM, Cyrill Gorcunov wrote:
>> >
>> > It seems we have one
>> >
>> > arch/x86/kernel/setup.c:125:unsigned int boot_cpu_id __read_mostly;
>> >
>> > -- Cyrill
>>
>> We probably should make it an inline function so that if other arches
>> want to define it to be a constant or some other kind of special thing
>> they can.
>
> IA-64 and SPARC already has this variable. But boot_cpu_id() as an
> inline function seem to be more natural/portable ineed.

Only 32-bit SPARC actually has it. On sparc64 we have no reason to
remember which processor was the boot cpu, and remembering it merely
for the sake of only printing out the bogomips message once seems a
bit excessive?

How about:

static bool printed;

if (!printed) {
printk(...);
printed = true;
}

Or, alternatively, use an atomic_t instead of a bool if you think
races matter this early in the boot process.