Hi, On 02/14/2017 05:23 PM, Sergei Shtylyov wrote: > Hello! > > On 2/14/2017 5:27 AM, Lu Baolu wrote: > >> Add a simple udelay calibration in x86 architecture-specific >> boot-time initializations. This will get a workable estimate >> for loops_per_jiffy. Hence, udelay() could be used after this >> initialization. >> >> Cc: Ingo Molnar <mi...@redhat.com> >> Cc: x...@kernel.org >> Signed-off-by: Lu Baolu <baolu...@linux.intel.com> >> --- >> arch/x86/kernel/setup.c | 22 ++++++++++++++++++++++ >> 1 file changed, 22 insertions(+) >> >> diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c >> index 4cfba94..aab7faa 100644 >> --- a/arch/x86/kernel/setup.c >> +++ b/arch/x86/kernel/setup.c >> @@ -835,6 +835,26 @@ dump_kernel_offset(struct notifier_block *self, >> unsigned long v, void *p) >> return 0; >> } >> >> +static void __init simple_udelay_calibration(void) >> +{ >> + unsigned int tsc_khz, cpu_khz; >> + unsigned long lpj; >> + >> + if (!boot_cpu_has(X86_FEATURE_TSC)) >> + return; >> + >> + cpu_khz = x86_platform.calibrate_cpu(); >> + tsc_khz = x86_platform.calibrate_tsc(); >> + >> + tsc_khz = tsc_khz ? : cpu_khz; > > Why not: > > if (!tsc_khz) > tsc_khz = cpu_khz; > > It's more clear IMHO.
Sure. Best regards, Lu Baolu > >> + if (!tsc_khz) >> + return; >> + >> + lpj = tsc_khz * 1000; >> + do_div(lpj, HZ); >> + loops_per_jiffy = lpj; >> +} >> + >> /* >> * Determine if we were loaded by an EFI loader. If so, then we have also >> been >> * passed the efi memmap, systab, etc., so we should use these data >> structures > [...] > > MBR, Sergei > > -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html