* AW: RE: RE: RE: RE: RE: No C-States any longer...
2011-06-12 9:01 Tian, Kevin
@ 2011-06-13 13:21 ` Carsten Schiers
2011-06-13 20:27 ` Carsten Schiers
0 siblings, 1 reply; 8+ messages in thread
From: Carsten Schiers @ 2011-06-13 13:21 UTC (permalink / raw)
To: ke.yu, kevin.tian; +Cc: xen-devel
>>I will try to boot native Linux in order to verify 100%
>> that the tables
>> are there.
>
>yes, that's interesting data to compare.
I have booted with a Live Linux and dumped acpi tables. Those are 100%
identical with those
I received from Dom0. I will now start looking into
acpi_processor_get_power_info_fadt And
check, why it is returning -ENODEV.
Carsten.
^ permalink raw reply [flat|nested] 8+ messages in thread
* AW: RE: RE: RE: RE: RE: No C-States any longer...
2011-06-13 13:21 ` AW: " Carsten Schiers
@ 2011-06-13 20:27 ` Carsten Schiers
0 siblings, 0 replies; 8+ messages in thread
From: Carsten Schiers @ 2011-06-13 20:27 UTC (permalink / raw)
To: ke.yu, kevin.tian, Carsten Schiers; +Cc: xen-devel
One step further: the problem is that pr->pblk is not set, thus
acpi_processor_get_power_info_fadt fails.
Knowing this, I found an error in the ACPI_DEBUG output that
corresponds:
[ 17.062739] processor_xen-0222 [00] xen_acpi_processor_get: Processor
[-1:0]
[ 17.062902] processor_xen-0225 [00] xen_acpi_processor_get: No PBLK
(NULL address)
It does this for all processors. pr_id is always -1, pr->acpi_id
counting up from 0 to 2.
Any help is welcome, but I will analyze further...
Carsten.
-----Ursprüngliche Nachricht-----
Von: Carsten Schiers
Gesendet: Montag, 13. Juni 2011 15:22
An: ke.yu; kevin.tian
Cc: xen-devel
Betreff: AW: RE: RE: RE: RE: RE: [Xen-devel] No C-States any longer...
>>I will try to boot native Linux in order to verify 100%
>> that the tables
>> are there.
>
>yes, that's interesting data to compare.
I have booted with a Live Linux and dumped acpi tables. Those are 100%
identical with those
I received from Dom0. I will now start looking into
acpi_processor_get_power_info_fadt And
check, why it is returning -ENODEV.
Carsten.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* AW: RE: RE: RE: RE: RE: No C-States any longer...
@ 2011-06-15 9:03 Carsten Schiers
0 siblings, 0 replies; 8+ messages in thread
From: Carsten Schiers @ 2011-06-15 9:03 UTC (permalink / raw)
To: Tian, Kevin, Ian Campbell; +Cc: xen-devel, Yu, Ke
Thanks for your support.
So the plan is to run the very kernel (2.6.32.40 from Jeremy's git) natively, without Xen, and check
what acpi.debug and my printks are reporting?
Would the other check be to change pr_id from -1 to 0 by some helper code in the right place?
Have I correctly understood that my BIOS seems to implement C-States through FADT instead of _CST,
which is ok generally, but the FADT PBLK is not correctly set (maybe because it worries about the -1)?
By the way:
- I dom0_vcpus_pin and restrict Dom0 to only use one vcpu in xend-config.sxp
- I used Xen/Debian Squeeze PVOPS Xen Kernel on the Intel Box
- The same combo fails on the AMD box, latest PVOPS, too. Further testing done with latest PVOPS.
Everything used to work with Xen / 2.6.18 Dom0 Kernel, but I cannot check that, because it will not
boot any longer, because it doesn't find the root system. I currently concentrate on the C-State
issue.
Carsten.
----- Originalnachricht -----
Von: "Tian, Kevin" <kevin.tian@intel.com>
Gesendet: Mit, 15.6.2011 10:39
An: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Carsten Schiers <carsten@schiers.de> ; "Yu, Ke" <ke.yu@intel.com> ; xen-devel <xen-devel@lists.xensource.com>
Betreff: RE: RE: RE: RE: RE: RE: [Xen-devel] No C-States any longer...
> From: Ian Campbell [mailto:Ian.Campbell@citrix.com]
> Sent: Wednesday, June 15, 2011 4:35 PM
>
> On Wed, 2011-06-15 at 09:11 +0100, Tian, Kevin wrote:
> > > From: Carsten Schiers [mailto:carsten@schiers.de]
> > > Sent: Tuesday, June 14, 2011 4:27 AM
> > >
> > > One step further: the problem is that pr->pblk is not set, thus
> > > acpi_processor_get_power_info_fadt fails.
> > > Knowing this, I found an error in the ACPI_DEBUG output that
> > > corresponds:
> > >
> > > [ 17.062739] processor_xen-0222 [00] xen_acpi_processor_get:
> Processor
> > > [-1:0]
> > > [ 17.062902] processor_xen-0225 [00] xen_acpi_processor_get: No PBLK
> > > (NULL address)
> >
> > this looks a bit strange. how about the native log?
> >
> > >
> > > It does this for all processors. pr_id is always -1, pr->acpi_id
> > > counting up from 0 to 2.
> >
> > what's your dom0 vcpu number? and how about physical cpu?
>
> Wasn't there some oddity in the Xen ACPI PM support due to the
> disconnect between VCPU and PCPU? I thought it resulted in some CPU id
> or other being reported back as -1, in much this manner.
yes, the existing tricky changes are mostly used to tackle this disconnection.
>
> There's some tweaking of this stuff in e.g.
> xen_acpi_processor_get_power_info(). But equally
> xen_acpi_processor_get_info() has a bunch of cases for the != -1 case.
>
> Does the dom0_vcpus_pin hypervisor option workaround this sort of thing?
We don't want to add that limitation to have dom0 vcpu number same as
physical cpu number to use PM features. But yes Carsten can try use
same number to see whether it works for him. If it works, then there's other
corner cases we didn't capture. But since this works on his Intel box, which
I guess same configuration is used, I'd think it may come from some oddity
in AMD box's ACPI table which is not well handled by either common ACPI
code or Xen specific stubs.
Thanks
Kevin
>
> This changeset refers to the -1 too:
>
> commit 68320323a51c2378aca433c76157d9e66104ff1e
> Author: Jiang, Yunhong <yunhong.jiang@intel.com>
> Date: Tue Sep 14 14:41:52 2010 -0700
>
> xen/acpi: Add cpu hotplug support
>
> Add physical CPU hotplug support to origin/xen/next-2.6.32 branch.
> Please notice that, even with this change, the acpi_processor->id is
> still always -1. This is because several workaround in PM side depends
> on acpi_processor->id == -1. As the CPU hotplug logic does not depends
> on acpi_processor->id, I'd still keep it no changes.
>
> But we need change the acpi_processor->id in the future.
>
> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
>
> Ian.
>
> > > Any help is welcome, but I will analyze further...
> >
> > Current Dom0 depends on several Xen specific functions like
> xen_acpi_get_power_info
> > you mentioned earlier, which is a copy from native acpi_get_power_info with
> xen
> > specific tweaks added. there's possibility that in your environment general
> ACPI code
> > is changed which is not reflected in Xen specific versions.
> >
> > Thanks
> > Kevin
> >
> > >
> > > Carsten.
> > >
> > > -----Ursprüngliche Nachricht-----
> > > Von: Carsten Schiers
> > > Gesendet: Montag, 13. Juni 2011 15:22
> > > An: ke.yu; kevin.tian
> > > Cc: xen-devel
> > > Betreff: AW: RE: RE: RE: RE: RE: [Xen-devel] No C-States any longer...
> > >
> > > >>I will try to boot native Linux in order to verify 100%
> > > >> that the tables
> > > >> are there.
> > > >
> > > >yes, that's interesting data to compare.
> > >
> > > I have booted with a Live Linux and dumped acpi tables. Those are 100%
> > > identical with those
> > > I received from Dom0. I will now start looking into
> > > acpi_processor_get_power_info_fadt And
> > > check, why it is returning -ENODEV.
> > >
> > > Carsten.
> > >
> > >
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel@lists.xensource.com
> > > http://lists.xensource.com/xen-devel
> > >
> >
> >
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xensource.com
> > http://lists.xensource.com/xen-devel
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* AW: RE: RE: RE: RE: RE: No C-States any longer...
@ 2011-06-15 9:12 Carsten Schiers
0 siblings, 0 replies; 8+ messages in thread
From: Carsten Schiers @ 2011-06-15 9:12 UTC (permalink / raw)
To: Tian, Kevin, Yu, Ke; +Cc: xen-devel
> this looks a bit strange. how about the native log?
I have not done a log with ACPI_DEBUG enabled. Will do so tonight or tomorrow night.
> what's your dom0 vcpu number? and how about physical cpu?
dom0_vcpu_pin/xend-config.sxp result in the following excerpt of xm vcpu-list:
Name ID VCPU CPU State ...
Domain-0 0 0 0 r-- ...
Domain-0 0 1 - --p ...
Domain-0 0 2 - --p ...
...
> there's possibility that in your environment general ACPI code
> is changed which is not reflected in Xen specific versions.
I have not understood that.
Thanks,
Carsten.
^ permalink raw reply [flat|nested] 8+ messages in thread
* AW: RE: RE: RE: RE: RE: No C-States any longer...
2011-06-15 8:15 Tian, Kevin
@ 2011-06-15 9:14 ` Carsten Schiers
0 siblings, 0 replies; 8+ messages in thread
From: Carsten Schiers @ 2011-06-15 9:14 UTC (permalink / raw)
To: Tian, Kevin, Yu, Ke; +Cc: xen-devel
> Is your native linux with same version as dom0?
Not in this case, sorry. I used a Knoppix Live Linux CD.
> It's better to use a same version native kernel to make sure that this is not
> a generic ACPI bug.
Check is scheduled ;o).
Thanks,
Carsten.
^ permalink raw reply [flat|nested] 8+ messages in thread
* AW: RE: RE: RE: RE: RE: No C-States any longer...
2011-06-15 13:06 Konrad Rzeszutek Wilk
@ 2011-06-15 13:17 ` Carsten Schiers
0 siblings, 0 replies; 8+ messages in thread
From: Carsten Schiers @ 2011-06-15 13:17 UTC (permalink / raw)
To: Konrad Rzeszutek Wilk; +Cc: Tian, Kevin, xen-devel, Ian Campbell, Yu, Ke
>So just so that you don't lose heart - the C states do work on my AMD box.
>
>Interstingly the _PSS states are being reported as non-existent - but on baremetal
>they seem to exist.
Very intersting, as P-States work perfectly with my AMD box...
Cheers,
Carsten.
^ permalink raw reply [flat|nested] 8+ messages in thread
* AW: RE: RE: RE: RE: RE: No C-States any longer...
@ 2011-06-16 6:22 Carsten Schiers
2011-06-16 6:30 ` Tian, Kevin
0 siblings, 1 reply; 8+ messages in thread
From: Carsten Schiers @ 2011-06-16 6:22 UTC (permalink / raw)
To: Tian, Kevin, mark.langsdorf; +Cc: xen-devel, Ian Campbell, Yu, Ke
>In your case there's no _CST found, and then no PBLK found.
The only thing that are giveing me hope are:
- it worked once (Xenified 2.6.18.8)
- FADT contains C2/C3 Latency information (_CST Support is 00 BTW)
>do you mean the latest PVOPS from Konzad? I don't think Cstate/Pstate patches
>have been carried there, which still stay in Jeremy's tree.
Currently I tried with stable 2.6.32.x from Jeremy and Debian Squeeze, as Konrad
said, his 2.6.39.x would expose C-States for him, what did not before, I will try
his 2.6.39.x next. I can check this and native boot results tonight.
>Since this is the AMD box which I'm not familiar with, also CC Mark here who is
>the owner for power management on AMD boxes.
Mark, I realy hope you have an idea. This is - by the way - the X3 400e I just bought
because I never succeeded in getting TSC hickup-free >2.6.18 systems with my 4050e,
you eventually remember...?
Carsten.
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: RE: RE: RE: RE: RE: No C-States any longer...
2011-06-16 6:22 AW: RE: RE: RE: RE: RE: No C-States any longer Carsten Schiers
@ 2011-06-16 6:30 ` Tian, Kevin
0 siblings, 0 replies; 8+ messages in thread
From: Tian, Kevin @ 2011-06-16 6:30 UTC (permalink / raw)
To: Carsten Schiers, mark.langsdorf@amd.com; +Cc: Ian, xen-devel, Campbell, Yu, Ke
[-- Attachment #1: Type: text/plain, Size: 969 bytes --]
> From: Carsten Schiers [mailto:carsten@schiers.de]
> Sent: Thursday, June 16, 2011 2:22 PM
>
> >In your case there's no _CST found, and then no PBLK found.
>
> The only thing that are giveing me hope are:
>
> - it worked once (Xenified 2.6.18.8)
> - FADT contains C2/C3 Latency information (_CST Support is 00 BTW)
w/o PBLK, FADT info is incomplete to construct a full Cstate information.
>
> >do you mean the latest PVOPS from Konzad? I don't think Cstate/Pstate
> patches
> >have been carried there, which still stay in Jeremy's tree.
>
> Currently I tried with stable 2.6.32.x from Jeremy and Debian Squeeze, as
> Konrad
> said, his 2.6.39.x would expose C-States for him, what did not before, I will try
> his 2.6.39.x next. I can check this and native boot results tonight.
I saw one patch from Konrad which is based on his experimental code. See
attached. You may ask him for the code for your experiment.
Thanks
Kevin
[-- Attachment #2: Type: message/rfc822, Size: 10857 bytes --]
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: "bderzhavets@yahoo.com" <bderzhavets@yahoo.com>, "Yu, Ke" <ke.yu@intel.com>, "carsten@schiers.de" <carsten@schiers.de>, "JBeulich@novell.com" <JBeulich@novell.com>, Jeremy Fitzhardinge <jeremy@goop.org>, "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>, "tom.goetz@virtualcomputer.com" <tom.goetz@virtualcomputer.com>
Subject: [Xen-devel] [RFC PATCH] acpi/xen: Evaluate the _PDC properly (for 2.6.32, and 2.6.39)
Date: Wed, 15 Jun 2011 21:46:16 +0800
Message-ID: <20110615134615.GA7529@dumpdata.com>
I was trying to bring up an prototype box and it while it booted fine under
Linux, if I tried to do it under Dom0 with a modified Linux kernel it crashed.
By modified I mean it had the "xen/acpi: add xen acpi processor driver" patch in it.
I traced it down to a one line fix which fixed the issue.
It might make sense to back-port this to the 2.6.32 tree, and it _might_ fix
some problems folks had with the processor_xen module (CC-ed here). If you
see a similar stack trace to the one outlined in the patch - then you might
be hitting this bug.
Anyhow, I am not that familiar with Linux ACPI parser or how the P states
are exposed - so it might be that this patch is completly bogus. Feedback
would be much appreciated.
commit 498adade0091900564e6a6bf06a0f793f09d4764
Author: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Tue Jun 14 21:44:35 2011 -0400
acpi/xen: Evaluate the _PDC properly.
The call to evaluate the _PDC was passing in the wrong argument.
Instead of passing in the acpi_handle it was passing in the structure
that held the acpi_handle as the second member. This can cause
the wrong evaluation on some machines ending up in trying to evaluate
the _PDC and dereferencing the prefix node (which is not part of
that structure) and causing a NULL pointer exception.
The results after running with this patch (and yes, there are no _PDC
on this box):
nsxfeval-0180 [2017820672] [4294967276] evaluate_object : ----Entry
nsxfeval-0359 [2017820672] [4294967276] evaluate_object : ----Exit- ****Exception****: AE_BAD_PARAMETER
processor_core-0306 [2017820672] [4294967275] processor_eval_pdc : Could not evaluate _PDC, using legacy perf. control.
nsxfeval-0180 [2017820672] [4294967276] evaluate_object : ----Entry
nsxfeval-0263 [2017820672] [4294967276] evaluate_object : pathname is [_PPC]
nseval-0090 [2017820672] [4294967277] ns_evaluate : ----Entry
nsutils-0707 [2017820672] [4294967278] ns_get_node : ----Entry ffffffff8173d637
nsutils-0391 [2017820672] [4294967279] ns_internalize_name : ----Entry
nsutils-0280 [2017820672] [4294967280] ns_build_internal_name: ----Entry
Without the patch (I enabled tracing here so there are more details,
note the prefix scope):
nsxfeval-0180 [2017820672] [4294967276] evaluate_object : ----Entry
utcopy-0641 [2017820672] [4294967277] ut_copy_eobject_to_iob: ----Entry
utcopy-0459 [2017820672] [4294967278] ut_copy_esimple_to_isi: ----Entry
utobject-0097 [2017820672] [4294967279] ut_create_internal_obj: ----Entry Buffer
utobject-0385 [2017820672] [4294967280] ut_allocate_object_des: ----Entry
utobject-0401 [2017820672] [4294967280] ut_allocate_object_des: ffff8800779748b8 Size 48
utobject-0403 [2017820672] [4294967280] ut_allocate_object_des: ----Exit- ffff8800779748b8
utobject-0146 [2017820672] [4294967279] ut_create_internal_obj: ----Exit- ffff8800779748b8
utcopy-0552 [2017820672] [4294967278] ut_copy_esimple_to_isi: ----Exit- AE_OK
utcopy-0656 [2017820672] [4294967277] ut_copy_eobject_to_iob: ----Exit- AE_OK
nsxfeval-0263 [2017820672] [4294967276] evaluate_object : pathname is [_PDC]
nseval-0090 [2017820672] [4294967277] ns_evaluate : ----Entry
nsutils-0707 [2017820672] [4294967278] ns_get_node : ----Entry ffffffff81733097
nsutils-0391 [2017820672] [4294967279] ns_internalize_name : ----Entry
nsutils-0280 [2017820672] [4294967280] ns_build_internal_name: ----Entry
nsutils-0363 [2017820672] [4294967280] ns_build_internal_name: Returning [ffff880069151ef0] (rel) "_PDC"
nsutils-0366 [2017820672] [4294967280] ns_build_internal_name: ----Exit- AE_OK
nsutils-0419 [2017820672] [4294967279] ns_internalize_name : ----Exit- AE_OK
utmutex-0255 [2017820672] [4294967278] ut_acquire_mutex : Thread 2017820672 attempting to acquire Mutex [ACPI_MTX_Namespace]
osl-0973 [2017820672] [4294967278] os_wait_semaphore : Waiting for semaphore[ffff88007f004280|1|65535]
osl-0992 [2017820672] [4294967278] os_wait_semaphore : Acquired semaphore[ffff88007f004280|1|65535] utmutex-0263 [2017820672] [4294967278] ut_acquire_mutex : Thread 2017820672 acquired Mutex [ACPI_MTX_Namespace]
nsaccess-0301 [2017820672] [4294967279] ns_lookup : ----Entry
nsutils-0663 [2017820672] [4294967280] ns_opens_scope : ----Entry Untyped
nsutils-0673 [2017820672] [4294967280] ns_opens_scope : ----Exit- 0000000000000000
nsaccess-0398 [2017820672] [4294967279] ns_lookup : Searching relative to prefix scope [ÿÿÿÿ] (ffff880069163800)
nsaccess-0510 [2017820672] [4294967279] ns_lookup : Simple Pathname (1 segment, Flags=2)
nsdump-0087 [2017820672] [4294967279] ns_print_pathname : [_PDC]
nssearch-0297 [2017820672] [4294967280] ns_search_and_enter : ----Entry
nssearch-0102 [2017820672] [4294967281] ns_search_one_scope : ----Entry
nsnames-0139 [2017820672] [4294967282] ns_get_external_pathna: ----Entry ffff880069163800
BUG: unable to handle kernel NULL pointer dereference at 0000000000000418
IP: [<ffffffff8129266f>] acpi_ns_get_pathname_length+0x1f/0x68
.. snip..
Pid: 1, comm: swapper Not tainted 2.6.39.1-00221-gbb09547 #1 Intel Corporation S2600CP/S2600CP
.. snip..
Call Trace:
[<ffffffff81292905>] acpi_ns_get_external_pathname+0x38/0x137
[<ffffffff81290a1f>] acpi_ns_search_one_scope+0x4b/0x1f5
[<ffffffff81290cfa>] acpi_ns_search_and_enter+0x131/0x42f
[<ffffffff81290310>] acpi_ns_lookup+0x4c8/0x6c9
[<ffffffff812933e3>] acpi_ns_get_node+0xe8/0x16e
[<ffffffff812920bf>] acpi_ns_evaluate+0x83/0x3b6
[<ffffffff812916f7>] acpi_evaluate_object+0x1f9/0x35b
[<ffffffff81123d7b>] ? kmem_cache_alloc_trace+0xa0/0xb0
[<ffffffff814a4e35>] acpi_processor_set_pdc+0x1cc/0x226
[<ffffffff814a5a1e>] xen_acpi_processor_add+0x45c/0x59d
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
diff --git a/drivers/acpi/processor_xen.c b/drivers/acpi/processor_xen.c
index 43760f8..db54525 100644
--- a/drivers/acpi/processor_xen.c
+++ b/drivers/acpi/processor_xen.c
@@ -311,7 +311,7 @@ static int __cpuinit xen_acpi_processor_add(struct acpi_device *device)
}
/* _PDC call should be done before doing anything else (if reqd.). */
- acpi_processor_set_pdc(pr);
+ acpi_processor_set_pdc(pr->handle);
#ifdef CONFIG_CPU_FREQ
xen_acpi_processor_ppc_has_changed(pr);
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply related [flat|nested] 8+ messages in thread
end of thread, other threads:[~2011-06-16 6:30 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-16 6:22 AW: RE: RE: RE: RE: RE: No C-States any longer Carsten Schiers
2011-06-16 6:30 ` Tian, Kevin
-- strict thread matches above, loose matches on Subject: below --
2011-06-15 13:06 Konrad Rzeszutek Wilk
2011-06-15 13:17 ` AW: " Carsten Schiers
2011-06-15 9:12 Carsten Schiers
2011-06-15 9:03 Carsten Schiers
2011-06-15 8:15 Tian, Kevin
2011-06-15 9:14 ` AW: " Carsten Schiers
2011-06-12 9:01 Tian, Kevin
2011-06-13 13:21 ` AW: " Carsten Schiers
2011-06-13 20:27 ` Carsten Schiers
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.