xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Bader <stefan.bader@canonical.com>
To: Boris Ostrovsky <boris.ostrovsky@amd.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: Workings/effectiveness of the xen-acpi-processor driver
Date: Thu, 03 May 2012 08:55:52 +0200	[thread overview]
Message-ID: <4FA22BF8.2050409@canonical.com> (raw)
In-Reply-To: <4FA1B096.5010009@amd.com>


[-- Attachment #1.1: Type: text/plain, Size: 3721 bytes --]

On 03.05.2012 00:09, Boris Ostrovsky wrote:
> On 05/02/2012 05:41 PM, Konrad Rzeszutek Wilk wrote:
>> On Wed, May 02, 2012 at 02:31:07PM -0700, Boris Ostrovsky wrote:
>>> On 05/02/2012 01:14 PM, Konrad Rzeszutek Wilk wrote:
>>>> On Wed, May 02, 2012 at 01:06:34PM -0400, Boris Ostrovsky wrote:
>>>>> On 05/02/2012 12:08 PM, Konrad Rzeszutek Wilk wrote:
>>>>>> diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
>>>>>> index a8f8844..d816448 100644
>>>>>> --- a/arch/x86/xen/enlighten.c
>>>>>> +++ b/arch/x86/xen/enlighten.c
>>>>>> @@ -811,7 +811,29 @@ static void xen_io_delay(void)
>>>>>>   #ifdef CONFIG_X86_LOCAL_APIC
>>>>>>   static u32 xen_apic_read(u32 reg)
>>>>>>   {
>>>>>> -    return 0;
>>>>>> +    struct xen_platform_op op = {
>>>>>> +        .cmd = XENPF_get_cpuinfo,
>>>>>> +        .interface_version = XENPF_INTERFACE_VERSION,
>>>>>> +        .u.pcpu_info.xen_cpuid = 0,
>>>>>
>>>>>
>>>>> Is this always zero? This will probably solve the current problem
>>>>
>>>> Its a CPU number (not tied in to APIC or ACPI IDs).
>>>
>>> Why not use CPU number instead of zero here?
>>
>> The issue was only with the bootup CPU - so was using the Xen's
>> bootup CPU number - which is zero (as is Linux's).
> 
> I agree that for this particular problem this may be sufficient.
> 
> My concern is that in the future someone may decide to use apic_read(APIC_ID) or
> read_apic_id() for some other purpose and they won't get expected result (i.e.
> on all CPUs they will get the same answer).
> 
>>
>>>
>>>>
>>>>> but I am wondering whether in the future we might hit another bug
>>>>> because this routine will return the same APICID for all VCPUs.
>>>>
>>>>   Later on it does a check for 'smp_processor_id()' - and if
>>>> that is anything but zero it will bail out.
>>>
>>> Can you point me to the check you are referring to?
>>
>> if (!xen_initial_domain() || smp_processor_id())
> 
> I don't see this line --- neither in the mainline nor in your kernel. Which
> kernel and which routine is this in?

This is in the inline patch Konrad asked me to check.
> 
> BTW, this patch doesn't quite work, xen-acpi-processor driver fails to load with
> the same error as before. I'll look at this tomorrow more carefully.

It does fail but at least for me it seems slightly different. I do the modprobe
after turning on all acpi debugging levels and layers. And without any change
there are queries visible. With that patch the driver just fails but there are
no queries. I plan to have another go with messages sprinkled to all exit paths
today, too (was just a bit too late and two pints later yesterday).


-Stefan
> 
> 
> -boris
> 
>>
>>
>>>
>>> -boris
>>>
>>>
>>>>
>>>> So this shoudl solve the problem for the bootup processor.
>>>>>
>>>>> -boris
>>>>>
>>>>>
>>>>>> +    };
>>>>>> +    int ret = 0;
>>>>>> +
>>>>>> +    /* Shouldn't need this as APIC is turned off for PV, and we only
>>>>>> +     * get called on the bootup processor. But just in case. */
>>>>>> +    if (!xen_initial_domain() || smp_processor_id())
>>>>>> +        return 0;
>>>>>> +
>>>>>> +    if (reg == APIC_LVR)
>>>>>> +        return 0x10;
>>>>>> +
>>>>>> +    if (reg != APIC_ID)
>>>>>> +        return 0;
>>>>>> +
>>>>>> +    ret = HYPERVISOR_dom0_op(&op);
>>>>>> +    if (ret)
>>>>>> +        return 0;
>>>>>> +
>>>>>> +    return op.u.pcpu_info.apic_id;
>>>>>>   }
>>>>>>
>>>>>>   static void xen_apic_write(u32 reg, u32 val)
>>>>>>
>>>>>
>>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@lists.xen.org
>>> http://lists.xen.org/xen-devel
>>
> 
> 



[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 900 bytes --]

[-- Attachment #2: Type: text/plain, Size: 126 bytes --]

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2012-05-03  6:55 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-25 13:00 Workings/effectiveness of the xen-acpi-processor driver Stefan Bader
2012-04-26 15:50 ` Konrad Rzeszutek Wilk
2012-04-26 16:25   ` Stefan Bader
2012-04-26 17:04     ` Konrad Rzeszutek Wilk
2012-05-06 15:23       ` Pasi Kärkkäinen
2012-05-07 17:33         ` Konrad Rzeszutek Wilk
2012-05-07 17:44           ` Pasi Kärkkäinen
2012-05-01 20:02     ` Konrad Rzeszutek Wilk
2012-05-01 22:35       ` Boris Ostrovsky
2012-05-01 22:54         ` Konrad Rzeszutek Wilk
2012-05-02  0:47           ` Konrad Rzeszutek Wilk
2012-05-02  1:11             ` Boris Ostrovsky
2012-05-02  9:19               ` Jan Beulich
2012-05-02 14:56           ` Stefan Bader
2012-05-02  8:36         ` Stefan Bader
2012-05-02 15:01         ` Stefan Bader
2012-05-02 16:08           ` Konrad Rzeszutek Wilk
2012-05-02 17:06             ` Boris Ostrovsky
2012-05-02 17:14               ` Konrad Rzeszutek Wilk
2012-05-02 21:31                 ` Boris Ostrovsky
2012-05-02 21:41                   ` Konrad Rzeszutek Wilk
2012-05-02 22:09                     ` Boris Ostrovsky
2012-05-03  6:55                       ` Stefan Bader [this message]
2012-05-03 10:00                         ` Stefan Bader
2012-05-03 12:58                       ` Stefan Bader
2012-05-03 14:47                         ` Stefan Bader
2012-05-03 15:46                           ` Konrad Rzeszutek Wilk
2012-05-03 17:02                             ` Boris Ostrovsky
2012-05-03 17:08                             ` Konrad Rzeszutek Wilk
2012-05-04  8:00                               ` Stefan Bader
2012-05-03 16:14                       ` Konrad Rzeszutek Wilk
2012-05-02 21:29             ` Stefan Bader
2012-05-02  8:22       ` Stefan Bader

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=4FA22BF8.2050409@canonical.com \
    --to=stefan.bader@canonical.com \
    --cc=boris.ostrovsky@amd.com \
    --cc=jbeulich@suse.com \
    --cc=konrad.wilk@oracle.com \
    --cc=xen-devel@lists.xensource.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).