All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: linux-kernel@vger.kernel.org, mingo@redhat.com
Subject: Re: [PATCH 1/3] fix debug message of CPU clock speed
Date: Wed, 28 Jan 2009 11:33:17 +0900	[thread overview]
Message-ID: <497FC3ED.7080601@jp.fujitsu.com> (raw)
In-Reply-To: <20090127125349.GB23121@elte.hu>

Hi, Ingo

Thank you for your comments.
I apply your comments to the patch ASAP.

Regard,
Yasuaki Ishimatsu

Ingo Molnar wrote:
> * Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com> wrote:
> 
>> LOCAL APIC is corrected by PM-Timer, when SMI occurred while LOCAL APIC 
>> is calibrated. In this case, LOCAL APIC debug message(Boot with 
>> apic=debug) is displayed correctly, however, CPU clock speed debug 
>> message is displayed wrongly .
> 
> your fix looks good, but there are a few minor style details that need to 
> be addressed:
> 
>> When SMI occured on my machine, which has 1.6GHz CPU, CPU clock speed is 
>> displayed 3622.0205 MHz as follow.
>>
>> 	CPU0: Intel(R) Xeon(R) CPU            5110  @ 1.60GHz stepping 06
>> 	Using local APIC timer interrupts.
>> 	calibrating APIC timer ...
>> 	... lapic delta = 3773130
>> 	... PM timer delta = 812434
>> 	APIC calibration not consistent with PM Timer: 226ms instead of 100ms
>> 	APIC delta adjusted to PM-Timer: 1662420 (3773130)
>> 	..... delta 1662420
>> 	..... mult: 71411249
>> 	..... calibration result: 265987
>> 	..... CPU clock speed is 3622.0205 MHz.  =====>  here
>> 	..... host bus clock speed is 265.0987 MHz.
>>
>> This patch fixes to displaying CPU clock speed correctly as follow.
>>
>> 	CPU0: Intel(R) Xeon(R) CPU            5110  @ 1.60GHz stepping 06
>> 	Using local APIC timer interrupts.
>> 	calibrating APIC timer ...
>> 	... lapic delta = 3773131
>> 	... PM timer delta = 812434
>> 	APIC calibration not consistent with PM Timer: 226ms instead of 100ms
>> 	APIC delta adjusted to PM-Timer: 1662420 (3773131)
>> 	TSC delta adjusted to PM-Timer: 159592409 (362220564)
>> 	..... delta 1662420
>> 	..... mult: 71411249
>> 	..... calibration result: 265987
>> 	..... CPU clock speed is 1595.0924 MHz.
>> 	..... host bus clock speed is 265.0987 MHz.
>>
>> Signed-off-by: Yasuaki Ishimatsu <isimatu.yasuaki@jp.fujitsu.com>
>>
>> ---
>>  arch/x86/kernel/apic.c |   23 +++++++++++++++++------
>>  1 file changed, 17 insertions(+), 6 deletions(-)
>>
>> Index: linux-2.6.29-rc2/arch/x86/kernel/apic.c
>> ===================================================================
>> --- linux-2.6.29-rc2.orig/arch/x86/kernel/apic.c	2009-01-27 11:04:40.000000000 +0900
>> +++ linux-2.6.29-rc2/arch/x86/kernel/apic.c	2009-01-27 12:29:03.000000000 +0900
>> @@ -535,7 +535,8 @@ static void __init lapic_cal_handler(str
>>  	}
>>  }
>>
>> -static int __init calibrate_by_pmtimer(long deltapm, long *delta)
>> +static int __init calibrate_by_pmtimer(long deltapm, long *delta,
>> +						long *deltatsc)
> 
> The cleaner prototype line-width break is:
> 
>   + static int __init
>   + calibrate_by_pmtimer(long deltapm, long *delta, long *deltatsc)
> 
> 
> this function:
> 
>> @@ -569,6 +570,15 @@ static int __init calibrate_by_pmtimer(l
>>  		pr_info("APIC delta adjusted to PM-Timer: "
>>  			"%lu (%ld)\n", (unsigned long)res, *delta);
>>  		*delta = (long)res;
>> +
>> +		if (cpu_has_tsc) {
>> +			res = (((u64)(*deltatsc)) * pm_100ms);
>> +			do_div(res, deltapm);
>> +			apic_printk(APIC_VERBOSE, "TSC delta adjusted to "
>> +					"PM-Timer: %lu (%ld)\n",
>> +					(unsigned long)res, *deltatsc);
>> +			*deltatsc = (long)res;
>> +		}
> 
> has too deep nesting in the form of:
> 
> 	if (A) {
> 		...
> 	} else {
> 		...
> 		if (B) {
> 			...
> 		}
> 	}
> 
> 	return 0;
> 
> 
> Could you please restructure it to a cleaner control flow, in the form of:
> 
> 	if (A) {
> 		...
> 		return 0;
> 	}
> 	...
> 	if (B) {
> 		...
>   	}
> 
> 	return 0;
> 
> ?
> 
> Thanks,
> 
> 	Ingo
> 


  reply	other threads:[~2009-01-28  2:40 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-27  8:13 [PATCH 0/3] fix debug message of LOCAL APIC calibration Yasuaki Ishimatsu
2009-01-27  8:21 ` [PATCH 1/3] fix debug message of CPU clock speed Yasuaki Ishimatsu
2009-01-27 12:53   ` Ingo Molnar
2009-01-28  2:33     ` Yasuaki Ishimatsu [this message]
2009-01-27  8:22 ` [PATCH 2/3] unify PM-Timer messages Yasuaki Ishimatsu
2009-01-27  8:24 ` [PATCH 3/3] fix typo "ACPI_PM_OVRRUN" -> "ACPI_PM_OVERRUN" Yasuaki Ishimatsu

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=497FC3ED.7080601@jp.fujitsu.com \
    --to=isimatu.yasuaki@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=mingo@redhat.com \
    /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.