I spent yesterday testing xray3.0.1 and xray3.0.2. I tested a number of configurations using Quadrant (v2.0) on a fresh KA12 install. Unless otherwise indicated in the table: the kernels were set to run at their full range of frequenceis, Deadline as the IO S, 32Mb zram swap, smartassv2 governor. I also monitored some system states and the KernelPerf table contains these results. Each state was tested 3x and I have reported the median values. Honestly, the table is super boring....but some things are clear....xray3.0.2 is way better than 3.0.1, zram is a good thing, the size of the zram affects performance and could be optimized, V6 and zram are "compatible" (in that they don't make your phone less stable), but V6 is the dominant force and keeps the zram swap from being populated (again this might be optimized by monkeying with the V6 LMK settings), the xray kernels are real battery hogs (as measured by the current drain on the battery). Lastly, considering the max feq is 1400, the Aire kernel is pretty good. Told you it was boring.
Anyway, since I was measuring the current drain during these tests, I decided to deconvolute the Aire frequency table - using the classic current voltage relationship. I made the assumption that the background drain (i.e. the drain by the display), is constant through out the testing. I took the current at the beginning of Quadrant's third CPU test to deconvolute Aire's table (see AireTable.pdf). In the absence of Aire giving us the table this is probably the best that can be done. A couple things made me feel better about these measurements, one is that I also deconvoluted the Sony ICSbeta kernal (upto 1024 the freqs are identical with Aire) and there was a consistent 20-25% undervolting by Aire and for both kernels the measured relationship is fairly linear. 768mHz is an outlier and was set to a higher than expected voltage by Aire ...this is real.
I fit the f-v relationship, and then applied it to xray3.0.2 (most of this can be found in AireTable.pdf). For the last 12 hours, I have been running as shown in the last table in AireTable.pdf (min 134, max 1401) with out an issue. Originally I didn't "overvolt" 768 and the phone would hang at this freq until I increased the voltage. I will switch to the full frequency range once my phone recharges. So far no wakelocks, phone sleeps really well. My phone will wakelock if I set the max freq below 806....not sure if this is related to JJdoctor's previous post??????
Since I watched a lot of Quadrant runs, I can say that one reason the Aire kernel is so good is that the CPU utilization rarely drops below 100%, even as
the frequencies are changing, whereas, the xray kernels tend to drop below 100% utilization as they move between frequencies. I am not sure if this is something that Aire coded into the kernel or if it is simply because there are only 1/2 as many frequency transitions in his table.
EDIT: AireTable.pdf updated