Performance & Battery Results

System performance was the key concern for the Exynos 9810 Galaxy S9. Having addressed the biggest issues in terms of scheduler and DVFS scaling, it’s time to check how this impacts our benchmark results. Again I like to comment that the following figures are not the best scores that the device achieved; but they are with the configuration that in my opinion best balanced performance and battery life given the time invested.

To recap what we’re looking at: the original firmware S9 (E9810) scores showcase the unmodified behaviour; the custom 1 modifications simply limit performance to 1794MHz on the M3 cores and disable the higher clock boost modes. Custom 2 contains the more major kernel modifications which we've covered on the first page while maintaining the 1794MHz maximum clocks.

Custom 3 configuration maintains all mechanisms but raises the clock back to 2314MHz – a clock which based on some investigation in the kernel source code may have been the original maximum designed frequency the SoC, and incidentally the last frequency before major diminishing performance/power returns in terms of voltage scaling.

PCMark Work 2.0 - Web Browsing 2.0

In PCMark’s web browsing test 2.0 we see a major improvement from all of the custom configurations. The first variant’s performance boost was caused by the capacity scale shift towards the big cores and thus having more workloads migrated onto the M3’s. Custom 2 & 3 retained similar performance however the performance boost here over the stock configuration comes from the increased scheduler and DVFS responsivity. Raising clockspeeds further to 2.3GHz didn’t bring much improvement – improving performance here sees diminishing returns and making the cores more aggressive brings a larger power and battery degradation.

PCMark Work 2.0 - Video Editing

PCMark Work 2.0 - Writing 2.0

As noted in part 1, I said I was confident being able to quickly recuperate some of the performance degradations of the first custom kernel. The PELT changes alongside the tuning did bring us back above the stock kernel in the video and writing tests. It’s interesting to see here the difference that the increased 2.3GHz clock brings – everything else being equal, the writing test gets a big boost in the score. I suspect this is because of the PDF rendering part of the test which is more compute intensive and just outright CPU throughput-bound.

PCMark Work 2.0 - Data Manipulation

The Data Manipulation test didn’t see major differences between custom 1 & 2 – this test didn’t seem to be significantly influenced by the scheduler changes, and the score only scaled slowly with further aggressive and power-hungry modifications. Raising the clock back to 2.3GHz in turn gave us a good linear increase, pointing out to more long-running tasks and CPU capacity limits.

PCMark Work 2.0 - Photo Editing 2.0

The Photo editing benchmark was the test most affected by the scheduler and DVFS changes. Here we finally find the explanation for the Exynos SoC’s bad performance in this test: the frequency just doesn’t scale fast enough with the heavy-but-short-lived tasks. This test scaled up to scores of 13000 at the most aggressive settings with WALT, but again at far too great power costs for it to be reasonable.

Source: WALT vs PELT : Redux – SFO17-307

Again, Qualcomm seems to be well aware of this, as they use PCMark as a demonstration of their custom scheduler modifications. I’m aware of concerns that this may be not representative of real-world uses and there might be too much a focus on PCMark, but in my experience this is not the case and I still think it’s overall the best representation we have on device “snappiness”.

Indeed, both configurations with the scheduler modifications made the S9 significantly more responsive and among one of, if not the most responsive devices. There’s a big “but” consideration for real world usage though – I haven’t tuned the touch boosters of the phone. These were naturally tuned for the slower stock behaviour of the SoC. In general the WALT and PELT modifications have the end-goal of completely avoiding the need of such input boosting mechanisms and to save on power. Therefor my subjective experience of the phone being so fast might be just a temporary thing and for battery optimization we might tone it down a bit through the removal of the input boosters. Unfortunately short of having a robotic arm and special benchmarks, this is all nearly impossible to objectively test.

Edit: I ended up trying a kernel with completely turned off input boosters and the phone still perfoms very well.

Another point I want to clarify when I talk about device responsiveness, is that I generally use phones without animations enabled as it just provides for a much faster UI experience. Under this use-case it’s very noticeable to see performance differences between devices, as the default animation durations can hide a lot of hiccups.

Speedometer 2.0 - OS WebView

In terms of web benchmarks we start with SpeedoMeter 2.0. This first test saw a smaller 7% boost from the new scheduler settings, so generally the performance here wasn’t an issue of performance responsiveness but rather of raw CPU capacity. Raising the clock back to 2.3GHz brings the performance back up near the Snapdragon 845 levels.

WebXPRT 3 - OS WebView

WebXPRT was also extremely sensitive to the scheduler settings, as we see a 10% increase on the custom 2 configuration. This was also one of the use-cases where the new PELT behaviour actually outperformed WALT as I was only able to reach a score of 76 with the former. Again the score here with the custom 2 configuration seems to be the highest reasonably-reachable performance under 1794MHz, and anything above that seems to be CPU capacity limited. The 2.3GHz configuration brought the performance back to Snapdragon 845 levels.

I also want to add that the performance levels in the web benchmarks here are at the highest achievable for the Exynos, and I don’t think any more scheduler or software optimisations will bring much. Especially as locking the cores to their maximum frequency doesn’t improve performance by much more.

Battery Life

The balance between performance and battery life is again a key aspect and issue of the phone and the SoC. I’ve tried myriads of configurations but simply wasn’t able to exceed the battery results of the first custom configuration. Unfortunately the physics here just overrule any possible software optimisation, and any performance increase will mean that we’re doing computations at higher performance states of the SoC, and thus we’ll be burning more energy per unit of work.

Web Browsing Battery Life 2016 (WiFi)

The custom 2 configuration brought a performance improvement, however this came at a cost of some battery life. This was a reasonable compromise and in my opinion the best-case scenario for the Exynos 9810 S9. Boosting the cores to 2.3GHz brought the 9810 to parity with the Snapdragon 845 in nearly all benchmarks, but this regressed battery life even further.

The juxtaposition between the stock results of the S9 versus the custom 3 configuration is interesting: We’re achieving similar battery life in both scenarios, just short of 7 hours. However the custom 3 configuration brings a 25-40% performance boost across a variety of tests. I might be beating a dead horse here, but again it shows that the Exynos 9810 could achieve just much better results depending on which direction one opted to optimise for, either performance or battery life.

PCMark Work 2.0 - Battery Life

I didn’t cover PCMark battery life in the first part but I wanted to make sure I cover all my bases for this piece. Here both custom 2 and 3 saw battery life regress versus the stock behaviour, but again in both cases that’s simply due to the higher overall performance. The delta from the increased 2.3GHz clock rate is a lot smaller here than in the web test, and that’s due to PCMark though being a lot more interactive in terms of continuous workloads. It has fewer really heavy tasks such as loading webpages, which use the higher frequency states of the M3s for relatively longer times.

Scheduler mechanisms: WALT & PELT Conclusion & End Remarks
Comments Locked


View All Comments

  • Andrei Frumusanu - Saturday, April 21, 2018 - link

    It's not a replacement; they serve different purposes.
  • The_Assimilator - Saturday, April 21, 2018 - link

    A single tech writer with some smarts is able to do what a tech conglomerate with multiple billions of dollars can't. That is absolutely fucking pathetic on Samsung's part; I used to think they were just incompetent, but to be able to design and fab their own CPUs, yet not provide appropriate working drivers for that CPU? Words quite honestly fail me.
  • BurntMyBacon - Monday, April 23, 2018 - link

    An alternate view is that they have great teams for chip design (though perhaps not as much this one), semi-conductor fabrication, and phone hardware integration., but not particularly good (being kind) teams for their software/firmware development.
  • johnnycanadian - Saturday, April 21, 2018 - link

    And the verdict is ... if you want the best Android experience, either pick up a Pixel 2 XL or wait a few months for the P3. If you want the highest performing smartphone, tolerate Apple and the never-quite-works-properly Siri and their gimmicky fashion-first business model. I expected better out of Samsung ... The Note9 is supposed to be quite an evolution ... hopefully enough that I can be convinced to trade in my Note5. As for everyday use, my Pixel 1 XL is still running brilliantly and there simply isn't enough of a performance delta to risk a third-party Android build that may or may not receive OS updates 24 months from now.
  • santz - Saturday, April 21, 2018 - link

    thank you for the excellent writeup. I just hope the Note 9 will not have exynos for their international version.
  • Seattletech - Sunday, April 22, 2018 - link

    Sign me up for
    2 M3
    2 A75
    4 A55
  • N Zaljov - Sunday, April 22, 2018 - link

    Magnificent article, thanks for wrapping everything up in such a detailed manner.

    The more I‘m looking at it, the more I‘m asking myself: „WTF were they smoking when they came up with the ingenieus idea of putting all Meerkat cores into a single clock- & voltage-domain?“. And tbh, even today I can‘t come up with a proper explanation other than „Time to market & saving xtors for the sake of not blowing up the chips budget“.
  • Quantumz0d - Sunday, April 22, 2018 - link

    Another majestic one. As expected from the initial experiment, though I was under the remark that the custom tuning would at least fix up the issue a bit, it did but the performance/efficiency is just bad. Very bad for such a high profile flagship device.

    A pity that this level of SoC should need 4000Mah capacity. It would have been much better for tuning and custom software enthusiasts and considering the constant high performance the voltage/power scaling is fine so vs the SD845 this SoC won't kill the total endurance of the battery fast. That's the only good thing of 9810 custom tuned/stock vs 845. But the XDA developer community and the top devs will get much more resources to work with with ease on the other phones with 845 platform like Pixel 3 or OP6 (Unfortunate Notch B$) don't have hopes on HTC as their 10 was a fail even with optimization the efficiency was off small battery and WiFi issues. OP3(T) and 5T seem the best choice for now.

    Much thanks Andrei for this, superb analysis and thanks for letting us know about the EAS too, that was total gold. I needed that. I guess I will pass this. I don't want another 6hr SOT, OP3 barely has 3-5 and 6 is super bad with custom tuning that too after a gap of 1Yr. Will wait for the next Exynos if it has a headphone jack / OP7.

    And please keep this work coming going forth, don't leave us in the dark, Ofc it would be great if you get a good opportunity but we need you.

    Thank you again Andrei.
  • Azurael - Sunday, April 22, 2018 - link

    On my OnePlus 5, I go from 11 hours SOT (with the standard setup) to about 7 (using EAS+schedutil) and performance in most benchmarks regresses - it clearly needs a lot of work.
  • Spoelie - Sunday, April 22, 2018 - link

    Doesn't seem like someone on XDA is picking up this config yet - would love to try it on my S9.

Log in

Don't have an account? Sign up now