Skip to contentSkip to conversation

Power regression from 3.17 to 3.18 and 3.19

Bug 92111 Rafael J. Wysocki 2 participants 16 messages Feb 11, 2015 ACPI

lore
Share & tools
lore
#0 lore raw

Hi,

The _OSI("Darwin") support seems to break CPU power management for Attila.

Is there anything we can possibly do about that?

Rafael

https://bugzilla.kernel.org/show_bug.cgi?id=92111

--- Comment #32 from Attila <[email protected]> --- Strange result, but git bisect shows this commit to be the first bad:

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7bc5a2bad0b8d9d1ac9f7b8b33150e4ddf197334

I guess this acpi change results that CPU is not allowed to go deeper states than pc3. I will do a build of 3.18 reverting this commit to make sure this was the problem.

I will enclose a bisect log soon.

Signature · 2 lines
You are receiving this mail because:
You are the assignee for the bug.
#1 lore raw
Quoted 5 lines · Rafael J. Wysocki

Hi,

The _OSI("Darwin") support seems to break CPU power management for Attila.

Is there anything we can possibly do about that?

Hm. It's not clear to me what the bug is describing. If we're not waking up more frequently, why aren't we entering PC6?

Signature · 1 line
Matthew Garrett | [email protected]
#2 lore raw
Quoted 9 lines · Matthew Garrett
Quoted 5 lines · Rafael J. Wysocki

Hi,

The _OSI("Darwin") support seems to break CPU power management for Attila.

Is there anything we can possibly do about that?

Hm. It's not clear to me what the bug is describing. If we're not waking up more frequently, why aren't we entering PC6?

Good question. :-)

The bug is saying, pretty much, that after a positive _OSI response to "Darwin" we cannot enter PC6 any more on that machine all other things being equal.

#3 lore raw
Quoted 8 lines · Rafael J. Wysocki
Quoted 2 lines · Matthew Garrett

Hm. It's not clear to me what the bug is describing. If we're not waking up more frequently, why aren't we entering PC6?

Good question. :-)

The bug is saying, pretty much, that after a positive _OSI response to "Darwin" we cannot enter PC6 any more on that machine all other things being equal.

We're using intel_idle, so we should be making idle state determination regardless of what ACPI tells us. So is Darwin mode influencing the state of some MSR that controls whether PC6 can be entered? Is the GPU blocking it because of some configuration difference? I don't know enough about how the chip decides to enter PC6 to be able to tell.

Signature · 1 line
Matthew Garrett | [email protected]
#4 lore raw
Quoted 5 lines · Matthew Garrett
Quoted 4 lines · Rafael J. Wysocki
Quoted 2 lines · Matthew Garrett

Hm. It's not clear to me what the bug is describing. If we're not waking up more frequently, why aren't we entering PC6?

Quoted 8 lines
Quoted 4 lines

Good question. :-)

The bug is saying, pretty much, that after a positive _OSI response to "Darwin" we cannot enter PC6 any more on that machine all other things being equal.

We're using intel_idle, so we should be making idle state determination regardless of what ACPI tells us. So is Darwin mode influencing the state of some MSR that controls whether PC6 can be entered?

I need to confirm that with Len, but I don't recall there being an MSR controlling the PC6 availability on Haswell. There is one for PC7, but not for PC6 IIRC.

Quoted 1 line

Is the GPU blocking it because of some configuration difference?

That is possible.

Quoted 2 lines

I don't know enough about how the chip decides to enter PC6 to be able to tell.

Well, so honestly how do you expect me to respond here?

Signature · 2 lines
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
#5 lore raw
Quoted 8 lines · Rafael J. Wysocki
Quoted 3 lines · Matthew Garrett

We're using intel_idle, so we should be making idle state determination regardless of what ACPI tells us. So is Darwin mode influencing the state of some MSR that controls whether PC6 can be entered?

I need to confirm that with Len, but I don't recall there being an MSR controlling the PC6 availability on Haswell. There is one for PC7, but not for PC6 IIRC.

Ok.

Quoted 3 lines
Quoted 1 line

Is the GPU blocking it because of some configuration difference?

That is possible.

I know that it has some say in things here.

Quoted 4 lines
Quoted 2 lines

I don't know enough about how the chip decides to enter PC6 to be able to tell.

Well, so honestly how do you expect me to respond here?

We really need feedback from people who know how the CPU makes its PC6 determination - the firmware has clearly done something differently, but without knowing what factors feed into that determination we're pretty much helpless.

Signature · 1 line
Matthew Garrett | [email protected]
#6 lore raw
Quoted 21 lines · Matthew Garrett
Quoted 8 lines · Rafael J. Wysocki
Quoted 3 lines · Matthew Garrett

We're using intel_idle, so we should be making idle state determination regardless of what ACPI tells us. So is Darwin mode influencing the state of some MSR that controls whether PC6 can be entered?

I need to confirm that with Len, but I don't recall there being an MSR controlling the PC6 availability on Haswell. There is one for PC7, but not for PC6 IIRC.

Ok.

Quoted 3 lines
Quoted 1 line

Is the GPU blocking it because of some configuration difference?

That is possible.

I know that it has some say in things here.

Quoted 3 lines
Quoted 2 lines

I don't know enough about how the chip decides to enter PC6 to be able to tell.

Quoted 6 lines
Quoted 1 line

Well, so honestly how do you expect me to respond here?

We really need feedback from people who know how the CPU makes its PC6 determination - the firmware has clearly done something differently, but without knowing what factors feed into that determination we're pretty much helpless.

We may be able to get that feedback, but what do you suggest we do in the meantime? Nothing, I suppose?

#7 lore raw
Quoted 2 lines · Rafael J. Wysocki

We may be able to get that feedback, but what do you suggest we do in the meantime? Nothing, I suppose?

We have the choice between increased power consumption or broken Thunderbolt - either choice is going to upset somebody. My gut feeling is that leaving us at increased power consumption might encourage someone at Intel to try to fix things, whereas nobody at Intel is going to care about Thunderbolt hotplug.

Signature · 1 line
Matthew Garrett | [email protected]
#8 lore raw
Quoted 9 lines · Matthew Garrett
Quoted 2 lines · Rafael J. Wysocki

We may be able to get that feedback, but what do you suggest we do in the meantime? Nothing, I suppose?

We have the choice between increased power consumption or broken Thunderbolt - either choice is going to upset somebody. My gut feeling is that leaving us at increased power consumption might encourage someone at Intel to try to fix things,

Fix things how exactly?

Quoted 1 line

whereas nobody at Intel is going to care about Thunderbolt hotplug.

Apple is the only party that can fix anything in Apple products as far as I can say.

Anyway, thanks for your input!

#9 lore raw
Quoted 6 lines · Rafael J. Wysocki
Quoted 5 lines · Matthew Garrett
Quoted 2 lines · Rafael J. Wysocki

We may be able to get that feedback, but what do you suggest we do in the meantime? Nothing, I suppose?

Quoted 6 lines
Quoted 4 lines

We have the choice between increased power consumption or broken Thunderbolt - either choice is going to upset somebody. My gut feeling is that leaving us at increased power consumption might encourage someone at Intel to try to fix things,

Fix things how exactly?

Identify why the Intel CPU is refusing to enter PC6 despite all its cores being in C6 or deeper. Once we've done that we can figure out what's actually causing that change in behaviour and the right place to fix it.

Quoted 4 lines
Quoted 1 line

whereas nobody at Intel is going to care about Thunderbolt hotplug.

Apple is the only party that can fix anything in Apple products as far as I can say.

There's an Intel part number on everything involved here...

Signature · 1 line
Matthew Garrett | [email protected]
#10 lore raw
Quoted 19 lines · Matthew Garrett
Quoted 6 lines · Rafael J. Wysocki
Quoted 5 lines · Matthew Garrett
Quoted 2 lines · Rafael J. Wysocki

We may be able to get that feedback, but what do you suggest we do in the meantime? Nothing, I suppose?

Quoted 6 lines
Quoted 4 lines

We have the choice between increased power consumption or broken Thunderbolt - either choice is going to upset somebody. My gut feeling is that leaving us at increased power consumption might encourage someone at Intel to try to fix things,

Fix things how exactly?

Identify why the Intel CPU is refusing to enter PC6 despite all its cores being in C6 or deeper. Once we've done that we can figure out what's actually causing that change in behaviour and the right place to fix it.

Quoted 6 lines
Quoted 4 lines
Quoted 1 line

whereas nobody at Intel is going to care about Thunderbolt hotplug.

Apple is the only party that can fix anything in Apple products as far as I can say.

There's an Intel part number on everything involved here...

Not really on everything and the whole machine is still an Apple product.

You don't ask part suppliers to fix your car, do you?

#11 lore raw
Quoted 3 lines · Rafael J. Wysocki

Not really on everything and the whole machine is still an Apple product.

You don't ask part suppliers to fix your car, do you?

We don't ask system vendors to fix most bugs we find, because most of them won't talk to us. But we still try to do what we can with the contacts we have available. As far as we can tell there's no additional system wakeups here, so any failure to enter PC6 is because the CPU is in a different configuration. We have a good working relationship with Intel, so asking them if they can help us figure out what that different configuration is seems like a reasonable thing to do? I'm happy to take responsibility for working on it from that point, but I don't believe any of the documentation I'd need to find the starting point is public.

Signature · 1 line
Matthew Garrett | [email protected]
#12 lore raw
Quoted 6 lines · Matthew Garrett
Quoted 3 lines · Rafael J. Wysocki

Not really on everything and the whole machine is still an Apple product.

You don't ask part suppliers to fix your car, do you?

Quoted 9 lines

We don't ask system vendors to fix most bugs we find, because most of them won't talk to us. But we still try to do what we can with the contacts we have available. As far as we can tell there's no additional system wakeups here, so any failure to enter PC6 is because the CPU is in a different configuration. We have a good working relationship with Intel, so asking them if they can help us figure out what that different configuration is seems like a reasonable thing to do? I'm happy to take responsibility for working on it from that point, but I don't believe any of the documentation I'd need to find the starting point is public.

Well, it looks like we circled back to http://marc.info/?l=linux-acpi&m=142361557824868&w=4 :-)

#13 lore raw
Quoted 1 line · Rafael J. Wysocki

Well, it looks like we circled back to http://marc.info/?l=linux-acpi&m=142361557824868&w=4 :-)

Right. And, like I said, if there's a "We're seeing increased power consumption" bug then there's an incentive for people from Intel to actually help identify the root source, whereas if there's a "We can't enable Thunderbolt hotplug on this platform Intel pretend has nothing to do with them because otherwise we'll see increased power consumption", it's going to be so far down people's list of priorities that it's probably not going to happen.

Signature · 1 line
Matthew Garrett | [email protected]
#14 lore raw
Quoted 11 lines · Matthew Garrett
Quoted 1 line · Rafael J. Wysocki

Well, it looks like we circled back to http://marc.info/?l=linux-acpi&m=142361557824868&w=4 :-)

Right. And, like I said, if there's a "We're seeing increased power consumption" bug then there's an incentive for people from Intel to actually help identify the root source, whereas if there's a "We can't enable Thunderbolt hotplug on this platform Intel pretend has nothing to do with them because otherwise we'll see increased power consumption", it's going to be so far down people's list of priorities that it's probably not going to happen.

And you said that already too, so I guess we can circle like that forever.

Only one more comment:

In order to "identify the root cause" it is pretty much necessary to know what _OSI("Darwin") causes the firmware to actually do and the only party knowing that is Apple. The only question I can ask hardware people is what it *theoretically* may be doing to trigger the observed behavior and honestly I doubt I'll get a useful answer to that.

#15 lore raw
Quoted 5 lines · Rafael J. Wysocki

In order to "identify the root cause" it is pretty much necessary to know what _OSI("Darwin") causes the firmware to actually do and the only party knowing that is Apple. The only question I can ask hardware people is what it *theoretically* may be doing to trigger the observed behavior and honestly I doubt I'll get a useful answer to that.

The hardware has a fixed set of inputs that influence whether it enters PC6. If we know what those are then we can identify which is actually at play here, which gives us a high probability of identifying the root cause.

Signature · 1 line
Matthew Garrett | [email protected]