[Hero, G2 Touch Android Development] erasmux:
First for me noticing the responsiveness is not that easy and unlike many users which complain every time I hurt the responsiveness I do not personally notice these small changes to responsiveness in normal usage. I can notice it when I really try to, for example when scrolling between home screens or in the app drawer (using a launcher with smooth app drawer scrolling). You may also notice it when typing using a keyboard but that is also very very sensitive to the scheduler parameters. One final use case I find very important is when waking the phone up from sleep. With ondemand I get wakeup issues with any min frequency below 352, while with smartass I do not get any wakeup issues even at 176.

By short load, what I mean, is that when you think of a small load (i.e. just updating the SetCPU counters on the screen) vs. a big load (loading google maps), from your responses I am not sure you understand that both will make the CPU jump up to a high load (say 100% although I think usually one task alone will seldom actually reach 100%). The only difference is the time it will be at this high load: to update the counters it will take a very short time, while to load google maps it will take a long time. If anything, loading google maps will actually have a lower load on the CPU as it will also need to load resources from the storage which will cause the CPU to idle while waiting for the storage memory to respond....

On a more theoretical side, although I can understand from where you are coming with this and as the "end user" you don't care, there is a a logical problem here. The governor code obviously can not predict the future, hence if the governor responds with a small delay to an increase in load, it will respond this way to any kind of load. The last two examples I gave above are exactly those we don't care about this delay, but think about the home screen scrolling: After some time being idle the cpu frequency is low and then you want to scroll the home screen and here it is important to ramp up the frequency as fast as possible. Try this with ondemand with a min frequency of say 352Mhz or lower and you will see the difference. The same should hold of any response to a user input which should happen quickly. Might also be worth to take a look at benchmarks: if I remember correctly, smartass performance in say neocore is almost the same as performance, while ondemand has lower scores. I agree benchmarks on their own mean nothing in the real world, but many users do feel this lag in a lot of places.

That said, if smartass was perfect, we would need not include any other governors in the kernel. Ondemand, for example, is there because it might be better suited for some. You might be one of those people. Responsiveness aside, do you get better battery life from ondemand over smartass with similar settings in real life usage?

I am not, and actually would like to be find any further ideas to improve this. I do at least try, to read all your comments with an open mind. For now, to the best of my recollection, I have had the exact same outlook on things when I just started playing with programming governors and after trying to actually get things to work in the real life this is my current view on things. I will happy to try any new ideas which either have already been implemented or seem good enough in theory for me to spend the time to implement them.