Hacker News new | ask | show | jobs
by Nextgrid 2187 days ago
From what I understand it's the CPU power management/frequency profile that is limiting it. Even when satisfying the thermal requirements they were still getting sub-par performance because presumably the CPU was being limited in software anyway.

A combination of good cooling + a tweaked power management profile to accommodate the better thermals should give a substantial performance increase.

3 comments

> presumably the CPU was being limited in software anyway

Would this be in the OS or the bios (or whatever they call it on a Mac)?

If it's the former, I wonder if the test would have been more interesting if the MBA was running a different OS.

Firmware.

Doing it within the operating system is suicidal as a malfunction of the OS (whether accidental or due to malware) would force the machine to operate beyond its thermal limits and potentially damage itself.

The thermal management is done in userland. This is probably the same.

- https://twitter.com/tomcoates/status/1255170545366097922

This is another misunderstanding/misconnection. "kernel_task" is used to report "missing" CPU time so the CPU usage accounting remains consistent even when the CPU is throttled. That does not mean either the kernel or userland have any input to the thermal throttling functions.

There's also multiple levels of protection and throttling. At the lowest level, various ICs on the board (e.g. power regulators) will turn themselves off if they overheat. Somewhere above that, firmware will definitely exert /some/ control, to cover odd situations like the machine hanging while booting. Above that, the kernel or userspace can add another layer — but like each of the layers before, that layer can only lower the limits further.

Having thermal management in userland (and nowhere else) would be legal suicide. Imagine the lawsuits from people accidentally burning their legs...

Thanks for this.

I believe you are correct, although I did think that kernel_task was there to help cool the components down, and not simply as a devide to report throttled CPU usage consistently with unthrottled.

That said, I didn't mean to say that thermal throttling only happened in userland but rather that it did happen there, even though it might also happen elsewhere.

Within the context of this thread, this is relevant since in this case the CPU was not being thermally throttled as it was running cool, but something was still throttling the amount of power going to it.

I was merely suggesting that Nextgrid's affirmation that it must have been the firmware throttling the CPU is not necessarily true. Given that there is a software component to thermal management (or at least I thought so), it's only logical to assume that there may be a software component of whatever other throttling was occurring without it necessarily being suicidal as suggested.

Firmware, good luck overclocking a macbook
Apple ran that experiment for you. It’s called a 13” MBP.
> A combination of good cooling + a tweaked power management profile to accommodate the better thermals should give a substantial performance increase.

Give it a try and report back.

edit: Wow, HN has changed. There was a time when experimentation was encouraged here.

I don't think that's terribly useful. Regardless of how much processing power you can extract from the CPU, there is the parallel question of CPU lifetime.

You can see in the video how hot the CPU runs. If I remember correctly, a 20°C temperature increase halves the lifetime of electronics. "Normal" laptops tend to stick around 60°C-70°C. Apple apparently decided that halving or even quartering the CPU lifetime compared to that is fine.

That said, most MBA CPUs probably spend their CPU lifetime closer to idle. It'd be interesting to get temperature numbers for that. Still, it's worse than it could - and IMHO should - be.

> I don't think that's terribly useful.

The entire overclocking community would disagree with you.

The entire overclocking community also decided lifetime is secondary to performance, yet I still feel rather displeased with Apple deciding to make lifetime secondary to saving a few cents on a better cooling solution :D
If the CPUs on your macbook pros are dying, you're doing something very wrong. If they're not, then you're creating an issue where none exists.
> Give it a try and report back.

Modifying the thermal & power management profile is very difficult as it would require reverse-engineering the firmware.

I guess a temporary hack would be to mess with the current sensing circuitry to make the machine believe the CPU is drawing less current that it actually is and encourage it to give it more power.