By now you've probably heard that the Exynos-powered international version of the Samsung Galaxy S9 doesn't have the greatest battery life. Some say it's fair, some say it's the most horrible thing ever, so that means it's somewhere in the middle and that's not good enough for a phone in 2018. Especially a very expensive phone.
This time North America gets the good one. But not really.
I say you've heard because most of the people reading this will be in a place where Samsung uses the Qualcomm Snapdragon 845 inside the S9 instead of the Exynos and we get to experience the issues second-hand. Usually, it's the other way around, and in North America we have to hear about how the Exynos version is the better of the two so it's a bit refreshing to know "we" have the best S9. But we don't, really, because the Exynos version is still the best version. Or will be when Samsung fixes the problem.
That's the most important part of this whole thing (please don't become a -gate). The problems the Exynos chip is having when it comes to battery life are directly related to software and easy to "fix" so that it is as good as the Snapdragon version. Some code in the kernel helps decide when to run at full power and when to run slower based on what the phone is trying to do and it's all fouled up. Going back to the older way Samsung has done it gives battery life on par with the Snapdragon 845 version. If you don't bother to take away anything else, that's what you need to know here. But it's always fun to look at the why instead of just the how.
This is all about Apple
Yes, I know it's cliche and you're tired of reading it, but this time Samsung really is chasing Apple.
Specifically, the advantage Apple's A-series processors have when it comes to single-core performance. You don't need to know any model numbers or even exactly what single-core performance means here, just think about how the latest A11 system-on-chip from Apple has two high-performance cores that are about as powerful as the ones inside the MacBook Pro when it comes to benchmark tests. Apple is really good at this and has been for a while.
Apple's A11 CPU could power your laptop and you'd never notice it was a "mobile" chip.
Samsung makes phones we all know about but processors are a large part of their business. And like almost every other company designing ARM chips, the focus has been on everything but performance. Battery life, cost, scalability, and multimedia instructions are important and the Exynos line of processors does very well in all these areas. But Samsung knows that ARM is the future of computing and that they can't ignore raw power when it comes to crunching numbers. Apple will never sell their chips to another company so someone has to build it, and that company gets to sell them to everyone. Samsung wants to be that company.
The Exynos 9810 is the starting point. Samsung will tell us it has a set of BIG cores designed for high-performance computing or some similar marketing speech, but what it has are cores built to deliver better performance when it comes to tasks that only use one core. A big deal is made out of multi-core CPUs on mobile devices but when it comes to doing the things we do with them, much of it runs on a single core (and on Android they run on a single thread inside that core). Eventually, all processes will be spread across multiple cores on all computers, but for the foreseeable future, single-core performance is going to be really important.
How Samsung will fix it
The trade-off when you use one core running very fast to do a thing is that it takes a lot of power. Smart people are working on ways to change that, but for now it means that managing how the cores run, when they run, how fast they run, and when they are throttled back are very important when it comes to power management. You simply can't allow power-hungry CPU cores to run wide-open when they aren't needed. This is all managed by what's called a governor in the Kernel. Samsung is using a standard governor (the schedutil cpufreq governor introduced in the 4.7 version of the Linux kernel) with their own special hotplug module on top of it.
Samsung had to make changes to power management to utilize the new chip design. Now they have to make more changes.
The governor Samsung is using was designed to change the frequency and voltage of CPU cores when the load average is recalculated by a different part of the kernel and it works very well for plenty of other devices that use it. But none of those devices have been designed to have a set of high-performance cores that are ready to rock like the Exynos 9810 does. This is why Samsung had to make their own changes and try to balance power usage versus performance with their own chip. And while you might not love what Samsung does when it comes to user-facing software (I'm right there with you) they know what they are doing when it comes to their own hardware at the kernel level.
When you take Samsung's hotplugged power-management out of the picture, the Exynos 9810 SoC using the standard schedutil governor performs exactly as expected. Or even a little better, as AnandTech's Andrei Frumusanu demonstrates by rebuilding the kernel without Samsung's hotplug utility and comparing battery life and performance against the Snapdragon version.
It's just a software "bug".
OK, maybe "bug" is the wrong word here because it's probably doing exactly what Samsung expected it to do and they never considered that it would have such a drastic effect on battery life. But it does show that Samsung really doesn't have to do anything to fix the issue when it comes to squeezing acceptable battery life from the Exynos-powered Galaxy S9. The "problem" is already fixed and an update could roll out today if that's what Samsung wanted to do. But I bet that's not what Samsung wants to do.
If you have an Exynos Galaxy S9 you probably won't like to hear this, but chances are Samsung isn't going to fall back to what just works and send out an update that removes their CPU frequency tuning. That doesn't make any sense when the company has spent an undisclosed amount of money (think millions) to develop a CPU that tries to move closer to what Apple is doing. I predict that they will retool their hotplug module, test it more thoroughly when it comes to battery life and try again. That means you'll have a bit of a wait and it may not be what was expected once millions of users get a chance to test it.
When all is said and done the Exynos version will be the better version once again.
That doesn't help when you have a phone with crummy battery life, but it's how this will have to play out eventually if Samsung ever wants to build the CPU that every other company whats to buy in the future. I really have no advice for you other than telling you to grab a portable battery (or carry your charger if that works for you) and tough it out. But know that this had to happen because Samsung is more than just a phone manufacturer. Eventually it will be sorted out and you'll be able to stay off the charger longer.
Hey, at least they aren't exploding, right?