[Xiaomi Mi Max ROMs, Kernels, Recoveries, & Other D] mat9v:
Yes, I read that paper, first thing about it, not very applicable to our situation. It talks about micro controllers and powering them down into

deeper sleep

(as opposed to deep sleep) - that means clocking down, next powering down execution units, next powering down cores, then caches, then memory and lastly clock generators leaving only interrupt monitoring online to wake cpu up when needed. We have here completely different situation because we only power down execution units and cores, L2 cache is common to A53/A72 cores and is not powered down, ram is not powered down, clock generators stay up. Time to bring cores up is about 50 picoseconds. You know, if bringing up cores was such a problem and time/power costly why anyone would even power them down in the first place. You will not ever feel any impact on smoothness of user interface if tasks are started on small core and handed over to big core, to restate, if it was the case processors with only A53 cores would be unusable. A72 cores are less power efficient then A53, and are here only to take care of sustained load and to be turned off as soon as possible. I would love it to be otherwise, then we would not need A53 cores at all.

Lastly, let me quote one important nugget of experience from that article you referenced:

On other words, sometimes it is best to jump to high frequency to finish task fast then to gradually increase speed - and that is how I have my system configured. Strange how my battery life is so good.

I will test deadline for myself with both reading and writing, after all it is easy to copy 20GB of data from one directory to another and time the task - you have then equal 50-50 mix of reads and writes :)

Throw in 20k files from extracting browser cache from archive and measure that too :)

Frankly I never used deadline, on Galaxy Note 2 and 3, Xperia Z Ultra, HTC one, and few others I always used custom roms with custom kernels with noop or FIOPS governors. Anyway F2FS also changes the game as it changes when and how data is written.

Please tell me where can I configure something approaching that? It is an old lulzactiveq governor, based in part on interactive but with real controls.

This above is for example my config for Galaxy Note 2, you can see here:

line1 - at what cpu load jump to higher cpu level

line2 - at what cpu load jump to lower cpu level

line3 - how many frequency levels to jump up at one time

line4 - how many frequency levels to jump down at one time

line5 - highest cpu frequency for task done when screen is off

lines 6-12 - at what cpu level should additional cores be brought online / brought offline

lines 13-19 - at what queue length should additional cores be brought online / brought offline

line20 - least used - hispeed frequency - used when sudden very large loads appear, like starting new app

Now tell me where in interactive governor can I create such a config? Where can in turn on and off particular cores? This is why I call Interactive a joke, if I had tools like I had on that phone I would be able to shave another 20% of power use. Not to mention granular voltage configuration for every frequency and ability to directly manipulate static energy leakage - with those kernels I could literally remove static leakage for frequencies of up to 1.1Ghz, for core, cache and IO sections independently. In those times I had the best damn battery life of all phones (except Mi Max thanks to huge battery and process improvements), 10+ hours of sot from 3100mAh battery with largest then screen size of 5.7 inch.