Jump to content

Testers needed: CPU Power Management for SB and IB Xeon(s) or i7-39xx on X79 or C60x chipset


omni
 Share

494 posts in this topic

Recommended Posts

@shilohhh

 

Hmm, I read somewhere that GTX Titan has 15 power levels but I couldn't really find what the thresholds are...I wonder what adverse effect it might have if I set wrong thresholds. :)

 

 

@Klonkrieger2

 

Try that byte patch from above and see what happens?

Link to comment
Share on other sites

If I understand Toleda correctly, You should replace the part for "Mac-F60DEB81FF30ACF6" (MP6,1 Board-ID) with this:

				<key>Mac-F60DEB81FF30ACF6</key>
				<dict>
					<key>Vendor10deDevice1005</key>
					<dict>
						<key>BoostPState</key>
						<array>
							<integer>5</integer>
							<integer>5</integer>
							<integer>5</integer>
							<integer>5</integer>
						</array>
						<key>BoostTime</key>
						<array>
							<integer>1</integer>
							<integer>1</integer>
							<integer>1</integer>
							<integer>1</integer>
						</array>
						<key>Heuristic</key>
						<dict>
							<key>EnableEnergyPstate</key>
							<integer>1</integer>
							<key>EnergyDOWNThreshold</key>
							<integer>60</integer>
							<key>EnergyPstate</key>
							<integer>7</integer>
							<key>EnergyUPThreshold</key>
							<integer>80</integer>
							<key>EngineDOWNThreshold</key>
							<integer>15</integer>
							<key>EngineUPThreshold</key>
							<integer>30</integer>
							<key>ID</key>
							<integer>4</integer>
							<key>MemDOWNThreshold</key>
							<integer>30</integer>
							<key>MemUPThreshold</key>
							<integer>50</integer>
							<key>MinP0P1</key>
							<integer>7</integer>
							<key>MinP5</key>
							<integer>12</integer>
							<key>MinP8</key>
							<integer>13</integer>
							<key>MinVP0</key>
							<integer>7</integer>
							<key>MinVP1</key>
							<integer>15</integer>
							<key>MinVP5</key>
							<integer>25</integer>
							<key>MinVP8</key>
							<integer>27</integer>
							<key>NumOfPstates</key>
							<integer>14</integer>
							<key>NumOfVPstates</key>
							<integer>28</integer>
							<key>P0Table</key>
							<array>
								<integer>0</integer>
								<integer>1</integer>
								<integer>2</integer>
								<integer>3</integer>
								<integer>4</integer>
								<integer>5</integer>
								<integer>6</integer>
								<integer>7</integer>
								<integer>21</integer>
								<integer>22</integer>
								<integer>23</integer>
								<integer>24</integer>
								<integer>25</integer>
								<integer>27</integer>
							</array>
							<key>P1Table</key>
							<array>
								<integer>8</integer>
								<integer>9</integer>
								<integer>10</integer>
								<integer>11</integer>
								<integer>12</integer>
								<integer>13</integer>
								<integer>14</integer>
								<integer>15</integer>
								<integer>21</integer>
								<integer>22</integer>
								<integer>23</integer>
								<integer>24</integer>
								<integer>25</integer>
								<integer>27</integer>
							</array>
						</dict>
						<key>Heuristic</key>
						<dict>
							<key>ID</key>
							<integer>4</integer>
						</dict>
						<key>control-id</key>
						<integer>17</integer>
					</dict>
				</dict>

Because the 780m is the most similar 7** series mac card. However it is GK104 not GK110 but I suppose thats as close as you're going to get for that hardware. I'm not sure if you'll need to, or how to tweek your PStates.

 

Oh and you'll need to make sure that is the correct model ID for your card at the top. I just searched for titan and found 1005 but there might be variables.

Link to comment
Share on other sites

Yeah, I got it setup and it's detected as it should, I suppose. Of course, as you said GK104 is not GK110 but I guess it's close enough. :)

 

Sadly, once you use anything with OpenCL (Preview even) the graphics cards don't rev down and they keep running at the max clock. BLEH!

 

Thanks, to both of you.

 

 

Back on the subject on AICPM, something appears to have changed in 10.9.2 as I'm having a hard time getting similar results as on 10.9.1.

 

Couple that with Chameleon reading DSDT/SSDT files from all over the place (I have multiple installations) and it's a mess. I'll have to look into Clover again but it's not as easy to manage as Chameleon is if something goes wrong.

 

 

Link to comment
Share on other sites

Yeah, I got it setup and it's detected as it should, I suppose. Of course, as you said GK104 is not GK110 but I guess it's close enough. :)

 

Sadly, once you use anything with OpenCL (Preview even) the graphics cards don't rev down and they keep running at the max clock. BLEH!

 

Thanks, to both of you.

I get the same behavior with my firmis. I think it might be related to FakeSMC or chameleon. I get power steps (50, 400 & Max Freq) without engaging AGPM and I think it might come from fakeSMC or chameleon but I might be totally wrong. I suppose it could be the cards BIOS. Anyway, the OpenCL bug happens without AGPM. My work around is to Disable OpenCL in all Adobe apps and use CUDA instead. I don't think I use anything else with OpenCL but whenever I run Luxmark I have to reboot to get my cards to shut up. I'd love to figure out a fix if anyone has any insight.

Link to comment
Share on other sites

Back on the subject on AICPM, something appears to have changed in 10.9.2 as I'm having a hard time getting similar results as on 10.9.1.

 

Couple that with Chameleon reading DSDT/SSDT files from all over the place (I have multiple installations) and it's a mess. I'll have to look into Clover again but it's not as easy to manage as Chameleon is if something goes wrong.

Man in my 3960x with 10.9.2 and chameleon I have speedstep with using your patch aicpm. I use mac pro 5,1 definition but I edited smc plugin.

Link to comment
Share on other sites

Anyway, the OpenCL bug happens without AGPM. My work around is to Disable OpenCL in all Adobe apps and use CUDA instead. I don't think I use anything else with OpenCL but whenever I run Luxmark I have to reboot to get my cards to shut up. I'd love to figure out a fix if anyone has any insight.

 

The only fix for now is to patch OpenCL.framework so the system won't look to run OpenCL on the card. The patch info is here.

 

Also, I assumed everything was working fine with omni's binary (I only run Mavericks to check stuff like this) but it seems Turbo isn't working anymore.

Link to comment
Share on other sites

@shilohhh

 

OpenCL is used by many OS apps like Preview for example. Even quick preview (spacebar) over a file will turn it all up.

 

 

 

@stinga11

 

You edited ACPI_SMC plugin, what exactly did you change in it?

 

 

 

@Riley Freeman

 

Your turbo is not working anymore in 10.9.2?

Link to comment
Share on other sites

@ omni,

I need to test this in 10.9.2 when I get home but in 10.8.5, preview and quick look don't cause it with my firmi cards. Just Luxmark and adobe and such.

 

Just tested 10.9.2 and I get the OCL clock bug with quick look and preview.

Link to comment
Share on other sites

@stinga11

 

You edited ACPI_SMC plugin, what exactly did you change in it?

Ok when I use Mac Pro 5 definition only have two Pstate no matter the ssdt I used. But if I use the mac mini 5 definition have six Pstate Is much better than two but the only problem with the mac mini definition. is that the audio had pops and do not can use my 580 agpm. The only thing I did it is go to /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/ACPI_SMC_PlatformPlugin.kext/Contents/Resources/ open macpro5,1.plist and delete StepDataDict and then replace with StepContextDict from macmini 5 definition. The results is great I have six Pstates my 580 works and do not have pops in my audio.

Link to comment
Share on other sites

Ok when I use Mac Pro 5 definition only have two Pstate no matter the ssdt I used. But if I use the mac mini 5 definition have six Pstate Is much better than two but the only problem with the mac mini definition. is that the audio had pops and do not can use my 580 agpm. The only thing I did it is go to /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/ACPI_SMC_PlatformPlugin.kext/Contents/Resources/ open macpro5,1.plist and delete StepDataDict and then replace with StepContextDict from macmini 5 definition. The results is great I have six Pstates my 580 works and do not have pops in my audio.

 

No issues here under Mac Pro 6,1. All how you config the SSDT. 

Link to comment
Share on other sites

@omni: No. It was working ok in the first couple of 10.9.2 betas. I assumed it was still working until I ran Geekbench earlier and it didn't clock up past 3.2GHz.

 

I'll try a SSDT at some stage and see if that helps, but I didn't need one with your patched binary.

 

It's not a high priority here as Mavericks on my X79 is just for trying out stuff like this.

Link to comment
Share on other sites

@stinga11

 

I tried macpro5,1 but if I use AGPM then my display goes to sleep (black) so I had to remove AGPM.kext...hmm I guess need more investigating.

 

 

@Rampage Dev

 

Yeah, but macpro6,1 seems to be inherently running at a higher clock. When I use it and look at HWMonitor I mostly see 26x (my base clock) but when I use macmini6,2 then it's at 12x so the p-state definition for it is better.

 

 

I figured out my 10.9.2 PM issue that I had earlier. Turns out Pike's script is broken for dual processor systems so had to manually patch things...

 

Pike if you are reading this, the script needs a few tweaks:

 

- Dual CPUs live on different planes, (_SB_.SCK0, .SCK1) so that has to be accounted for,

 

- There's a need for much better granularity when CPU detection is made because you've bundled the SB-EP (Jaketown) with other desktop SB CPUs, but these are actually predecessors of IB-EP,

 

- The Low Frequency Bug is present in SB-EP and needs to be adjusted just like in IB-EP,

 

- SB-EP supports C7 state so I would include that in CP00 scope just like you do for IB-EP,

 

- Anything based on -EP should be cpu-type 0xA01, as that would be most compatible,

 

- Anything baed on -EP would be a 0x03 system-type. I got an error there for my SB-EP saying it should be 0x02  (perhaps this should not rely on smbios platform but CPU type?).

 

Link to comment
Share on other sites

@stinga11

 

Cool, I'll give it a try, thanks!

 

 

@shilohhh

 

But wouldn't we then lose the benefit of that MacPro5,1 definition (no audio popping, etc)? I thought the reason to use it was to avoid some of the pitfalls of the other platform definitions.

Link to comment
Share on other sites

@omni,

I was just referring to the AGPM plist and the info you added to make your titan work. If you copy all the info you put under that board name to the entry for "MacPro5,1", AGPM will work when you switch to 5,1 smbios.

Link to comment
Share on other sites

Fellas, a new report on Pike's v11 script.
 
 
From what I can see IOREG does show the P, S States are all registered and activated.
 
 
But IPG, will not show Freq. lower then 3.40, alt-ought I can see from power usage that it does goes down to the lowest state (~9.5W). ACPMI log shows the same (Jump from 12 to 34 and up), now I don't know if it's ACPMI bug or what it is. Also 0xE2 still shows as 403 and C3 is 0.
 
 
Kernel Log (Warning; very long):
 
SSDT:

 

I can also confirm that with different SMBios.plist from MacPro6.1 one also IPG and HW let see 12 and others lower multiplier steps

 

 

 

Can you share that SMBios.plist?

Link to comment
Share on other sites

 

Fellas, a new report on Pike's v11 script.
 
 
From what I can see IOREG does show the P, S States are all registered and activated.
 
 
But IPG, will not show Freq. lower then 3.40, alt-ought I can see from power usage that it does goes down to the lowest state (~9.5W). ACPMI log shows the same (Jump from 12 to 34 and up), now I don't know if it's ACPMI bug or what it is. Also 0xE2 still shows as 403 and C3 is 0.
 
 
Kernel Log (Warning; very long):
 
SSDT:

 

Can you share that SMBios.plist?

 

Balamut can you share your config plist of clover?

Link to comment
Share on other sites

When i boot in safe mode with clover i have C-States. C2, C3 and C6. Also the wattage drops from 5.5W down to 2.5W.

 

In IOReg x86PP.kext says it is in safe mode, too.

 

But the disadvantage is, that I'm locked to multiplier 12x.

 

So we have 2 options:

 

1) some kext produces so much CPU load, that the CPU doesn't rest.

2) the x86PP.kext has a special routine when in safe mode. Maybe omni can have a look at the disassambled x86PP.kext or AICPUPM.kext?

 

Modifying the speedstepping dictionarys is, in my opionen, not the right solution for our problem.

 

Edit_1: I compared all relevant MSR values, and they are the same in normal and in safe mode. 

I try booting without AICPUPM.kext. The past has shown, that this works. Let's see if C-States work in that mode.

Link to comment
Share on other sites

@Klonkrieger2

 

Have you tried that byte patch I suggested couple of pages earlier?

 

You definitely don't want to run in Safe Mode as PM is not the only thing running "safe" :)

 

Also, I'm going to put up a new MSRpatcher.dylib module for Chameleon that should enable all C states set in the BIOS.

 

Don't have anything yet for Clover as we are still testing this, but it should be doable the same way.

 

EDIT: Posted MSRpatcher.dylib v004

 

EDIT2: Your 12x might be related to APLF not being set (or is set to 0x00). Try setting it to some other value in your SSDT like 0x01 etc...

 

Link to comment
Share on other sites

@Omni,

 

I tried your byte patch. No changes at all. 

 

Of course I know, that safe mode isn't the solution. But it's a hint for me. Why do C-states work in safe mode, but not in normal mode???

 

Manually forcing a MSR 0xE2 isn't a solution either. As I already said, this doesn't bring c-states for me. 

 

My APLF value in the SSDT is right = not 0x00. When i don't boot in safe mode, I do have higher P-States.

 

Also deleting the AICPUPM.kext showed, that Speedstep is still working. Pike already discovered that there are power management mechanisms in the new kernel. (Like XCPM).

But I don't have C-States anymore, even when booting in safe mode.

 

What I try now, is to enabler ACPI debugging, like you mentioned in the original post. I will check the differences in safe mode.

Link to comment
Share on other sites

 Share

×
×
  • Create New...