|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Workings/effectiveness of the xen-acpi-processor driver
On 02.05.2012 00:35, Boris Ostrovsky wrote:
> On 05/01/2012 04:02 PM, Konrad Rzeszutek Wilk wrote:
>> On Thu, Apr 26, 2012 at 06:25:28PM +0200, Stefan Bader wrote:
>>> On 26.04.2012 17:50, Konrad Rzeszutek Wilk wrote:
>>>> On Wed, Apr 25, 2012 at 03:00:58PM +0200, Stefan Bader wrote:
>>>>> Since there have been requests about that driver to get backported into
>>>>> 3.2, I
>>>>> was interested to find out what or how much would be gained by that.
>>>>>
>>>>> The first system I tried was an AMD based one (8 core Opteron 6128@2GHz).
>>>>> Which
>>>>> was not very successful as the drivers bail out of the init function
>>>>> because the
>>>>> first call to acpi_processor_register_performance() returns -ENODEV.
>>>>> There is
>>>>> some frequency scaling when running without Xen, so I need to do some more
>>>>> debugging there.
>
> I believe this is caused by the somewhat under-enlightened xen_apic_read():
>
> static u32 xen_apic_read(u32 reg)
> {
> return 0;
> }
>
> This results in some data, most importantly boot_cpu_physical_apicid, not
> being
> set correctly and, in turn, causes x86_cpu_to_apicid to be broken.
>
> On larger AMD systems boot processor is typically APICID=0x20 (I don't have
> Intel system handy to see how it looks there).
>
> As a quick and dirty test you can try:
>
> diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
> index edc2448..1f78998 100644
> --- a/arch/x86/kernel/apic/apic.c
> +++ b/arch/x86/kernel/apic/apic.c
> @@ -1781,6 +1781,7 @@ void __init register_lapic_address(unsigned long
> address)
> }
> if (boot_cpu_physical_apicid == -1U) {
> boot_cpu_physical_apicid = read_apic_id();
> + boot_cpu_physical_apicid = 32;
> apic_version[boot_cpu_physical_apicid] =
> GET_APIC_VERSION(apic_read(APIC_LVR));
> }
>
>
> (Set it to whatever APICID on core0 is, I suspect it won't be zero).
>
Indeed, when I hack the above id to be 0x10 (as my dmesg tells) most of the BIOS
bug messages are gone and the xen-acpi-processor driver successfully loads and
seems to be switching frequencies ok (just a quick tight loop which made one cpu
go from P4 to P0).
-Stefan
Attachment:
dmesg.xen.3 Attachment:
signature.asc _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |