[Galaxy Note II Original Android Development] AndreiLux:
Get your head out of your ass, it's not about disagreeing or not, it's about the facts/content you disagree on. You're don't have immunity to criticism and neither do I so don't get upset when you are being called out on something.

Let's do a breakdown:

The point of undervolting is that it is a disadvantage free method of gaining power efficiency, and it can bring down the dynamic power usage on the SoC down, from, let's pull it out of my ass, 20% by the best estimates from what I have measured over the last year. If you have instabilities then it is your fault in your methodology because you are undervolting too much. We are merely eliminating a manufacturers safety margin by undervolting.

I did these measurements last year on the 4210 on the S2 and they represent a almost linear scaling:

Off = CPU on with top off (Screen turned off and wakelocked system)

SetCPU = Idling while screen on.

ST off single = Stress test with single core enabled with top off

ST off dual = Stress test with both cores enabled with top off

They are not the same chip and they are not made on the same manufacturing process, but they are the same chip architecture with the same power savings methodologies, power scaling is dictated by physics and transistor dynamic leakage has been dictated by the same Power = Voltage ² x Frequency for the last 30 years.

You can see in that graph how merely changing the minimum frequency from 200MHz to 500MHz increases the power consumption by 88mW on that chip. Undervolting and dynamic power usage scales and goes down EXACTLY quadratic to the voltage.

That CPU usage is dwarfed by anything else is absolute MYTH. Let's take the S3 as we have measured data on that: http://displaymate.com/Smartphone_ShootOut_2.htm

The screen uses 1.3W output maximum on full brightness and white image, the standard usage depending on the coulours is maybe half of that, and a fraction of it if you put a dark interfaced ROM onto your phone or turn down the brightness further.

The 4412 under medium load from doing nothing to gaming as something from 250mW to 2-3W in the most demanding games, basically double or more of what the screen uses. The device doesn't get hot for nothing.

No the sampling rate is not when the CPU is polled for load, it's the periods between which the governor does DVFS decisions, load is merely a statistic of the reverse of how much time the CPU is in idle.

Yes, you are right, making quicker decisions through a scaled down sampling rate does indeed increase responsiveness, that is why I implemented the flexrate stuff (Other kernels lock the CPU to 800MHz and it is a battery drainer), so that whenever you are touching the screen things will accelerate down to 12500µS and up until the flexrate max frequency after which it goes back to the default sampling rate.

Setting the default sampling rate too low is BAD, it causes too much jitter on very short loads and it scales down the CPU needlessly too high, and on top of that, there is a power and latency penalty to switching frequencies. Having the CPU do that without interactive use is a needless and useless thing.

Same thing, again, absolute nonsense as with the CPU voltages above. Internal voltage especially can bring power gains, albeit it is much less than the CPU, but it is a free gain.

Deadline is alright, but noop just means that you are turning scheduling off. It doesn't bring you any performance gains at all, you are better off using an IOPS and latency designed scheduler like ROW or FIOPS (I'll bring that back when I have time), again, Deadline is ok, and SIO is a compromise of everything.

Those are the benchmarks I did with Bonnie++ back when I did the I/O overhaul in version 28. They are very flawed as in they are merely single runs but at least they give you a first impression. I didn't do more because that table already took me half a day to create, and that's only on a 512MB block size and single runs. Deadline and Noop are okey because they do little and no schedeuling at all, the benchmarks just show simple singlethreaded I/O requests, there you will never see any scheduler much in front of the other aside from latencies, but schedulers are meant to schedule concurrent requests and that is why Noop should never truly be used. From all the real schedulers only FIOPS and ROW are able to compete with them. That's why I set up ROW as default until I can bring FIOPS back.

Maintenance, logging???!!! These are tasks that do not even remotely task the CPU even at 200MHz with any significant load, any single process out there running in the background can be done at 200MHz, it is more power efficient and you are not even aware of it.

Aside from the power aspect which I explained above, there is also other stuff related to the governor scaling logic itself that it bad: If you are running the CPU that high as a minimum threshold, you are : 1) Also breaking the CPUPower driver's setting of migrating tasks on a single CPU at low frequencies so that the other cores can achieve undisturbed and long idle state residencies. 2) Breaking the hotplug logic frequency thresholds as they are not meant to plug in that early and can be uselessly triggered by a single CPU frequency jump up from 500. 3) You are breaking the lower level dedicated logics as freq_for_responsiveness and threshold_at_min_freq which do extremely relaxed scaling logics to deal with minor tasks fast and no do over-scale too much.

So you see how that whole last paragraph of yours is just nonsense and that last phrase is really something one might take out of a PR article. Your settings you suggested were not given more thought.

So with all of that in mind:

Yes please do deliver your kernel, because I want to see more nonsense delivered with an attitude. We already have a large amount of clueless developers on this site. The problem isn't that they're unskilled or do not know the technical details, everybody was like that including me; It's that they think they are doing some sort of meaningful change without giving the effort of thinking or dwelling into the topic more than 2 minutes. People are suffering from a severe case of the Dunning-Kruger effect (I was so happy when I found out there's a name to that attitude).

And if you feel the need to be sarcastic and attack me on the reboots because that's just pathetic, it was caused because I did a merge-mistake regarding the lowpower residency times that the Note 2 apparently doesn't like, and I wasn't able to find it until v30 because not a single soul except a few people were able to give me a proper kernel log. Some people forget I don't even own this device.

There's another developer on this very device who has played with a configuration value a few times over the last few weeks but couldn't do a simple Ctrl-F of that value in the very same file to see what it does and then realize it isn't even used. Or another dev changing voltages and "testing" them out for stability over a period of time, adjusting them, without realizing it those values are never even used and immediately overwritten on boot. New features! Adjusted XX for more performance! New kernel will make your erections bigger!

What do you want me to say to such people in a nice and civilized manner? People blame me for being arrogant, but then put yourselves in one's shoes for once and think about it.

Bugger-off is what I say.

____

I will update the kernel here to v31 here too but I'll do that tomorrow or so since I had a lot to do on the S3 regarding the SDS bug and still want to figure some things out regarding the new security fix. Anyway it's not as urgent for Note 2 users. Just be patient.