* C states on AMD SMP
@ 2005-09-08 11:29 Erik Slagter
[not found] ` <1126178956.24699.42.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
0 siblings, 1 reply; 16+ messages in thread
From: Erik Slagter @ 2005-09-08 11:29 UTC (permalink / raw)
To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
[-- Attachment #1: Type: text/plain, Size: 1270 bytes --]
Hi,
I compiled & installed 2.6.13 (vanilla) on my Tyan Tiger S2466 (AMD768
chipset, 2xathlon MP 2600) yesterday. Indeed, as expected, acpi
"/proc/acpi/processor/*/power" (C states) is now supported on SMP. But,
to my surprise, it only shows one C state (C1), which, I assume, is
full-on. I am not completely sure about the CPU, but I do know that at
least the chipset supports C2 and C3 states (even got it sort of working
with pm_amd76x).
Can someone shine some light on this?
active state: C1
max_cstate: C8
bus master activity: 00000000
states:
*C1: type[C1] promotion[--] demotion[--]
latency[000] usage[59379522]
--- 8-< ----
processor : 1
vendor_id : AuthenticAMD
cpu family : 6
model : 8
model name : AMD Athlon(tm) Processor
stepping : 1
cpu MHz : 2133.515
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 mmx fxsr sse syscall mp mmxext 3dnowext 3dnow
bogomips : 4266.27
Thx.
[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 2115 bytes --]
^ permalink raw reply [flat|nested] 16+ messages in thread[parent not found: <1126178956.24699.42.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>]
* Re: C states on AMD SMP [not found] ` <1126178956.24699.42.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> @ 2005-09-08 11:52 ` Pavel Troller 2005-09-08 11:53 ` Janosch Machowinski 2005-09-15 13:33 ` Pavel Machek 2 siblings, 0 replies; 16+ messages in thread From: Pavel Troller @ 2005-09-08 11:52 UTC (permalink / raw) To: Erik Slagter; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f > Hi, > > I compiled & installed 2.6.13 (vanilla) on my Tyan Tiger S2466 (AMD768 > chipset, 2xathlon MP 2600) yesterday. Indeed, as expected, acpi > "/proc/acpi/processor/*/power" (C states) is now supported on SMP. But, > to my surprise, it only shows one C state (C1), which, I assume, is > full-on. I am not completely sure about the CPU, but I do know that at > least the chipset supports C2 and C3 states (even got it sort of working > with pm_amd76x). > > Can someone shine some light on this? > > active state: C1 > max_cstate: C8 > bus master activity: 00000000 > states: > *C1: type[C1] promotion[--] demotion[--] latency[000] usage[59379522] > Hi! I have MSI K7D Master with the same chipset and the same problem :-). Try to dump Your FADT. Mine is as follows: # cat /proc/acpi/fadt | acpitbl Signature: FACP Length: 244 Revision: 0x01 Checksum: 0x5f OEMID: AMD2P OEM Table ID: AWRDACPI OEM Revision: 0x42302e31 Creator ID: AWRD Creator Revision: 0x00000000 FIRMWARE_CTRL: 0x1fff0000 DSDT: 0x1fff30c0 INT_MODEL: 0x01 SCI_INT: 9 SMI_CMD: 0x0000062f ACPI_ENABLE: 0xa1 ACPI_DISABLE: 0xa0 S4BIOS_REQ: 0x00 PM1a_EVT_BLK: 0x00000600 PM1b_EVT_BLK: 0x00000000 PM1a_CNT_BLK: 0x00000604 PM1b_CNT_BLK: 0x00000000 PM2_CNT_BLK: 0x00000000 PM_TMR_BLK: 0x00000608 GPE0_BLK: 0x00000620 GPE1_BLK: 0x00000000 PM1_EVT_LEN: 4 PM1_CNT_LEN: 2 PM2_CNT_LEN: 0 PM_TM_LEN: 4 GPE0_BLK_LEN: 4 GPE1_BLK_LEN: 0 GPE1_BASE: 0 P_LVL2_LAT: 101 P_LVL3_LAT: 1001 FLUSH_SIZE: 0 FLUSH_STRIDE: 0 DUTY_OFFSET: 1 DUTY_WIDTH: 1 DAY_ALRM: 0x7d MON_ALRM: 0x7e CENTURY: 0x7f Flags: 0x00000000 Do You see ? P_LVL2_LAT is 101 and P_LVL3_LAT is 1001, exactly 1 ms ABOVE the maximum stated in the ACPI spec as allowed. Somebody at Tyan (or MSI in my case) decided to disable generic C2/C3 support. Maybe because the chipset requires more care to handle the C2/C3 states than described in the ACPI spec. I'm using pm_amd76x regularly too, and it works perfectly! Regards, Pavel Troller ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: C states on AMD SMP [not found] ` <1126178956.24699.42.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> 2005-09-08 11:52 ` Pavel Troller @ 2005-09-08 11:53 ` Janosch Machowinski [not found] ` <43202621.9080600-cGBD8117FJM@public.gmane.org> 2005-09-15 13:33 ` Pavel Machek 2 siblings, 1 reply; 16+ messages in thread From: Janosch Machowinski @ 2005-09-08 11:53 UTC (permalink / raw) To: Erik Slagter; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Erik Slagter schrieb: > Hi, > > I compiled & installed 2.6.13 (vanilla) on my Tyan Tiger S2466 (AMD768 > chipset, 2xathlon MP 2600) yesterday. Indeed, as expected, acpi > "/proc/acpi/processor/*/power" (C states) is now supported on SMP. But, > to my surprise, it only shows one C state (C1), which, I assume, is > full-on. I am not completely sure about the CPU, but I do know that at > least the chipset supports C2 and C3 states (even got it sort of working > with pm_amd76x). > > Can someone shine some light on this? > > active state: C1 > max_cstate: C8 > bus master activity: 00000000 > states: > *C1: type[C1] promotion[--] demotion[--] > latency[000] usage[59379522] > > --- 8-< ---- > > processor : 1 > vendor_id : AuthenticAMD > cpu family : 6 > model : 8 > model name : AMD Athlon(tm) Processor > stepping : 1 > cpu MHz : 2133.515 > cache size : 256 KB > fdiv_bug : no > hlt_bug : no > f00f_bug : no > coma_bug : no > fpu : yes > fpu_exception : yes > cpuid level : 1 > wp : yes > flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge > mca cmov pat pse36 mmx fxsr sse syscall mp mmxext 3dnowext 3dnow > bogomips : 4266.27 > > Thx. Uhm Linux can't detect something, that is not given by your DSDT... Even if the CPU and the Chipset support C80, als long as your DSDT does not define these states, Linux can't detect them. Extract your DSDT, decompile it and search it for the _CST and P_BLK structs. Then verify if these structs acually contain C-States (There are some latency restrictions for the C-States defined in the P_BLK, for more information see www.acpi.info). If you done this please report back. Janosch ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <43202621.9080600-cGBD8117FJM@public.gmane.org>]
* Re: C states on AMD SMP [not found] ` <43202621.9080600-cGBD8117FJM@public.gmane.org> @ 2005-09-08 12:26 ` Erik Slagter [not found] ` <1126182374.4397.8.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> 0 siblings, 1 reply; 16+ messages in thread From: Erik Slagter @ 2005-09-08 12:26 UTC (permalink / raw) To: Janosch Machowinski; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f [-- Attachment #1.1: Type: text/plain, Size: 889 bytes --] On Thu, 2005-09-08 at 13:53 +0200, Janosch Machowinski wrote: > Uhm Linux can't detect something, that is not given by your DSDT... > Even if the CPU and the Chipset support C80, als long as your DSDT does > not define these states, Linux can't detect them. Extract your DSDT, > decompile it and search it for the _CST and P_BLK structs. Then verify > if these structs acually contain C-States (There are some latency > restrictions for the C-States defined in the P_BLK, for more information > see www.acpi.info). If you done this please report back. Sorry, I am a newbie at this. I did this: cp /proc/acpi/dsdt .; iasl -d dsdt This yields a file called dsdt.dsl, which does not contain any string like _CST or P_BLK. What am I doing wrong here? Attached is the file in question. Try #2 with gzipped output to keep the size down. Sorry for the inconvenience. [-- Attachment #1.2: dsdt.dsl.gz --] [-- Type: application/x-gzip, Size: 5870 bytes --] [-- Attachment #2: smime.p7s --] [-- Type: application/x-pkcs7-signature, Size: 2115 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <1126182374.4397.8.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>]
* Re: C states on AMD SMP [not found] ` <1126182374.4397.8.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> @ 2005-09-09 10:08 ` Janosch Machowinski [not found] ` <43215F09.7030909-cGBD8117FJM@public.gmane.org> 0 siblings, 1 reply; 16+ messages in thread From: Janosch Machowinski @ 2005-09-09 10:08 UTC (permalink / raw) To: Erik Slagter, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Erik Slagter wrote: > On Thu, 2005-09-08 at 13:53 +0200, Janosch Machowinski wrote: > >>Uhm Linux can't detect something, that is not given by your DSDT... >>Even if the CPU and the Chipset support C80, als long as your DSDT does >>not define these states, Linux can't detect them. Extract your DSDT, >>decompile it and search it for the _CST and P_BLK structs. Then verify >>if these structs acually contain C-States (There are some latency >>restrictions for the C-States defined in the P_BLK, for more information >>see www.acpi.info). If you done this please report back. > > > Sorry, I am a newbie at this. > > I did this: cp /proc/acpi/dsdt .; iasl -d dsdt > > This yields a file called dsdt.dsl, which does not contain any string > like _CST or P_BLK. What am I doing wrong here? Ups my fault ;-) The P_BLK is actually defined int the FADT... And you do not have a _CST object, cause it would habe been decalared here : Scope (\_PR) { Processor (CPU0, 0x00, 0x00008010, 0x06) {} Processor (CPU1, 0x01, 0x00000000, 0x00) {} } The little 0x06 after CPU0 tells us that there is an P_BLK, but like pavel told us, I think the OEM of the Mainboard disabled C2 and C3, but you are free to verify it ;-) Janosch ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <43215F09.7030909-cGBD8117FJM@public.gmane.org>]
* Re: C states on AMD SMP [not found] ` <43215F09.7030909-cGBD8117FJM@public.gmane.org> @ 2005-09-10 8:08 ` Erik Slagter [not found] ` <1126339733.22979.2.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> 0 siblings, 1 reply; 16+ messages in thread From: Erik Slagter @ 2005-09-10 8:08 UTC (permalink / raw) To: Janosch Machowinski; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f [-- Attachment #1: Type: text/plain, Size: 1732 bytes --] On Fri, 2005-09-09 at 12:08 +0200, Janosch Machowinski wrote: > The P_BLK is actually defined int the FADT... > And you do not have a _CST object, cause it would habe been decalared here : > Scope (\_PR) > { > Processor (CPU0, 0x00, 0x00008010, 0x06) {} > Processor (CPU1, 0x01, 0x00000000, 0x00) {} > } > > > The little 0x06 after CPU0 tells us that there is an P_BLK, > but like pavel told us, I think the OEM of the Mainboard disabled C2 and > C3, but you are free to verify it ;-) Indeed: Signature: FACP Length: 244 Revision: 0x01 Checksum: 0xf7 OEMID: AMD OEM Table ID: TECATE OEM Revision: 0x06040000 Creator ID: PTL Creator Revision: 0x000f4240 FIRMWARE_CTRL: 0x3fefffc0 DSDT: 0x3fefcf54 INT_MODEL: 0x00 SCI_INT: 9 SMI_CMD: 0x0000802f ACPI_ENABLE: 0xf0 ACPI_DISABLE: 0xf1 S4BIOS_REQ: 0x00 PM1a_EVT_BLK: 0x00008000 PM1b_EVT_BLK: 0x00000000 PM1a_CNT_BLK: 0x00008004 PM1b_CNT_BLK: 0x00000000 PM2_CNT_BLK: 0x00000000 PM_TMR_BLK: 0x00008008 GPE0_BLK: 0x00008020 GPE1_BLK: 0x00000000 PM1_EVT_LEN: 4 PM1_CNT_LEN: 2 PM2_CNT_LEN: 0 PM_TM_LEN: 4 GPE0_BLK_LEN: 4 GPE1_BLK_LEN: 0 GPE1_BASE: 0 P_LVL2_LAT: 101 P_LVL3_LAT: 1001 FLUSH_SIZE: 0 FLUSH_STRIDE: 0 DUTY_OFFSET: 1 DUTY_WIDTH: 0 DAY_ALRM: 0x0d MON_ALRM: 0x00 CENTURY: 0x32 Flags: 0x00000005 Is there a way to patch the FADT or to fool linux-acpi into it does actually work (to at least be able to test the thing)? [-- Attachment #2: smime.p7s --] [-- Type: application/x-pkcs7-signature, Size: 2115 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <1126339733.22979.2.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>]
* Re: C states on AMD SMP [not found] ` <1126339733.22979.2.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> @ 2005-09-10 8:59 ` Janosch Machowinski [not found] ` <4322A06D.8050804-cGBD8117FJM@public.gmane.org> 0 siblings, 1 reply; 16+ messages in thread From: Janosch Machowinski @ 2005-09-10 8:59 UTC (permalink / raw) To: Erik Slagter; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Erik Slagter wrote: > On Fri, 2005-09-09 at 12:08 +0200, Janosch Machowinski wrote: > > >>The P_BLK is actually defined int the FADT... >>And you do not have a _CST object, cause it would habe been decalared here : >> Scope (\_PR) >> { >> Processor (CPU0, 0x00, 0x00008010, 0x06) {} >> Processor (CPU1, 0x01, 0x00000000, 0x00) {} >> } >> >> >>The little 0x06 after CPU0 tells us that there is an P_BLK, >>but like pavel told us, I think the OEM of the Mainboard disabled C2 and >> C3, but you are free to verify it ;-) > > > Indeed: > > Signature: FACP > Length: 244 > Revision: 0x01 > Checksum: 0xf7 > OEMID: AMD > OEM Table ID: TECATE > OEM Revision: 0x06040000 > Creator ID: PTL > Creator Revision: 0x000f4240 > FIRMWARE_CTRL: 0x3fefffc0 > DSDT: 0x3fefcf54 > INT_MODEL: 0x00 > SCI_INT: 9 > SMI_CMD: 0x0000802f > ACPI_ENABLE: 0xf0 > ACPI_DISABLE: 0xf1 > S4BIOS_REQ: 0x00 > PM1a_EVT_BLK: 0x00008000 > PM1b_EVT_BLK: 0x00000000 > PM1a_CNT_BLK: 0x00008004 > PM1b_CNT_BLK: 0x00000000 > PM2_CNT_BLK: 0x00000000 > PM_TMR_BLK: 0x00008008 > GPE0_BLK: 0x00008020 > GPE1_BLK: 0x00000000 > PM1_EVT_LEN: 4 > PM1_CNT_LEN: 2 > PM2_CNT_LEN: 0 > PM_TM_LEN: 4 > GPE0_BLK_LEN: 4 > GPE1_BLK_LEN: 0 > GPE1_BASE: 0 > P_LVL2_LAT: 101 > P_LVL3_LAT: 1001 > FLUSH_SIZE: 0 > FLUSH_STRIDE: 0 > DUTY_OFFSET: 1 > DUTY_WIDTH: 0 > DAY_ALRM: 0x0d > MON_ALRM: 0x00 > CENTURY: 0x32 > Flags: 0x00000005 > > Is there a way to patch the FADT or to fool linux-acpi into it does > actually work (to at least be able to test the thing)? Shure, patch the verify functions in processor_idle.c ... But actually I think this is no good idea... Janosch ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <4322A06D.8050804-cGBD8117FJM@public.gmane.org>]
* Re: C states on AMD SMP [not found] ` <4322A06D.8050804-cGBD8117FJM@public.gmane.org> @ 2005-09-10 9:17 ` Erik Slagter [not found] ` <1126343826.4766.29.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> 2005-09-10 10:49 ` Erik Slagter 1 sibling, 1 reply; 16+ messages in thread From: Erik Slagter @ 2005-09-10 9:17 UTC (permalink / raw) To: Janosch Machowinski; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f [-- Attachment #1: Type: text/plain, Size: 484 bytes --] On Sat, 2005-09-10 at 10:59 +0200, Janosch Machowinski wrote: > > Is there a way to patch the FADT or to fool linux-acpi into it does > > actually work (to at least be able to test the thing)? > Shure, patch the verify functions in processor_idle.c ... > But actually I think this is no good idea... Testing purposes ;-) BTW amd76x_pm does work, so you never know... I'd really be happy if I could get something off the 190 Watts the machine now dissipates constantly! [-- Attachment #2: smime.p7s --] [-- Type: application/x-pkcs7-signature, Size: 2115 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <1126343826.4766.29.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>]
* Re: C states on AMD SMP [not found] ` <1126343826.4766.29.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> @ 2005-09-10 10:01 ` Pavel Troller [not found] ` <20050910100113.GA2582-hxMeMO63rIAUgFT2KJq8fg@public.gmane.org> 0 siblings, 1 reply; 16+ messages in thread From: Pavel Troller @ 2005-09-10 10:01 UTC (permalink / raw) To: Erik Slagter Cc: Janosch Machowinski, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f > On Sat, 2005-09-10 at 10:59 +0200, Janosch Machowinski wrote: > > > > Is there a way to patch the FADT or to fool linux-acpi into it does > > > actually work (to at least be able to test the thing)? > > Shure, patch the verify functions in processor_idle.c ... > > But actually I think this is no good idea... > > Testing purposes ;-) > > BTW amd76x_pm does work, so you never know... I'd really be happy if I > could get something off the 190 Watts the machine now dissipates > constantly! Hi! AFAIK, the Cx state transition mechanism described in the ACPI spec is designed just very simply: CPU accesses the "sleep register" stated in the FACP for the particular sleep level, does the dummy operation, and hardware puts CPU to the desired sleep level. But, what to do, if the chipset is designed that it requires more than a single access ? I'm afraid that it will then require a specialized driver for that purpose. Did You look at the amd76x_pm sources ? I did, just to see what it does. There is a plenty of registers accessed, bits set/cleared from them, simply something, which is not present in plain processor_idle.c . Why this code is there ? Probably because it is necessary to handle sleep states on this chipset. I'm afraid that using just the "plain method" from ACPI spec implemented in the kernel is not enough. It is also the reason why this method is disabled in BIOS. I'm also using amd76x_pm and it's really wonderful, the CPUs cool down to 45C from 75C, I can even stop the fans and the temp doesn't go above 60C if the CPUs are idling. I've written a small script using lm_sensors and controlling fans, it's nice - You start a compilation and fans turn on 5 seconds later, it's finished and they stop almost immediately. Nice accoustic indication :-). THe same problem as with this machine I have with my notebook, Clevo D610SU, with SiS650 chipset. The C2/3 lats are set to 190/1900 in FADT. I patched the lat limits in include/acpi/processor.h to 200/2000. Now CPU enters C2 but it doesn't save more power than in C1. C3 is not entered at all because of bus mastering issues. I would be very glad for some "sis650_pm" driver but I don't have any. Windows can run about two times longer than my Linux on the same hardware :-(. With regards, Pavel Troller ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <20050910100113.GA2582-hxMeMO63rIAUgFT2KJq8fg@public.gmane.org>]
* Re: C states on AMD SMP [not found] ` <20050910100113.GA2582-hxMeMO63rIAUgFT2KJq8fg@public.gmane.org> @ 2005-09-10 10:46 ` Erik Slagter [not found] ` <1126349195.4766.48.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> 0 siblings, 1 reply; 16+ messages in thread From: Erik Slagter @ 2005-09-10 10:46 UTC (permalink / raw) To: Pavel Troller Cc: Janosch Machowinski, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f [-- Attachment #1: Type: text/plain, Size: 2163 bytes --] On Sat, 2005-09-10 at 12:01 +0200, Pavel Troller wrote: > > > > Is there a way to patch the FADT or to fool linux-acpi into it does > > > > actually work (to at least be able to test the thing)? > > > Shure, patch the verify functions in processor_idle.c ... > > > But actually I think this is no good idea... > > > > Testing purposes ;-) > > > > BTW amd76x_pm does work, so you never know... I'd really be happy if I > > could get something off the 190 Watts the machine now dissipates > > constantly! > AFAIK, the Cx state transition mechanism described in the ACPI spec is > designed just very simply: CPU accesses the "sleep register" stated in the > FACP for the particular sleep level, does the dummy operation, and hardware > puts CPU to the desired sleep level. Yeah, that's right. The amd 768 chipset does it exactly this way. I have the documentation here because I fiddled a lot with amd768 and didn't manage to do it the right thing (which means: full power when needed (+bus mastering), minimum power when idle). I do know C2/C3 works, because if you call it from the idle loop, about 20 times in a row, your computer will become dead slow ;-) > But, what to do, if the chipset is > designed that it requires more than a single access ? I'm afraid that it will > then require a specialized driver for that purpose. In that case it's not acpi compliant. IMHO it shouldn't be mentioned in the acpi tables anyway... > Did You look at the amd76x_pm sources? Yes ;-) > I did, just to see what it > does. There is a plenty of registers accessed, bits set/cleared from them, > simply something, which is not present in plain processor_idle.c. a) mostly for the amd760 chipset (as opposed to amd768) b) some registers are already set by default or by bios c) some registers enable some extra savings > I'm also using amd76x_pm and it's really wonderful, the CPUs cool down to 45C > from 75C, I can even stop the fans and the temp doesn't go above 60C if the > CPUs are idling. See above. It doesn't do the right thing, especially not using bus mastering (like video capturing cards). [-- Attachment #2: smime.p7s --] [-- Type: application/x-pkcs7-signature, Size: 2115 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <1126349195.4766.48.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>]
* Re: C states on AMD SMP [not found] ` <1126349195.4766.48.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> @ 2005-09-10 17:08 ` Pavel Troller [not found] ` <20050910170808.GA683-hxMeMO63rIAUgFT2KJq8fg@public.gmane.org> 0 siblings, 1 reply; 16+ messages in thread From: Pavel Troller @ 2005-09-10 17:08 UTC (permalink / raw) To: Erik Slagter Cc: Pavel Troller, Janosch Machowinski, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Hi! > > I did, just to see what it > > does. There is a plenty of registers accessed, bits set/cleared from them, > > simply something, which is not present in plain processor_idle.c. > > a) mostly for the amd760 chipset (as opposed to amd768) But which chipset is in my machine, when for example lspci shows: 00:00.0 Host bridge: Advanced Micro Devices [AMD] AMD-760 MP [IGD4-2P] System Controller (rev 11) 00:01.0 PCI bridge: Advanced Micro Devices [AMD] AMD-760 MP [IGD4-2P] AGP Bridge 00:07.0 ISA bridge: Advanced Micro Devices [AMD] AMD-768 [Opus] ISA (rev 04) 00:07.1 IDE interface: Advanced Micro Devices [AMD] AMD-768 [Opus] IDE (rev 04) Is it a compbination of 760/768 ? If the important part is in the first line, does it mean that it cannot work that simple as a "pure" 768 ? > b) some registers are already set by default or by bios But when the bios forbids PM, takes it enough care to put them to the correct state ? > c) some registers enable some extra savings Another reason for a specialized driver. > > > I'm also using amd76x_pm and it's really wonderful, the CPUs cool down to 45C > > from 75C, I can even stop the fans and the temp doesn't go above 60C if the > > CPUs are idling. > > See above. It doesn't do the right thing, especially not using bus > mastering (like video capturing cards). Probably not, but for example the previous version of the driver with C3 enabled (the current version seems not to contain C3 support) entered C3 in my case regularly (less than C2, but my machine is running a lot of daemons keeping CPU load at 0.2 or more so maybe it didn't had enough time to enter it so often). > With regards, Pavel Troller ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <20050910170808.GA683-hxMeMO63rIAUgFT2KJq8fg@public.gmane.org>]
* Re: C states on AMD SMP [not found] ` <20050910170808.GA683-hxMeMO63rIAUgFT2KJq8fg@public.gmane.org> @ 2005-09-11 10:09 ` Erik Slagter 0 siblings, 0 replies; 16+ messages in thread From: Erik Slagter @ 2005-09-11 10:09 UTC (permalink / raw) To: Pavel Troller Cc: Janosch Machowinski, acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f [-- Attachment #1: Type: text/plain, Size: 2259 bytes --] On Sat, 2005-09-10 at 19:08 +0200, Pavel Troller wrote: > > a) mostly for the amd760 chipset (as opposed to amd768) > But which chipset is in my machine, when for example lspci shows: > 00:00.0 Host bridge: Advanced Micro Devices [AMD] AMD-760 MP [IGD4-2P] System Controller (rev 11) > 00:01.0 PCI bridge: Advanced Micro Devices [AMD] AMD-760 MP [IGD4-2P] AGP Bridge > 00:07.0 ISA bridge: Advanced Micro Devices [AMD] AMD-768 [Opus] ISA (rev 04) > 00:07.1 IDE interface: Advanced Micro Devices [AMD] AMD-768 [Opus] IDE (rev 04) > Is it a compbination of 760/768 ? If the important part is in the first line, > does it mean that it cannot work that simple as a "pure" 768 ? That actually is a amd768 chipset. The southbridge (in your case 768) is what gives the chipset the name (btw I have exactly the same config). The northbridge is always 760. > > b) some registers are already set by default or by bios > But when the bios forbids PM, takes it enough care to put them to the correct > state ? I can change it in my bios settings. > > c) some registers enable some extra savings > Another reason for a specialized driver. Ok, I guess you are right ;-) The default acpi driver lets one CPU go to C3, one only to C1, and it looks like there actually doesn't happen anything. So I guess I will try amd76x_pm another try. Advantage is that I don't use my saa7134 (tv capturing with extensive bus mastering) anymore, so the busmastering latency isn't much an issue anymore. Guess I'll have to give up the idea of plain acpi idling on SMP anyway. > Probably not, but for example the previous version of the driver with C3 enabled > (the current version seems not to contain C3 support) entered C3 in my case > regularly (less than C2, but my machine is running a lot of daemons keeping CPU > load at 0.2 or more so maybe it didn't had enough time to enter it so often). The current version has an "extra" patch to add C3/NTH/POS support. The latter two are imho actually not useful. I never got throttling working (also by taking the except steps as described in the chipset docs), so I guess it's broken; it won't buy you much power savings anyway. POS off course is totally useless on a server system. [-- Attachment #2: smime.p7s --] [-- Type: application/x-pkcs7-signature, Size: 2115 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: C states on AMD SMP [not found] ` <4322A06D.8050804-cGBD8117FJM@public.gmane.org> 2005-09-10 9:17 ` Erik Slagter @ 2005-09-10 10:49 ` Erik Slagter [not found] ` <1126349362.4766.51.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> 1 sibling, 1 reply; 16+ messages in thread From: Erik Slagter @ 2005-09-10 10:49 UTC (permalink / raw) To: Janosch Machowinski; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f [-- Attachment #1: Type: text/plain, Size: 801 bytes --] On Sat, 2005-09-10 at 10:59 +0200, Janosch Machowinski wrote: > > Is there a way to patch the FADT or to fool linux-acpi into it does > > actually work (to at least be able to test the thing)? > Shure, patch the verify functions in processor_idle.c ... > But actually I think this is no good idea... I tested it a few mins ago and there's good news and bad news ;-) The very bad news is that my power meter is in a place I cannot reach at the moment; The good news is that CPU0 now has three C3 states and is almost constantly running in that state; The bad news is that CPU1 still reports only C1. Could it be that the "restriction" of this chipset is, that the complete system (including both cpu's) always must run in the same C-state? That would be no real problem for me. [-- Attachment #2: smime.p7s --] [-- Type: application/x-pkcs7-signature, Size: 2115 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <1126349362.4766.51.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>]
* Re: C states on AMD SMP [not found] ` <1126349362.4766.51.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> @ 2005-09-10 12:47 ` Janosch Machowinski [not found] ` <4322D5FE.2040308-cGBD8117FJM@public.gmane.org> 0 siblings, 1 reply; 16+ messages in thread From: Janosch Machowinski @ 2005-09-10 12:47 UTC (permalink / raw) To: Erik Slagter; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Erik Slagter wrote: > On Sat, 2005-09-10 at 10:59 +0200, Janosch Machowinski wrote: > >>>Is there a way to patch the FADT or to fool linux-acpi into it does >>>actually work (to at least be able to test the thing)? >> >>Shure, patch the verify functions in processor_idle.c ... >>But actually I think this is no good idea... > > > I tested it a few mins ago and there's good news and bad news ;-) > > The very bad news is that my power meter is in a place I cannot reach at > the moment; > > The good news is that CPU0 now has three C3 states and is almost > constantly running in that state; > > The bad news is that CPU1 still reports only C1. That's a bug: Here a comment from ACPI Spec 3.0 : Processor power state support is symmetric when presented via the FADT and P_BLK interfaces; OSPM assumes all processors in a system support the same power states. If processors have non-symmetric power state support, then the BIOS will choose and use the lowest common power states supported by all the processors in the system through the FADT table. For example, if the CPU0 processor supports all power states up to and including the C3 state, but the CPU1 processor only supports the C1 power state, then OSPM will only place idle processors into the C1 power state (CPU0 will never be put into the C2 or C3 power states). Notice that the C1 power state must be supported. The C2 and C3 power states are optional (see the PROC_C1 flag in the FADT table description in section 5.2.6, “System Description Table Header”). Feel free to write a patch > > Could it be that the "restriction" of this chipset is, that the complete > system (including both cpu's) always must run in the same C-state? That > would be no real problem for me. No, every Processor can use the Sleep states independent (with some restrictions, see ACPISpec p. 257). ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf ^ permalink raw reply [flat|nested] 16+ messages in thread
[parent not found: <4322D5FE.2040308-cGBD8117FJM@public.gmane.org>]
* Re: C states on AMD SMP [not found] ` <4322D5FE.2040308-cGBD8117FJM@public.gmane.org> @ 2005-09-10 14:51 ` Erik Slagter 0 siblings, 0 replies; 16+ messages in thread From: Erik Slagter @ 2005-09-10 14:51 UTC (permalink / raw) To: Janosch Machowinski; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f [-- Attachment #1: Type: text/plain, Size: 387 bytes --] On Sat, 2005-09-10 at 14:47 +0200, Janosch Machowinski wrote: > > The good news is that CPU0 now has three C3 states and is almost > > constantly running in that state; > > > > The bad news is that CPU1 still reports only C1. > That's a bug: [ ... ] > Feel free to write a patch I am sorry, that's way over my head. I am very much a newbie on ACPI stuff. Bummer! [-- Attachment #2: smime.p7s --] [-- Type: application/x-pkcs7-signature, Size: 2115 bytes --] ^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: C states on AMD SMP [not found] ` <1126178956.24699.42.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org> 2005-09-08 11:52 ` Pavel Troller 2005-09-08 11:53 ` Janosch Machowinski @ 2005-09-15 13:33 ` Pavel Machek 2 siblings, 0 replies; 16+ messages in thread From: Pavel Machek @ 2005-09-15 13:33 UTC (permalink / raw) To: Erik Slagter; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f On Thu 08-09-05 13:29:16, Erik Slagter wrote: > Hi, > > I compiled & installed 2.6.13 (vanilla) on my Tyan Tiger S2466 (AMD768 > chipset, 2xathlon MP 2600) yesterday. Indeed, as expected, acpi > "/proc/acpi/processor/*/power" (C states) is now supported on SMP. But, > to my surprise, it only shows one C state (C1), which, I assume, is > full-on. Wrong. C1 is basically hlt. Pavel -- 64 bytes from 195.113.31.123: icmp_seq=28 ttl=51 time=448769.1 ms ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php ^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2005-09-15 13:33 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-09-08 11:29 C states on AMD SMP Erik Slagter
[not found] ` <1126178956.24699.42.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-09-08 11:52 ` Pavel Troller
2005-09-08 11:53 ` Janosch Machowinski
[not found] ` <43202621.9080600-cGBD8117FJM@public.gmane.org>
2005-09-08 12:26 ` Erik Slagter
[not found] ` <1126182374.4397.8.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-09-09 10:08 ` Janosch Machowinski
[not found] ` <43215F09.7030909-cGBD8117FJM@public.gmane.org>
2005-09-10 8:08 ` Erik Slagter
[not found] ` <1126339733.22979.2.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-09-10 8:59 ` Janosch Machowinski
[not found] ` <4322A06D.8050804-cGBD8117FJM@public.gmane.org>
2005-09-10 9:17 ` Erik Slagter
[not found] ` <1126343826.4766.29.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-09-10 10:01 ` Pavel Troller
[not found] ` <20050910100113.GA2582-hxMeMO63rIAUgFT2KJq8fg@public.gmane.org>
2005-09-10 10:46 ` Erik Slagter
[not found] ` <1126349195.4766.48.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-09-10 17:08 ` Pavel Troller
[not found] ` <20050910170808.GA683-hxMeMO63rIAUgFT2KJq8fg@public.gmane.org>
2005-09-11 10:09 ` Erik Slagter
2005-09-10 10:49 ` Erik Slagter
[not found] ` <1126349362.4766.51.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2005-09-10 12:47 ` Janosch Machowinski
[not found] ` <4322D5FE.2040308-cGBD8117FJM@public.gmane.org>
2005-09-10 14:51 ` Erik Slagter
2005-09-15 13:33 ` Pavel Machek
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox