RE: [PATCH V2 1/1] X86: Hyper-V: Get the local APIC timer frequencyfrom the hypervisor

From: KY Srinivasan
Date: Wed Sep 04 2013 - 11:03:54 EST




> -----Original Message-----
> From: Jan Beulich [mailto:JBeulich@xxxxxxxx]
> Sent: Wednesday, September 04, 2013 12:17 AM
> To: KY Srinivasan
> Cc: olaf@xxxxxxxxx; bp@xxxxxxxxx; apw@xxxxxxxxxxxxx; x86@xxxxxxxxxx;
> tglx@xxxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx;
> jasowang@xxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; hpa@xxxxxxxxx
> Subject: Re: [PATCH V2 1/1] X86: Hyper-V: Get the local APIC timer frequency
> from the hypervisor
>
> >>> On 03.09.13 at 20:30, "K. Y. Srinivasan" <kys@xxxxxxxxxxxxx> wrote:
> > @@ -76,6 +80,26 @@ static void __init ms_hyperv_init_platform(void)
> > printk(KERN_INFO "HyperV: features 0x%x, hints 0x%x\n",
> > ms_hyperv.features, ms_hyperv.hints);
> >
> > + if (ms_hyperv.features & HV_X64_MSR_APIC_FREQUENCY_AVAILABLE) {
> > + /*
> > + * Get the APIC frequency.
> > + */
> > + rdmsrl(HV_X64_MSR_APIC_FREQUENCY, hv_lapic_frequency);
> > + hv_lapic_frequency /= HZ;
> > + lapic_timer_frequency = hv_lapic_frequency;
> > + printk(KERN_INFO "HyperV: LAPIC Timer Frequency: %#x\n",
> > + lapic_timer_frequency);
> > +
> > + /*
> > + * On Hyper-V, when we are booting off an EFI firmware stack,
> > + * we do not have many legacy devices including PIC, PIT etc.
> > + */
> > + if (efi_enabled(EFI_BOOT)) {
> > + printk(KERN_INFO "HyperV: Using null_legacy_pic\n");
> > + legacy_pic = &null_legacy_pic;
> > + }
>
> And this check is really connected to the feature check around the
> whole block, rather than being independent? (I'd also think that
> this latter message would suffice to be KERN_DEBUG).

I felt it was safer to first check for the feature since if the feature is not
there, we need to calibrate based on PIT. Furthermore, the feature is available
even in legacy environments when we are not booting on an EFI stack.

Regards,

K. Y

>
> Jan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/