Skip to contentSkip to conversation

C3 support w/o ARB_DIS (P4-M on i845)

DISCUSSION Karol Kozimor 3 participants 5 messages May 12, 2004 – May 14, 2004 4 messages not in the archive ACPI

lore
Share & tools
lore
#0 lore raw

Hi,
I've just noticed that FADT shows:

P_LVL2_LAT:       90
P_LVL3_LAT:       300

for my P4-M processor, whereas /proc/acpi/processor/*/power shows:

active state:            C2
default state:           C1
bus master activity:     00000000
states:
    C1:                  promotion[C2] demotion[--] latency[000] usage[00294320]
   *C2:                  promotion[--] demotion[C1] latency[090] usage[02552774]
    C3:                  <not supported>

and /proc/acpi/processor/*/info shows:

processor id:            0
acpi id:                 1
bus mastering control:   no
power management:        yes
throttling control:      yes
performance management:  yes
limit interface:         yes

So, it seems there is some C3 support, but it is not used due to lack of bus-mastering control (PM2_CNT_BLK is 0). However, the flags section in the FADT indicates that WBINVD is supported. The comment in processor.c says the possibility of using C3 in the absence of ARB_DIS must be investigated. What is the current status? Any obvious caveats for implementation? Best regards,

Signature · 9 lines
Karol 'sziwan' Kozimor
sziwan-DETuoxkZsSqrDJvtcaxF/[email protected]


-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to deliver
higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3

A message that is not in the archive (sent off-list or not yet received): 20040512102527.GA8050-DETuoxkZsSqrDJvtcaxF/[email protected]

#2 lore raw
Quoted 5 lines · Karol Kozimor

So, it seems there is some C3 support, but it is not used due to lack of bus-mastering control (PM2_CNT_BLK is 0). However, the flags section in the FADT indicates that WBINVD is supported. The comment in processor.c says the possibility of using C3 in the absence of ARB_DIS must be investigated. What is the current status? Any obvious caveats for implementation?

Well, there had been some discussion about that approximately two years ago, maybe it's still in the archives. Major problems, IIRC:

a) occasional hangs on my system
b) unpredictable time of execution of WBINVD command (results in high latency)

I had posted some implementation back then, don't know whether it still works. If you can't find it, contact me again, please.

Dominik

-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to deliver higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3

A message that is not in the archive (sent off-list or not yet received): 20040512160353.GA7906-X3ehHDuj6sIIGcDfoQAp7BvVK+yQ3ZXh@public.gmane.org

#4 lore raw

Thus wrote Dominik Brodowski:

Quoted 8 lines

Well, there had been some discussion about that approximately two years ago, maybe it's still in the archives. Major problems, IIRC:

a) occasional hangs on my system
b) unpredictable time of execution of WBINVD command (results in high latency)

I had posted some implementation back then, don't know whether it still works. If you can't find it, contact me again, please.

OK, I find the discussion, thanks for pointing that out. that out. Related
question: the ICH3-M spec specifies the PM2_CNT address at PMBASE + 0x20, just before the GPE block. This seems consistent with my FADT, which places PMBASE at 0xe400 and GPE0_BLK at 0xe428. Would manual poking at the presumed location of ARB_DIS or FADT override work?
Best regards,

Signature · 9 lines
Karol 'sziwan' Kozimor
sziwan-DETuoxkZsSqrDJvtcaxF/[email protected]


-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to deliver
higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3

A message that is not in the archive (sent off-list or not yet received): 20040512195546.GA19939-DETuoxkZsSqrDJvtcaxF/[email protected]

#6 lore raw
Quoted 4 lines · Karol Kozimor

question: the ICH3-M spec specifies the PM2_CNT address at PMBASE + 0x20, just before the GPE block. This seems consistent with my FADT, which places PMBASE at 0xe400 and GPE0_BLK at 0xe428. Would manual poking at the presumed location of ARB_DIS or FADT override work?

Maybe. On the other hand, your BIOS / hardware vendor likely disallowed C3 for a reason, e.g. some hardware which doesn't work flawlessly with ARB_DIS. Note, for example, that the ipw2100 project ( http://ipw2100.sf.net ) suffers from some strange C3-related errors.

Dominik

-------------------------------------------------------
This SF.Net email is sponsored by: SourceForge.net Broadband Sign-up now for SourceForge Broadband and get the fastest 6.0/768 connection for only $19.95/mo for the first 3 months!
http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click

A message that is not in the archive (sent off-list or not yet received): 20040513120848.GA8406-X3ehHDuj6sIIGcDfoQAp7BvVK+yQ3ZXh@public.gmane.org

#8 lore raw
Quoted 5 lines

On the other hand, your BIOS / hardware vendor likely disallowed C3 for a reason, e.g. some hardware which doesn't work flawlessly with ARB_DIS. Note, for example, that the ipw2100 project ( http://ipw2100.sf.net ) suffers from some strange C3-related errors.

I believe that this is a device-specific issue caused by inability to deal with DMA buffer overflow/underruns that occur due to the delays related to coming out of C3.

-Len

-------------------------------------------------------
This SF.Net email is sponsored by: SourceForge.net Broadband Sign-up now for SourceForge Broadband and get the fastest 6.0/768 connection for only $19.95/mo for the first 3 months!
http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click