yashsingh1/xdaforums huggingface dataset:
[Nexus 4 Original Android Development] b00bs:
In case for anyone who curious about battery life, here's mine. Sync, auto brightness, Location service=Battery Saving/ON. Build 01.04.14

Much better than stock.

[MENTION=4203114]mrg666[/MENTION] keep your kernel simple, and stay focus on increasing performance & efficiency. I'm sure there's another dev that will add feature based on your amazing kernel.
[Nexus 4 Original Android Development] tvall:
I'll merge and build in a couple of hours. Then I'll think of a "creative" name make a thread for my builds. You can then direct similar requests there if i miss them and I will maintain what I can.
[Nexus 4 Original Android Development] mrg666:
Great! Thanks for collaborating.
[Nexus 4 Original Android Development] jawz101:
Why not just make this a combined mrg666/tvall thread?
[Nexus 4 Original Android Development] ihancioglu:
Mirage, congratulations really less heat now. I will inform If any improvement on idle battery consumption.
[Nexus 4 Original Android Development] tvall:
thread made http://xdaforums.com/showthread.php?t=2599356
[Nexus 4 Original Android Development] ihancioglu:
Hi Mirage,

Battery drain is the same even retention enabled for CPU0 last night :(

As far as I realized little lags appeared with last version. I think previous version was a little bit smoother UI experience. But needs more feedback from other people.
[Nexus 4 Original Android Development] clockworkstop:
That's strange, battery seems to be better for me at least. Especially deep sleep drain is very good up to now. Lost a few percent over night.

Sent speedily from my scurrying Nexus 4
[Nexus 4 Original Android Development] mrg666:
I have added just two small changes for a new build today.

- autosmp: use a lower frequency limit for unplug (should improve consistency of autosmp)

- remove powersave and performance governors

I will avoid adding more frequent updates in this week. This is just a minor update and if you don't feel like flashing a kernel, you can skip it.

Cheers!

Regarding the tests of new autosmp version, thanks for the feedback so far. Let me know how it goes in the longer term if you decide to stick with MiRaGe.
[Nexus 4 Original Android Development] RealiZms:
Thanks a lot for adding the PA colors bro. This kernel is awesome! Thanks again!

---------- Post added at 06:41 PM ---------- Previous post was at 06:06 PM ----------

Kernel is not going into deep sleep :(

Interactive gov, Row scheduler. I tried clearing cache and Dalvik after reflashing the kernel.....

I'll try this again once fixed...

Is it possible to post a link to the latest stable kernel?
[Nexus 4 Original Android Development] David9519:
I will try your kernel. It seems to be very nice.

I only like stock ROM, so I hope it will be awesome.

Gesendet von meinem Nexus 4 mit Tapatalk
[Nexus 4 Original Android Development] mrg666:
Deep sleep is working see the attached overnight stats. Your deep sleep problem should be with your ROM or apps.
[Nexus 4 Original Android Development] Bladyle:
Hello,

can I use UV on this kernel or it is locked ?
[Nexus 4 Original Android Development] clockworkstop:
It's locked. Maybe you can use it by executing some terminal commands, but I doubt it.

Sent speedily from my scurrying Nexus 4
[Nexus 4 Original Android Development] mrg666:
CPU VDD control is not included and there is no way of doing this using command line with MiRaGe. As I said in the OP, MiRaGe is not really a tweaker's kernel. I have added CPU VDD interface in the previous kernels I had developed and regretted adding it eventually. It is hard to rely on the error reports after adding this capability in the kernel. It is not really worth it squeezing the last few microvolts and there is absolutely no gain but a lot of stability to lose. The oc build in the OP has a modest 100 microvolt indervolt with an optimized voltage profile. That is the most I would do and recommend. Just my 2c.
[Nexus 4 Original Android Development] ihancioglu:
Hi Mirage,

I am testing m_plus kernel which is using default mpdecision and termald. Battery consumption at night is %0 like Semaphore.

I would like to test your kernel with default mpdecision and termald. But I have no knowledge about compile kernels. Can you please make a test version If it is not hard work for you?

So we will find which is more battery friendly, mpdecision or autosmp? and of course thermald or msm_thermal?

Maybe that gives you a new vision about battery.

If It is too much work for you, just forget it :)

Thanks
[Nexus 4 Original Android Development] mrg666:
Default mpdecision and thermald cannot be more battery friendly. AFAIK, Semaphore is not using default mpdecision and thermald and you say it has the low battery consumption over night. So default mpdecision is not the solution.

The default mpdecision is a horribly bad piece of code, I would never put it back in the kernel. I know you didn't mean but you have almost offended me by suggesting this. Besides the battery life with MiRaGe is actually pretty good for me. I can easily get two full days of use with a moderate use. I can do almost everything I want for a single full day. The overnight battery consumption is about 1% per hour which is also not bad at all. If you want to use MiRaGe and that 1% per hour over night battery use is annoying you, please try to ignore it for now, it is really not such a big deal. But as I said before, I am working on to make it lower. I promise I am not ignoring it. ;)
[Nexus 4 Original Android Development] :
1% per hour is about right I think. I don't think lower is possible.

Battery meter is not very accurate. You can use heavily then switch off for a while, come back and the graph shows the battery level increased!
[Nexus 4 Original Android Development] DontPushButtons:
Yeah, battery reporting seems really inconsistent almost across the board. Even the kernels that completely flatline overnight drain about 8-10% with the first few minutes of use.

I actually prefer a kernel that shows 1% drain/hr overnight because it makes me feel like it's reporting more accurately..

Agreeing with what bedalus said, my battery goes up almost every time I reboot my n4.
[Nexus 4 Original Android Development] mrg666:
Actually, the other way around. CM is not compatible with this kernel :)
[Nexus 4 Original Android Development] clockworkstop:
Just wanted to report back on battery life after using your kernel for a week. To be honest, it's not the best. Performance and stability are both up there with the best, but battery life not. I use a very slim AOSP masterbranch rom using only the essential apps, and my SOT averages from 2 to 3 hours if I'm lucky. Also, the battery seems to drain faster from 100 to 50 than from 50 to 1.

Maybe my battery is calibrated wrongly? Do you have any suggestions?

Sent speedily from my scurrying Nexus 4
[Nexus 4 Original Android Development] mrg666:
2-3 hours SOT is not good at all. But I normally get much longer than that with MiRaGe and stock ROM. I have not measured since it is longer than I can keep looking at and doing something on N4. As I said before, I can do whatever I want on the phone for the whole day. Honestly, I don't have a suggestion other than using another kernel that works for you although I like your company here.
[Nexus 4 Original Android Development] clockworkstop:
I just calibrated my battery new, I hope that helps. Will report later tomorrow, who knows, maybe I just messed up my battery somehow.

And by the way, I'm kind of dependant on stock kernels, open master won't boot with anything else :p I'll stick with it .

Sent speedily from my scurrying Nexus 4
[Nexus 4 Original Android Development] mrg666:
Just as a reference for you, I just knocked myself out playing pool on my N4. The screenshot is attached here. As you can see, I could have got ~6 hours of SOT with my N4 if I had continued to discharge the battery completely. If I don't play game, SOT can be even more. So 2.5 hours of gaming used less than 43% battery.

BTW, just one full charge resets your battery stats. You don't need to calibrate. I have never calibrated my battery.
[Nexus 4 Original Android Development] C4SCA:
Running the oc version?

sent from my diabetic Nexus 4 (KitKat's fault).
[Nexus 4 Original Android Development] mrg666:
yes
[Nexus 4 Original Android Development] mrg666:
LOL, it says can't touch this.

Okay, it wasn't funny and removed.
[Nexus 4 Original Android Development] C4SCA:
I dont wanna be rude but..

Im on stock rom, stock kernel, stock dalvik and i got this at first try

sent from my diabetic Nexus 4 (KitKat's fault).
[Nexus 4 Original Android Development] mrg666:
I didn't say "you" can't touch this. I was only pointing out what 3dmark calls it I thought it was funny. Oh well.
[Nexus 4 Original Android Development] avi.laza:
Hi mrg666, can you please add support for faux sound in Mirage kernel?

Thank you for your time and hard work
[Nexus 4 Original Android Development] tvall:
I'll be adding it to my fork as soon as I get the time
[Nexus 4 Original Android Development] mrg666:
Please see the second post about sound patches. Tvall is developing the feature rich variant of this kernel with his improvements and additions. Please also see his Oasis thread.
[Nexus 4 Original Android Development] mrg666:
I have updated MiRaGe in the OP. The changes are too many but all of them are small/little patches backported from current Linux, Google, and CAF repos for vmalloc, ion, autosmp, etc. plus the Linux 3.4.76 patch from mainline Linux. See the repo for details.

I think the development of MiRaGe will slow down after this point until a new OS update comes from Google. I will keep working on my side but only post if there is a significant fix or improvement.

Cheers!
[Nexus 4 Original Android Development] Bladyle:
stock ROM + MiRaGe kernel (update from today)

So after I use this kernel for a few days my resume is:

- Good speed and stability! Never have a problem with this.

- SOT is ~30-40 min more compared to stock

- when I play games my device is hotter compared with the stock kernel (using the OC version which is -100mv UV if I remember well..)
[Nexus 4 Original Android Development] C4SCA:
Sorry, i misunderstood :S

sent from my diabetic Nexus 4 (KitKat's fault).
[Nexus 4 Original Android Development] mrg666:
I have broken the taboo of posting benchmarks in a kernel thread. I should have known better :o Guys, let's stop posting benchmarks, please.

PS: Everybody's score is beating me anyway.
[Nexus 4 Original Android Development] tvall:
I don't trust benchmarks and don't usually care to even test, but I wanted to beat your score. I got the score in the attached image, but found you removed yours. Now I don't know how much to cheat....

Oooh! !!! I got a super high score! Look!(editing like that in the gallery app is difficult. With my laptop, I can do it much better. Another reason to not trust screenshots of benchmarks)
[Nexus 4 Original Android Development] mrg666:
I had too many ion and vmalloc updates lately. I wanted to test the gpu driver with those changes. Most of the games with advanced graphics are larger 1GB. So I have downloaded 3DMark last night to test the latest updates. I think downloading the benchmark and letting run itself is quicker than downloading gigabytes of data and playing some stupid games. Although I also don't care about the score, it was useful for testing.
[Nexus 4 Original Android Development] tvall:
On the subject of benchmarking, look at these quadrant scores. Same device, same clock settings, same rom, minutes apart, no Photoshop (this level of editing is way beyond my skill). First is more "real", second is what I show people when they want to see my benchmark scores.
[Nexus 4 Original Android Development] mrg666:
Switch to ART ;)
[Nexus 4 Original Android Development] tvall:
switched last week after reading your comments on it. wasn't running it in those screenshots. that would probably further boost the score
[Nexus 4 Original Android Development] krialix:
I like your kernel very much. It's very smooth :) Could you update prima driver?

https://github.com/xcstacy/mako-linaro/commit/9e1f6fda2e114638a09a8fa9fc3cc55d35833541
[Nexus 4 Original Android Development] mrg666:
Thanks. I have seen your repo too. Nice work going on there. I try to avoid upgrading the WiFi drivers when they are running fine. But we can try it internally just for kicks. I will check the link and upgrade them in my repo. You can pick them up from there. If there is no benefit , I wouldn't include in the stable builds though.
[Nexus 4 Original Android Development] krialix:
Thanks. :)
[Nexus 4 Original Android Development] clockworkstop:
Finally some other people who aren't to fond of benchmarking. I thought I'd never see the day :P

Sent speedily from my scurrying Nexus 4
[Nexus 4 Original Android Development] RealiZms:
Man I love this kernel but I still can't get my phone to deep sleep...

I'm on Cataclysm, no other mods or anything. I reflashed after wiping Dalvik and still no deep sleep. At least as far as trickstermod app is concerned. Is it a problem with trickster?

Any advice?

Edit: Fixed! :)
[Nexus 4 Original Android Development] DontPushButtons:
To be fair, you spend a bit of time with the psx/trinity crew.. ;)
[Nexus 4 Original Android Development] clockworkstop:
A lot ;) but I haven't benched with my N4 save one or two times... I'm there for the speed and the community.

Sent speedily from my scurrying Nexus 4
[Nexus 4 Original Android Development] clockworkstop:
hey [MENTION=4203114]mrg666[/MENTION] just here to tell you that battery life has improved a lot after a week of using mirage. All is well. :)

Sent speedily from my scurrying Nexus 4
[Nexus 4 Original Android Development] mrg666:
An update is available in the OP. I have found an inefficiency in the hotplug algorithm and fixed it. Some of the unplugs could be premature in case another online core was at a high load. Also a hotplug could be unnecessary since another online idle core could be missed. With the new algorithm, efficiency improved. Also there was a fix for the scheduler added that will improve load balancing after hotplug events. I have seen this patch from nvidia in Faux's repo, so thanks to him.

Cheers!
[Nexus 4 Original Android Development] b00bs:
[MENTION=4203114]mrg666[/MENTION] I hate to say this, on latest update there's several lags when scrolling emoticon in hangout and loading thumbnail in photo (g+) apps.

Since Hangout has not updated since last year, I'm sure it's related to the kernel. Now I've been on stock kernel and do not see this problem.

But it's still butterly smooth when scrolling on web page in Chrome.
[Nexus 4 Original Android Development] mrg666:
I will check it. Can you describe the steps to see the problem? If it is consistently happening, please also post a dmesg log right after this happened.
[Nexus 4 Original Android Development] b00bs:
Not sure because I've had reflashed stock kernel then MiRaGe again or because I'm rebooted. But, that 'lag' is gone.

But here it is, take it as my responsibility for making my post before. But if it happen again I will post again. :)

https://www.dropbox.com/s/mpf97zv97tnl8p4/dmesg.txt
[Nexus 4 Original Android Development] mrg666:
You are not using the latest 011414 build which has improved hotplug algorithm that could help with those lags.
[Nexus 4 Original Android Development] b00bs:
Looks like I was flashed the same file twice. :(
[Nexus 4 Original Android Development] mrg666:
A new build is available in the OP with a large number of updates for scheduler, smp, ARM, timer, prandom, and Linux 3.4.77. Please see the details in my repo.

Cheers!
[Nexus 4 Original Android Development] michelemascia7:
thanks for the kernel :D i have one question :) why the kernel hasn't gamma control like faux or franco? :)
[Nexus 4 Original Android Development] mrg666:
There is a sysfs gamma control interface added earlier. I was planning to remove it after tvall's Oasis kernel was available but I forgot. Please check with tvall for having such features.There are also several excellent options if you are looking into a feature-rich kernel. My reasons for not adding more sysfs interfaces were explained in the OP and some later posts.
[Nexus 4 Original Android Development] b00bs:
Hi [MENTION=4203114]mrg666[/MENTION] just wanna say, latest kernel update has used to much [MENTION=1528666]151[/MENTION]2.

Worried about battery life: (
[Nexus 4 Original Android Development] mrg666:
It is too early to decide on the battery life for yesterday's build. Just give it a couple of days. And don't worry be happy :)

[YOUTUBE]d-diB65scQU[/YOUTUBE]
[Nexus 4 Original Android Development] krialix:
[MENTION=4203114]mrg666[/MENTION] What do you think about this commit? https://github.com/labodj/hammerhead-linaro/commit/619614a42d57b3cca616bcf46ca8503065b6cfcc
[Nexus 4 Original Android Development] mrg666:
It is good to know that 20s freeze timeout is too much. But the commit doesn't solve the problem by adding another sysfs variable. It actually leaves 20s as it is. I would prefer using the proper freeze timeout value for mako instead of throwing the sysfs parameter in the kernel. The generalized solution would be an algorithm (or a table) that assigns the proper value based on kernel configuration. Let's try to find the proper freeze timeout. That would be an improvement for the kernel.
[Nexus 4 Original Android Development] mrg666:
MiRaGe is updated in the OP with the following changes

- huge update of workqueue to the level of Linux 3.8 that brought many improvements such as

------ use irqsafe timer for delayed_work (irqsafe timer was added in the previous build)

------ implement and use mod_delayed_work() instead of cancel + requeue sequence

------ make all workqueues non-reentrant

------ implement and use system_highpri_wq for highpri workers in unbind_work and rebind_workers()

------ unify local CPU queueing handling

- pm updates

- arm updates

- disable CGROUP_CPUACCT and GENLOCK (thanks to krialix)

- unified hashtable implementation and adaptation in the kernel

- removed display gamma control (this was totally useless)

It seems to me that there is an improvement in the responsiveness of the kernel in this build.

Cheers!

BTW, battery life and deep sleep have been tested; there are no problems with those.
[Nexus 4 Original Android Development] bertans:
Even if I don't understand your kernel's features, I decided to give it a try because of your description "I wanted a lean and efficient kernel with the optimizations and updates that are not included in a stock kernel and I am sharing exactly what I have developed for myself". :cool:

That idea was the reason I realized, three years ago, LEANdroid for my old (but still working) Huawei IDEOS U8150: "Lean stock ROM with a "few tweaks" and nothing more"...

I know you don't care about that story but I think it's a funny way to say THANK YOU FOR YOUR WORK! :good:

[UPDATE] THIS KERNEL IS ROCK SOLID! :victory:
[Nexus 4 Original Android Development] mrg666:
I have another update for the MiRaGe kernel. There are nearly 100 commits in the repo that brings rcu and mutex locking code at the same level of Linux 3.8 and adds many smp code improvements. Changes are too many to list but some of the significant improvements are as follows.

- All RCU locking updates upto Linux 3.8

----- Direct algorithmic SRCU implementation that helps with OS jitter, helps with rela time performance

----- Reduce cache-miss initialization latencies

----- Implement a variant of Peter's SRCU algorithm

----- config for userspace extended quiescent state

----- add callback-free CPUs, as RCU callback execution can add significant OS jitter and also can degrade both scheduling latency (similar to Joe's RCU concept)

- mutex locking updates from Linux 3.10

----- Make more scalable by doing less atomic operations

----- Queue mutex spinners with MCS lock to reduce cacheline contention

- Optimizations and updates for SMP

----- Provide infrastructure for percpu hotplug threads used by RCU and others

----- Provide generic idle thread allocation

----- kthread: Implement park/unpark facility to increase efficiency with hotplug events

Please see the repo for details. Downloads are available in the OP. As usual, please let me know if you find any problems or improvements.

... and enjoy!
[Nexus 4 Original Android Development] mrg666:
Thank you for the feedback. I am glad MiRaGe works for you too.
[Nexus 4 Original Android Development] mrg666:
There is another update in the OP with the following changes

- backported updates for cpufreq driver up to Linux 3.8

- switched to ondemand governor in Linux 3.8 mainline to eliminate touchboost in CAF code

- cleaned up interactive governor from touchboost code

- included conservative governor

- scheduler updates that complement the RCU updates in the previous build

- Linux 3.4.78 (will be final tomorrow and there are no important changes for mako other than selinux)

There are other changes that apply only to the overclocking kernel after our discussion with bedalus

- add 600 MHz bus speed

- add 1188 MHz L2 speed using the new bus speed

- use 1188 L2 speed for OC cpu frequencies (i.e. >= 1.5GHz)

- use the full range of L2 speeds in cpu freq table

I have added a small explanation in the second post about the removal of touchboost code which wasn't functional anyway. Without that, interactive governor does cpu freq scaling more efficiently. Regarding the changes on OC kernel, please post if there is any instability that appear in this build. I will revert those changes if I hear problems. I didn't see any problems and there seems to be a slight increase in performance detected only by quadrant tests for me. Otherwise there is no advantage in the real world use. But if you are using OC kernel you might like to have the boost ;)

That is all for this build. Enjoy!
[Nexus 4 Original Android Development] ihancioglu:
Thanks for the update Mirage. I would like to use your kernel but I am addicted Stratosk's DT2W. If you are not planning to implement these feature, I will use your kernel when I learn built kernel myself with these feature :)
[Nexus 4 Original Android Development] mrg666:
Stratos is an excellent developer. You are not missing much without MiRaGe. But I recommend learning to build the kernel anyway since it is a lot of fun and having so much control on your device is great. When you learn, your will prefer your own kernel and not MiRaGe again ;)
[Nexus 4 Original Android Development] kokosk4:
This kernel works omnirom? Thanks for your work

Enviado desde mi Nexus 4
[Nexus 4 Original Android Development] michelemascia7:
thanks for your work :) :fingers-crossed:
[Nexus 4 Original Android Development] mrg666:
If omnirom accepts the stock kernel and boot image, MiRaGe should also work. But I am not familiar with omnirom. .
[Nexus 4 Original Android Development] jawz101:
anyone experiencing frequent reboots on this kernel?

I'm running Purity ROM and have always had problems with the phone deciding it needs to reboot for no reason. I've not experienced this on other ROMs or kernels on this phone.
[Nexus 4 Original Android Development] tvall:
On my fork with a self-compiled aosp, I only reboot on upgrading kernels. On average its about a week of uptime.

MiRaGe has much less random hacky changes so it should be even more stable than what I run.
[Nexus 4 Original Android Development] mrg666:
Are you using the overclocking kernel? There are some new changes in the overclocking kernel that needs testing. Is your feedback related to that?Can you post a last_kmsg?

Otherwise, I have not seen any random reboots with the overclocking kernel using the stock ROM.
[Nexus 4 Original Android Development] Swords.Grizzlebee:
I've been using the OC kernel on Purity since yesterday, seems very stable to me so far, no reboots. Scrolling in apps and websites is super smooth, and my phone has never been as stable or run as cool on any other kernel that I've used 1728 as a max frequency. Thanks for sharing your work, really loving this kernel.
[Nexus 4 Original Android Development] mrg666:
Thank you for the feedback. 1728 can run without reboots but there can still be artifacts in the pictures taken if it is not fully stable. Just make sure your pictures are fine.