[GSM/CDMA -- IO OPTIMIZATION] EternityProject's V(R) I/O Scheduler Kernel Module - Motorola Droid RAZR

Welcome to another EternityProject Thread....
What do we have here?
It is the V(R) Scheduler! V(R) Scheduler is a reinforcement schedule in which the number of responses necessary to produce reinforcement varies from trial to trial.
It will produce an high rate of responding greatest activity of all schedules and responding rate is high and stable.
What do we need?
1. Willing to download something and pulling it on your phone
2. Absolutely no patience.
Download:
V(R) Scheduler Kernel Module: HERE
How to activate it:
Method 1:
1. Download it and.. cp /sdcard/downloads/vr-iosched.ko /tmp/
2. Insert it, so... insmod /tmp/vr-iosched.ko
3. Activate it. I use AnTuTu CPU Master Free: Advanced, I/O Scheduler: vr - then Apply.
Method 1 won't persist after a reboot.
Method 2:
1. Download it and.. cp /sdcard/downloads/vr-iosched.ko /tmp/
2. Use this script (AS ROOT on an app like Script Manager) for insmodding and setting it at boot time:
Code:
insmod /tmp/vr-iosched.ko
echo vr > /sys/block/mmcblk0/queue/scheduler
echo vr > /sys/block/mmcblk1/queue/scheduler
Method 2 persists after a reboot if the script is set on Script Manager (or similar) to be executed as ROOT and at every boot.
The Eternity Project Team Manager,
--kholk

Oh cool! Downloading it now!

When I run the script it says that the file cannot be found.
Where do I have to place the file?

Sorry but how do u download it... im on my phone and it just takes me to the website with a bunch of codings
Edit: ok i got it and i did method 2 with script manager... how do i kjnow if it is runnig?
Sent from my DROID RAZR using xda premium

Aashrey99 said:
When I run the script it says that the file cannot be found.
Where do I have to place the file?
Click to expand...
Click to collapse
You have to place the file in /tmp/
blkghost22 said:
Sorry but how do u download it... im on my phone and it just takes me to the website with a bunch of codings
Edit: ok i got it and i did method 2 with script manager... how do i kjnow if it is runnig?
Sent from my DROID RAZR using xda premium
Click to expand...
Click to collapse
You can check that it is running in two ways:
1. Download AnTuTu CPU Master Free and if the selcted iosched governor is vr it is working.
2. Open a root shell and type:
cat /sys/block/mmcblk0/queue/scheduler
cat /sys/block/mmcblk1/queue/scheduler
If the output contains "[vr]" and other schedulers (not closed in []) then it is working.
Note that the first method can give bad results on the "test" because I don't know if it is using the same method I'm using to apply the V(R) iosched to the disks. In any case, both will work (applying with CPU Master or with my script).
My scripts just makes sure that the scheduler is applied to both the internal eMMC and the external SDCard.

How do i download it every time i click on the link it opens the binary code!

therazrguy said:
How do i download it every time i click on the link it opens the binary code!
Click to expand...
Click to collapse
Right Click, "Save link as"

Working perfectly on XT910K
Much more responsive than before
Thanks!
Added script with ROM toolbox

Neutron90 said:
Right Click, "Save link as"
Click to expand...
Click to collapse
does it improve my benchmark performance?

Mine improved, since I/O scores and cpu scores go right up.
And scrolling is much more smoother....less spit second lags...
Keep up the good work Kholk!

Related

min scaling CPU freq != cpuinfo min freq

Hello,
Is there any reason why the scaling min freq is not equal to the cpuinfo_min_freq?
By default the scaling min freq is set to 245760
However the cpu can go to 122880
I have manual set this and the phone seems to run fine, changing freq on demand as need and slowing back as it should
I tried editing the /init.qcom.post_boot.sh so it does it every time on boot up but it just overwrote the file with the default
chris... said:
Hello,
Is there any reason why the scaling min freq is not equal to the cpuinfo_min_freq?
By default the scaling min freq is set to 245760
However the cpu can go to 122880
I have manual set this and the phone seems to run fine, changing freq on demand as need and slowing back as it should
I tried editing the /init.qcom.post_boot.sh so it does it every time on boot up but it just overwrote the file with the default
Click to expand...
Click to collapse
I use overclock widget and it do the job (need root)
True, overclock widget sets it perfectly, lets hope this saves more battery
To check cpu running speed use system panel ..
I think that there's a reason cause they set the kernel to that frequency. Probably 122mhz is too low for gsm csmda radio activity or probably cause after some tests they saw that there was no difference in stand by between the two power consumption levels.
I got no problem when on idel setting the max cpu freq to the lowest speed possible
If there were not problems about it they would set it to 122Mhz. Maybe they solved some lags, who know what. But if it's at 245Mhz a reason exists.
Anyway.... I don't know too, I think only Sony Ericsson developers could tell something about this choice.
Probably so their crappy interface and built in demo apps can work
Have had no issues running this at boot time ( via root )
---------------------- snip ---------------
#!/system/bin/sh
echo 122880 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
---------------------- snip ---------------
i save this as "slow.sh"
then run
#sh slow.sh
now idle uses 122.88 mhz and saves alot of battery!
morning_wood said:
Have had no issues running this at boot time ( via root )
---------------------- snip ---------------
#!/system/bin/sh
echo 122880 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
---------------------- snip ---------------
i save this as "slow.sh"
then run
#sh slow.sh
now idle uses 122.88 mhz and saves alot of battery!
Click to expand...
Click to collapse
Hi Morning_wood
Could you please share the whole procedure for us newbi's .. i think saving battery life would help us all allot
kimb0 said:
Hi Morning_wood
Could you please share the whole procedure for us newbi's .. i think saving battery life would help us all allot
Click to expand...
Click to collapse
use the "overclock widget" app
You have separate min/max speeds while idle and while running
kimb0 said:
Hi Morning_wood
Could you please share the whole procedure for us newbi's .. i think saving battery life would help us all allot
Click to expand...
Click to collapse
1. you need root
2. create file "slow.sh" with this entry ( can use notepad or whatever )
#!/system/bin/sh
echo 122880 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
save anywhere eg: /sddcard/slow.sh
3. open a terminal *ConnectBot works fine
4.
$su
#sh /sdcard/slow.sh
5. exit your terminal
note: you need to do this everytime you reboot your phone
I use Android System Info ( System / CPU tab ) to check the cpu usage
morning_wood said:
1. you need root
2. create file "slow.sh" with this entry ( can use notepad or whatever )
#!/system/bin/sh
echo 122880 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
save anywhere eg: /sddcard/slow.sh
3. open a terminal *ConnectBot works fine
4.
$su
#sh /sdcard/slow.sh
5. exit your terminal
note: you need to do this everytime you reboot your phone
I use Android System Info ( System / CPU tab ) to check the cpu usage
Click to expand...
Click to collapse
Thank you
morning_wood said:
I use Android System Info ( System / CPU tab ) to check the cpu usage
Click to expand...
Click to collapse
is this an app?
Could someone please give me some good running settings in overclock widget ?
pukidukie said:
Could someone please give me some good running settings in overclock widget ?
Click to expand...
Click to collapse
set min to the minimum and max to the maximum
The kernel uses a frequency scheduler that automatically changes the speed based on demand
Ok, thank you
Is there any way to fix cpu schedule file, with out widget or slow.sh file to make cpu idle frq constant 122880?
Sent from my E10i using XDA App
Yodd said:
Is there any way to fix cpu schedule file, with out widget or slow.sh file to make cpu idle frq constant 122880?
Sent from my E10i using XDA App
Click to expand...
Click to collapse
Setcpu works fine...
forum.xda-developers.com/showthread.php?t=505419
mo more slow.sh - the easy way revised
----------------------------------------
http://de.blank-online.eu/file/autostart.apk
How to do the slow-cpu
Make a autostart.sh file on your desktop containing this line:
echo 122880 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Copy to /sdcard/
Install the autostart.apk
Reboot phone / say yes to superuser
Plug in phone * with usbdebuging of course
ADB shell, su to root
In ADB shell do...
mkdir /data/opt
cd /data/opt
busybox cp /sdcard/autostart.sh /data/opt
chmod 777 autostart.sh
reboot
Enjoy slowcpu at bootup!
morning_wood; said:
Make a autostart.sh file on your desktop containing this line:
echo 122880 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Install the autostart.apk
In ADB shell do...
mkdir /data/opt
cd /data/opt
busybox cp /sdcard/autostart.sh /data/opt
chmod 777 autostart.sh
reboot
/QUOTE]
Not for me.....
I'm trying with #!/sh.....etc...
Thank you
Click to expand...
Click to collapse

[Module] SmartassV2/ondemandX governors for Rooted/stock ROM | 2012-02-24

This modules are for people with stock kernels because they don't have 'smartass' or ondemandX' governors.
EASY ENGLISH:
Differences between this modules and build in stock kernels:
- allows to set max CPU freq when screen is off (to save battery),
- allows to set starting CPU freq when phone awakes (to speed up awake process),
- allows set/change almost all aspects of governor (to suite needs),
- should be a bit more responsive when parameters are well chosen for smartassv2 governor.
Each governor has some predefinied values - more info in "Available settings".
If governors works or not on other version then 4.0.2.A.0.42 let me know.
Start:
The goal was bring 'smartassv2' and 'ondemandX' governor to work with stock kernel on Neo V.
Most information is in my thread on 'XPERIA X8 Android Development': [Module] | X8 | X10 mini/pro | AX8_SMARTASS v002 | 'smartass' governor | [2011-07-19]
To remind:
SmartassV2 (informal description and comparison with the first smartass)
SmartassV2 is a governor (controls the frequency of the CPU at each give moment) which like the first smartass is generally based on the implementation of interactive with some major changes and the addition of a built in sleep profile (behaves a bit differently when screen is off vs. on).
The smartassV2 improves the very naive scheme which the first smartass had: The first smartass (with the values I set for the hero), would cap the max frequency at 352Mhz for sleep and when screen is on, would do the opposite and keep the frequency at 518Mhz or above. For sleep this was very effective but a bit crude and unclean, and there could be some cases where you would need processing power even when screen is off (something is updating and music is playing and etc.). For screen on, smartass1 was too quick to jump to the max available frequency and again would never go below the 518Mhz, so in a nutshell its was using "too high" frequencies.
SmartassV2, introduce (internally) an "ideal" frequency which is the frequency we are "aiming" for, in some sense. The way I see it is that the "ideal" frequency is a hint to the governor what is a good balance between performance and battery life. Now when screen is on, I set (on the hero) the ideal frequency to 518Mhz which will ensure nice responsiveness but limit unnecessary use of higher frequencies when they are not needed. When screen is off, I set the ideal frequency to 352Mhz (0 will disable the screen state tracking all together). From my testing this will "convince" the governor to spend most of the its time during sleep at the lowest available frequencies. Note, that both during sleep and when awake the entire frequency range (as defined by the "user" - i.e. selected with SetCPU) is used by smartassV2. For example, when the CPU is loaded heavily, the highest available frequency will be used regardless if screen is on or off.
Click to expand...
Click to collapse
ondemandX - ondemand governor code from latest linux (3.0 at the moment) source *plus* the suspend/wake logic described above. No further optimization is done.
Click to expand...
Click to collapse
Info:
- information about governors is here,
- more information about 'smartass' governor is here or here,
- how different governors work is explained here: [Q] SetCPU governors (explained).
Prerequisites:
- Neo V (if works on Neo - let me know),
- root,
- ondemandX should work on any version,
- smartass was compiled against 4.0.2.A.0.42 version, how run on other version will be explained in manuall installation section,
- desire to replace SetCPU - when used only for 'ScreenOff' profile.
Manual installation:
Unzip file
Run copy.cmd file - this should copy modules to /system/lib/modules
run adb shell or terminal - whatever you like and execute su
Code:
su
If you have 4.0.2.A.0.42 version proceed to step 6
For smartass governor you need to know address for 'kallsyms_lookup_name'
run following command:
Code:
cat /proc/kallsyms | grep kallsyms_lookup_name
result should be as follows:
Code:
80101aec T module_kallsyms_lookup_name
[SIZE="3"][B]801056f0[/B][/SIZE] T kallsyms_lookup_name
Bolded value (801056f0) is address which we need.
Optional step: lower min CPU freq:
Code:
echo 122880 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Insert ondemandX module:
Code:
insmod /system/lib/modules/aneov_ondemandx.ko
in dmesg command should be line:
Code:
<6>[ 431.711517] aneov_ondemandX: module v001 for device Xperia Neo V loaded
Insert smartassV2 module:
for version 4.0.2.A.0.42 just run command:
Code:
insmod /system/lib/modules/aneov_smartass2.ko
in dmesg command should be line:
Code:
<6>[ 420.308380] aneov_smartass2: module v001 for device Xperia Neo V loaded
for other use 'address' and use following command:
Code:
insmod /system/lib/modules/aneov_smartass2.ko lookup_address=0x[B][COLOR="Red"]801056f0[/COLOR][/B]
in dmesg command should be line:
Code:
<6>[ 420.308380] aneov_smartass2: module v001 for device Xperia Neo V loaded
Now you can enable desired governor. Execute:
Code:
echo "smartassV2" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
for smartassV2 or
Code:
echo "ondemandX" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
for ondemandX governor.
Lower min cpu freq a bit:
Code:
echo 122880 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
Until you're sure that it works with your hardware, don't install it to hw_config.sh.
Available settings:
Will be added later
v001:
- just initial version fixed to work with Neo V.
Disclaimer
I'm not responsible if this module damages your lovely phone. Use it at your own risk! Think before you do something!
Sources at: GitHub
Thank you!
On .62 firmware, I didn't have to specify lookup_address, since it didn't recognise that option, but it seems to work.
Also a good full article about governors:
http://forum.xda-developers.com/showpost.php?p=19846276&postcount=1
is there any chance to get this as a zip for cwm?
edit:yay! just put it manually into system/lib/modules and changed permissions and it works!
Working .62.
Could you also build an OC module please, that would be awesome.
Sent from my MT11i using Tapatalk
mpiekp said:
Working .62.
Could you also build an OC module please, that would be awesome.
Sent from my MT11i using Tapatalk
Click to expand...
Click to collapse
If I find source somewhere - or someone point me to sources - I can try.
Sources from any custom kernel, just compile against stock.
Thank you
Sent from my MT11i using Tapatalk
Hell yea, OC module for locked BL would be awesome!
Any news about OC or UV modes?
Wysłano z MT11i z użyciem Tapatalk
Will this work with my x8
Sent from my E15i using XDA
Intellidemand please!
Could you please make an intellidemand governor also..
Also please see these commits for some changes to smartass2 (more stable) and working lulzactive
thread dead for more than 2 months...
Zed's dead. but no matter
OK- so I'm planning on installing the module on a different device. with the assumption that the smartassv2.ko drivers are all the same, i figure that only the specifics differ.
e.g. no /sys/lib folder exists in my system, though a /sys/modules folder does.
So, the plan is: i edit the script to point towards the valid directories; place the files in those noted directories (eg create a /sys/lib/modules folder); edit the "scanning_available_governors" to mention those governors; kick back and enjoy.
two things concern me. First, I checked the symsearch.ko file found references to the kallsyms, as well as to the general public license and ARMv7, but haven't found much info online as to what the driver does. since it mentions architecture that may or may not adhere to my device (samsung galaxy player 5),should I go ahead?
Second, OP mentioned:
"result should be as follows:
Code:
80101aec T module_kallsyms_lookup_name
801056f0 T kallsyms_lookup_name
Bolded value (801056f0) is address which we need."
the instructions following that line doesn't mention the kallsyms_lookup_name addy again. so what is the addy good for?
thanks!
Wow IT REALLY WORKED.
i have smartass V2 on My locked bootloader .
Thank you.
(Yes i know i am a gravedigger but more people have to see this.)
Just everyday i find one more reason for not to unlock my BL.
I have the best governor
Best tweaks.
OC is useless (it consumes battery and Destroyes the phone).
WHY THE HECK WOULD I WANT A CUSTOM ROM.
EDIT: Erm guys how do i install it with hw_config.sh
It may be a silly question, but after reading descriptions to both the badass and the smartass v2 governors, but I'm still not quite sure which one will provide better battery life overall.
SmartassV2 is the answer ;P
not working on miui 2.7.13 based on 4.0.4

[MODULE] SIMPLE IO SCHED for ROOTED PRIME!ATP added

I compiled SIO (Simple I/O scheduler) for Prime.
It seems faster than CFQ to me.
It was developed mainly for SSD drives!
Download link
http://bayfiles.com/file/dvXz/iSxDXK/sio-iosched.ko
It is for .28 kernel
FOR 2.6.39 Kernel only! = e.g stock .21 , stock .28 , ANDROWOOK kernel and all roms/kernels based on Asus kernel source!!
WORKS with Asus TF300 too!
How to:
Code:
su
mount -o remount, rw /system
cp sio-iosched.ko /system/lib/modules/
insmod /system/lib/modules/sio-iosched.ko
echo sio > /sys/block/mmcblk0/queue/scheduler
Tadaaa let me know your opinion.
My source of SIO CODE:
https://github.com/waninkoko/sio-iosched
Script for Smanager
Code:
#!/system/bin/sh
insmod /system/lib/modules/sio-iosched.ko
echo sio > /sys/block/mmcblk0/queue/scheduler
EDIT:ATTACHMENT UPLOADED and SCRIPT for SMANAGER added!!
Uploaded tweaked ATP with SIO included. thx! it is by [email protected]
new version of atp uploaded
25.6.2012
batoo said:
I compiled SIO (Simple I/O scheduler) for Prime.
It seems faster than CFQ to me.
It was developed mainly for SSD drives!
Download link
http://bayfiles.com/file/dvXz/iSxDXK/sio-iosched.ko
It is for .28 firmware
How to:
Code:
su
mount -o remount, rw /system
cp sio-iosched.ko /system/lib/modules/
insmod /system/lib/modules/sio-iosched.ko
echo sio > /sys/block/mmcblk0/qeue/scheduler
Tadaaa let me know your opinion.
I already sent plsss to the author of ATP Tweak to add this scheduler to his application.
Click to expand...
Click to collapse
i have this on g2x and it makes a biig difference
Sent from my Transformer Prime TF201 using xda premium
so test it and let me know!
at first the scheduler is visible in setcpu, but after reboot it disappears, gonna test now in a single session without reboot, starting with some sqlite tests and playstore installations.
Sent from my Transformer Prime TF201 using Tapatalk 2
Typo corrected
Of course because module is not loaded after reboot.
Thats why I write to author of atp because his app can save governor after boot.
And i dont want edit init.rc because typo can kill my prime without unlocked bootloader.
Sio is mainly for user end ooint it's not for benchmarks...
first test results; no improvement in raw speed as all ready stated above.
did some updates on play store and experiencing lockups\anr as before.
currently using browser2ram but will disable it to test how browsing goes on content-rich websites!
edit; some ideas on how to test this the correct way?
Sent from my Transformer Prime TF201 using Tapatalk 2dadates
I recommend you try real use in the system it seems faster to me.
some stuff seems to be snappier, google reader for instance.
will use it as daily driver to see what happens!
some good developing going on the prime! i like
Sent from my Transformer Prime TF201 using Tapatalk 2
I have no wait dialogs in the browser at all!!
I don't use browser2ram....
Does not work on VirtuousROM Stock .28; moreover, the kernel module will not install.
Sent from my Transformer Prime TF201 using xda premium
bdawg31 said:
Does not work on VirtuousROM Stock .28; moreover, the kernel module will not install.
Sent from my Transformer Prime TF201 using xda premium
Click to expand...
Click to collapse
Ditto here in AndroWookie.
Code:
insmod: init_module 'system/lib/modules/sio-iosched.ko' failed (Exec format error)
Great idea though. This combines both concepts of noop and deadline. It does what noop does with basic in and out and organizes database accesses without any prioritization.
Stock fw only
batoo said:
Stock fw only
Click to expand...
Click to collapse
im using it on androwook 1.32 with 3.0.4 alpha kernel motley...
Sent from my Transformer Prime TF201 using Tapatalk 2
It is compiled against stock 2.6.39 kernel, if it runs on another onethan ok but you can have stability issues.
2.6.39 compared to 3.0 has different structure.
But ok if it run, than ok
This is great! Tried it on my rooted locked prime, the difference is huge when I tried to open a pdf with lots of images. Will test some more with other apps.
Let me know your opinion after testing!
It's my daily IO governor just right now.
st33med said:
Ditto here in AndroWookie.
Code:
insmod: init_module 'system/lib/modules/sio-iosched.ko' failed (Exec format error)
Great idea though. This combines both concepts of noop and deadline. It does what noop does with basic in and out and organizes database accesses without any prioritization.
Click to expand...
Click to collapse
got the same error
Stock rom? Busybox installed? Rooted?
this can be applied by using terminal emulator to send commands in OP? if rooted, where exactly do you place those files/modules you have to download linked in your op? /system/lib/modules?
demandarin said:
this can be applied by using terminal emulator to send commands in OP? if rooted, where exactly do you place those files/modules you have to download linked in your op? /system/lib/modules?
Click to expand...
Click to collapse
Just use Root Explorer or File Manager HD to copy the file to the system/lib/modules folder, then use terminal emulator to run
insmod /system/lib/modules/sio-iosched.ko
echo sio > /sys/block/mmcblk0/queue/scheduler
Sent from my Transformer Prime TF201 using XDA Premium HD app

[KERNEL MODULE] Extra modules pack v0.1.3 (feat. overclock) [OMAP4 kernel 3.0.8]

Some extra kernel modules for you & me.
Modules :
filesystem
ntfs.ko (read/write support)
cifs.ko (with extra attributes)
kernel hacking
symsearch.ko (Unexported symbol finder by Skrilax_CZ)
CPU scaling governor (back ported from other dev)
cpufreq_interactiveX.ko [@] (interactiveX V2 governor by imoseyon)
early suspend support and hotplugging
cpufreq_hotplugX.ko [@] (hotplugX governor by imoseyon)
early suspend support and tweaks
cpufreq_smartass2.ko [@] (SmartassV2 governor by erasmux)
cpufreq_pegasusq.ko [@] (Samsung multi-core governor)
based on modification done by Gokhanmoral
cpufreq_boostedASSv2.ko [@] (a modified smartassv2 governor)
ported from BMc08GT
CPU/GPU frequency control
cpu-control.ko [@] (Tweak CPU frequency & voltage to your like)
my 1st kernel module. based on milestone overclock & opptimizer.
I/O scheduler
sio-iosched.ko (Simple IO scheduler)
based on Noop, Deadline and V(R) IO schedulers. In android world, simple is better
modules with [@] mark requires symsearch.ko to operate
Click to expand...
Click to collapse
These kernel module will work for most Motorola omap4 device. (kernel 3.0.8 only)
Disclaimer : I don't write all of these modules. Only make a few changes/tweak for it to work on our device. Enjoy!
Kernel version : 3.0.8
Kernel source : 67.42.17.XT910S.SKT.en.KR
Compiler setup : CodeSourcerey arm-2012.03-56-arm-none-eabi (-O2 optimization)
Build revision : Project Lense build *.*
Change logs:
0.1.1
- Add Simple I/O scheduler.
0.1.2
- Recompile with -O2 flag. I notice some instability when using -O3 flag
- Tweaked sio scheduler
- Add tweaked pegasusq governor.
0.1.3
- Add cpu overclock/underclock module
- Add boostedASSv2 governor
Click to expand...
Click to collapse
Source code :
https://github.com/ProjectLense/kernel_omap4_spyder
- branch extra_kernel_module
Download link :
extra_kernel_modules_0.1.3.zip - contains all the modules
init.d_n_governor_installer_0.1.3.zip - optional. init.d installer (load all modules to memory on startup).
Update : Add a preview of Tweakerz app.
- Include all kernel module. Module are loaded from app storage.(no install /alter system partition.)
- Load/unload kernel module on-the-fly (No save setting or set on boot option)
- Set CPU voltage/freq via GUI (No persist option yet)
[/LIST]
Easy Install method: (For init.d)
Reboot to recovery
Install extra_kernel_modules_0.1.zip
Install init.d_n_governor_installer.zip (Thanks to core720)
Click to expand...
Click to collapse
Install guide for adding init.d script via Script Manager - SManager app
1.Extract all *.ko files from extra_kernel_modules_0.1.2.zip to /system/lib/modules
2.Open Script Manager, Create new script / modify existing script
Code:
#!/system/bin/sh
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpufreq_interactiveX.ko
insmod /system/lib/modules/cpufreq_hotplugX.ko
insmod /system/lib/modules/cpufreq_smartass2.ko
insmod /system/lib/modules/cpufreq_pegasusq.ko
insmod /system/lib/modules/sio-iosched.ko
3.Save to /system/etc/init.d/
Click to expand...
Click to collapse
Q: How to load a cpufreq governor
1.Load symsearch.ko
2.Load your choice of governor
3.Enable it
Code:
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpufreq_interactiveX.ko
echo interactivex > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Click to expand...
Click to collapse
Q: What is the best cpu-freq governor
maybe this will help you choose/tweak
CPU Governors explained
Pegasusq Governor
Click to expand...
Click to collapse
Q: How to load cpu frequency/voltage (underclock/overclock)
1.Load symsearch.ko
2.Load cpu_control.ko
Code:
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpu_control.ko
Click to expand...
Click to collapse
Q: How to change cpu frequency & voltage
echo id frequency(Mhz) voltage(mV) > /proc/cpu_control/tweak_cpu
example :
Code:
echo 0 196 980 > /proc/cpu_control/tweak_cpu
echo 1 500 1195 > /proc/cpu_control/tweak_cpu
echo 2 750 1320 > /proc/cpu_control/tweak_cpu
echo 3 1000 1388 > /proc/cpu_control/tweak_cpu
echo 4 1350 1410 > /proc/cpu_control/tweak_cpu
ICS kernel default voltage&frequency table
Code:
[B]Id Freq Volt(mV)[/B]
0 300 1025
1 600 1200
2 800 1325
3 1000 1388
4 1200 1398
GB kernel default voltage&frequency table
Code:
[B]Id Freq Volt(mV)[/B]
0 300 1025
1 600 1200
2 800 1313
3 1000 1374
4 1200 1375
** voltage min : 830mV, max : 1410mV
Click to expand...
Click to collapse
More/Details about cpu_control.ko module
To view ICS default frequency-voltage table
Code:
cat /proc/cpu_control/opp_table_default
To view current frequency-voltage table
Code:
cat /proc/cpu_control/opp_table_current
To view current CPU & GPU frequency
Code:
cat /proc/cpu_control/frequency_current
Click to expand...
Click to collapse
whirleyes said:
cpufreq governor install method
1.Load symsearch.ko
2.Load your choice of governor
3.Enable it
Code:
insmod /system/lib/modules/symsearch.ko
insmod /system/lib/modules/cpufreq_interactiveX.ko
echo interactivex > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Click to expand...
Click to collapse
Will this survive a reboot Whirleyes?
NO.. use init.d or custom init to have it persist.
I've upload new version of bootmenu with 2nd-init support today.
Just waiting for Google Play to start distributing it
Awesome!
"67.42.17.XT910S.SKT.en.KR" is our Razr(Korea Razr).
is that kernel source has been opened?
Thanks for your work!
I'll try to test on my razr.
J.Y.Daddy said:
Awesome!
"67.42.17.XT910S.SKT.en.KR" is our Razr(Korea Razr).
is that kernel source has been opened?
Thanks for your work!
I'll try to test on my razr.
Click to expand...
Click to collapse
see this thread for all link .. ICS source code is now available!
good work
I've created an installer that includes support for automatic load init.d modules so they can select with SetCPU or other similar program....
core720 said:
I've created an installer that includes support for automatic load init.d modules so they can select with SetCPU or other similar program....
Click to expand...
Click to collapse
Thanks.. but to be more efficient, I would like to have them separated.
1. User install my module pack. (extra_kernel_modules_*.zip)
2. User install init.d loader. (init.d_n_governor_installer.zip
core720 said:
I've created an installer that includes support for automatic load init.d modules so they can select with SetCPU or other similar program....
Click to expand...
Click to collapse
I tried to use your flashable zip. It doesn't work, but I found that after I chmod 777 the 90module in the init.d folder it works flawlessly. So I think you need to add that set permissions to your script.
*edited for grammar issues. It was bugging me that my You're and Your was wrong.
Fix....
I don't think the ntfs.ko is working right. I just formatted an sd card with ntfs to test it out after loading the module and it pulls it as a blank sdcard.
Will this work on an XT910? Is the kernel source any different from the 67.42.17.XT910S.SKT.en.KR?
robertwhitten87 said:
I don't think the ntfs.ko is working right. I just formatted an sd card with ntfs to test it out after loading the module and it pulls it as a blank sdcard.
Click to expand...
Click to collapse
don't blame the ntfs.ko, it's MotoBlur problem.(vold limitation)
You have to mount your NTFS partition manually.
DJFliX said:
Will this work on an XT910? Is the kernel source any different from the 67.42.17.XT910S.SKT.en.KR?
Click to expand...
Click to collapse
These modules will work on any 3.0.8 kernel
whirleyes said:
don't blame the ntfs.ko, it's MotoBlur problem.(vold limitation)
You have to mount your NTFS partition manually.
Click to expand...
Click to collapse
Yeah, I realized that after I commented and was playing around some more. Motoblur is the one throwing the blank sd card issue, not the system itself.
So I think it's time to go back to playing. I'm loving the new governor.
does anyone have an init.d script they could throw up to run one of these on boot?
whirleyes said:
Q: How to load a cpufreq governor
I flashed the zips and have not been able to automatically pick the governor while in setcpu.
I loaded up terminal and did the commands you posted but those didnt work unless i substituted /system/lib for /system/bin. Doing that I can now select interactivex. I'd love for the init.d scripts to work so I dont have to fumble around with this every boot. My rom does have init.d support.
Is there a reason for the difference on my phone? I have a razr maxx and running the newest kernel from build 214 and on Arctic rom.
Thanks.
Click to expand...
Click to collapse
Thank you for this. I loaded both zips & init.d works perfectly for me on an OG Razr running the stock 211 rom/214 kernel combo. Everything is available to select & it all runs at boot. System Tuner Pro is what I use to select the governor/scheduler settings.
Sent from my DROID RAZR using Tapatalk 2
Thanks for the modules! They work perfectly. I was wondering if its possible for you to write a script/module that would support editing vsel values for undervolting the cpu. Would be really helpful in extending battery life.
evonc said:
Thanks for the modules! They work perfectly. I was wondering if its possible for you to write a script/module that would support editing vsel values for undervolting the cpu. Would be really helpful in extending battery life.
Click to expand...
Click to collapse
Try check OPPtimizer Projekt, maybe tekahuna has recompile it for ICS.

[KERNEL] Bricked-Kernel Grouper/Tilapia

Welcome to the most customizable N7 kernel on xda
Bricked-Kernel Nexus 7 (grouper)
Replaced NVIDIA's strange hotplug manager with my own: tegra_mpdecision​
Features:
Based upon Googles tegra3 source
Fixed section mismatches
Various other fixes (look @ github)
Compiled with gcc4.7.2 toolchain (linaro 09.12)
Replaced NVIDIAs hotplug manager with tegra_mpdecision (better battery life + performance)
Extensive sysfs interface for mpdecision with all the tuneables you want
Highly modified ondemand governor for tegra3 & mpdecision (this is the only recommended governor atm)
Fixed usage of 51Mhz clock
GPU OC (416/484/520Mhz)
Truly variant free CPU OC for all devices (51 - 1600Mhz)
Fixed max cpufreq resets throughout the kernel
All cores now use the max frequency (before: only in singlecore, otherwise -100Mhz)
Undervolting (faux123)
Default clocks: 102min & 1300max (+100Mhz overclocked) & 475 Maxscroff
earlysuspend/lateresume for ondemand including special screen off settings to save power
Aroma Installer by amarullz
cmdline interface for cpu min/max/maxscroff/gpuoc/scheduler/governor
---Just flash the kernel with your desired settings, no more need for oc apps. Reflash if you want to change sth. It's that easy!
FSync Control by Ezekeel
export t3 variant to debugfs by faux123 (adb shell cat /sys/kernel/debug/t3_variant)
lowered panel min brightness to 8
ZRAM
enabled NFSv3&4
Check the compare links for the rest ​
Where is tha Changelog???
There will be no more changelogs.
Instead the download pages were outfitted with compare links to github for each download.​
How to install?
Flash through recovery. #done.​
Where to complain about errors/bugs?
Please use the Issuetracker for bugs/errors/feature wishes!
Issuetracker @ https://code.google.com/p/bricked/issues/entry
[email protected]
IRC Chat: Freenode IRC #bricked​
Download:
No Guarantees! If it kills your grandmother or your device, I am NOT responsible! If you understand this:
(If you download, please hit Thanks below my post! Thank you!)
>>> DOWNLOAD <<<​
Donor List:​
> Hall of fame <
With special thanks to all N7 piggy bank donors!
Thank you very much!​
Source:
​
Benchmark:
Knowledge base:
What is tegra_mpdecision?
100% kernel based multi core decision! (should cpu1/2/3 be online or not, do we need the low-power/ninja core now?)
This replaces the stock nvidia hotplug solution.
Check /sys/kernel/tegra_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (130)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = Force low-power mode if screen is off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1. Default: 1
max_cpus = max cpus to be online, cannot be > 4. (if you set it to 2 and min_cpus to 1 you will basically have a dualcore) Default: 4
idle_freq = a value against that will be checked if a core +/- is requested. (475000)
lpcpu_up_hsyteresis = minimum number of requests that have to be send in order to switch to low-power mode (4)
lpcpu_down_hsyteresis = minimum number of requests that have to be send in order to switch to g-mode (quadcore-mode). Overridden by a requested freq that is higher than the max supported lp-mode frequency. (2)
If cpu0 is below that value and a core up of another cpu is requested, nothing will happen.
If any other cpu is above that value and a core down of that cpu is requested, nothing will happen. (otherwise it would now put down that cpu even though it is still working, which isn't what we want)
Hot plug thresholds (aka now it gets 'complicated')
This small formula calculates which value will be used: (number_of_cpus_online - 1) * 2
The result of this formula will be the nwns_threshold where a new cpu is hotplugged.
The result of this formula + 1 will be the nwns_threshold where a cpu is unplugged.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
Example:
One cpu is online.
(1 - 1) * 2 = 0 ergo:
nwns_threshold_0 = cpu1 will be hotplugged at this value
((1 - 1) * 2) + 1 = 1
nwns_threshold_1 = cpu0 will be unplugged at this value
This will regulate when we switch to lp-mode, effectively replacing the quadcore g-mode core with the ninja lp-mode core.
Two cpus are online.
(2 - 1) * 2 = 2 ergo:
nwns_threshold_2 = cpu2 will be hotplugged at this value
((2 - 1) * 2) + 1 = 3
nwns_threshold_3 = cpu1 will be unplugged at this value
etc...
(all times are in ms)
If you want to see the mpdecision magic happening:
Code:
adb shell
cat /proc/kmsg | grep 'MPDEC'
mpdecision's input event boost, aka project butter
This will boost your min cpu speed if you touch the screen or press a button and gives you full control.
In those events the min cpu freq will be risen to a predefined value (look below) on every online cpu. This boosts overall reaction times and smoothness a lot. (works similar to the qcom mpdecision binary)
Configuration files:
[email protected]:/sys/kernel/tegra_mpdecision/conf # ls
boost_enabled
boost_freqs
boost_time
All of them work like the usual sysfs files, except one special case:
boost_freqs will list all frequencies from cpu 0 to cpu x. Cpu 3 and any following cpu will share one frequency.
To change those frequencies echo the cpu number + the frequency in khz. To change the boost freq of cpu3 (and 4,5,6,7,8, etc) the echo would look as follows:
Code:
echo "3 1026000" > /sys/kernel/tegra_mpdecision/conf/boost_freqs
for cpu0:
Code:
echo "0 1026000" > /sys/kernel/tegra_mpdecision/conf/boost_freqs
Defaults:
Code:
cat /sys/kernel/tegra_mpdecision/conf/boost_freqs
910000
910000
760000
620000
Recommended governor?
Ondemand.​Why do I have no WLAN?
This kernel is too big for our boot.img with WLAN included into the kernel, so it is built as a module. That means it needs to be inserted into the kernel upon boot up, which needs to be automated for maximum comfort = userinit (init.d) support.
The zip adds init.d support to your ramdisk, if that fails for some reason the wlan module cannot be inserted.
if
Code:
adb shell lsmod
doesn't show this:
Code:
tun 14060 0 - Live 0x00000000
cifs 239646 0 - Live 0x00000000
bcmdhd 433083 0 - Live 0x00000000
Then init.d support is probably missing.
You can test it by going to /system/etc/init.d/ and executing 00wlan.
Code:
adb shell
su
. /system/etc/init.d/00wlan
Wait a few seconds and try to enable wifi and repeat the above lsmod command (should now show bcmdhd as live, you can execute 01cifs and 02tun too).
If WLAN now works, init.d support is missing.
You need to have busybox installed in order to be able to get init.d support going, this shouldn't be a problem for most people, since it is usually installed when rooting your phone anyway (and who does unlock but not root their phone? :/)
It does not matter if busybox is installed in /system/bin or /system/xbin, my script will detect the location upon flashing and patch the ramdisk accordingly.
If no busybox is found, the script will add init.d support to your ramdisk with the default location: /system/xbin/busybox. All you need to do is install busybox there and reboot your phone.
​
show-p1984 said:
Knowledge base:
(under construction)
tegra_mpdecision manual:
coming soon(tm)
Click to expand...
Click to collapse
looks great is this kernal compatible with cm10 based roms such as paranoid android
Flypants101010 said:
looks great is this kernal compatible with cm10 based roms such as paranoid android
Click to expand...
Click to collapse
Yes, ofc
Running cm10 nightlies myself.
show-p1984 said:
Yes, ofc
Running cm10 nightlies myself.
Click to expand...
Click to collapse
All AOSP roms work with Bricked
* Hello World *
What tweaks did you make to on-demand, if you don't mind me asking? The only thing I've noticed is that frequency switching seems to happen faster & more often.
Feel like flashing something tonight!
Sent from my Nexus 7 using xda premium
I tried flashing this a few times and it fails with each try.
Dabaum said:
What tweaks did you make to on-demand, if you don't mind me asking? The only thing I've noticed is that frequency switching seems to happen faster & more often.
Click to expand...
Click to collapse
I mostly adapted it to work with the lpcore while the screen is on and also with special power saving setting while the screen is off.
The 2 phase frequency was changed to accomplish that.
It also applies a powersave bias while screen is off.
Additionally I changed the settings to allow faster scaling with less load. (70% > freq incr)
Source is currently being uploaded, but since I kept the history intact it is taking ages. You can look it up there in more detail once the source is up
airmaxx23 said:
I tried flashing this a few times and it fails with each try.
Click to expand...
Click to collapse
With what message?
I guess because your recovery does not identify your device as 'grouper'.
show-p1984 said:
With what message?
I guess because your recovery does not identify your device as 'grouper'.
Click to expand...
Click to collapse
It just says failed, I've had no problems flashing anything else and I'm flashing mutilple times a day usually.
airmaxx23 said:
It just says failed, I've had no problems flashing anything else and I'm flashing mutilple times a day usually.
Click to expand...
Click to collapse
It most certainly does not say "failed" and nothing else. Look harder.
Using twrp recovery me and my beta testee had no problems at all.
show-p1984 said:
It most certainly does not say "failed" and nothing else. Look harder.
Using twrp recovery me and my beta testee had no problems at all.
Click to expand...
Click to collapse
It says "unable to open zip file. Error flashing zip."
show-p1984 said:
Yes, ofc
Running cm10 nightlies myself.
Click to expand...
Click to collapse
And just to be clear, with non-CM based ones as well? I'm running the 'Glazed' ROM....
airmaxx23 said:
It just says failed, I've had no problems flashing anything else and I'm flashing mutilple times a day usually.
Click to expand...
Click to collapse
Nothing wrong with the zipfile, maybe corrupted download? did you do md5 hash check before flash?
It's either your custom recovery or a corrupted download, period.
ps. Happy Flashing.
airmaxx23 said:
It says "unable to open zip file. Error flashing zip."
Click to expand...
Click to collapse
corrupt download? checked md5/sha1?
corrupt phone upload? checked md5/sha1?
friedsonjm said:
And just to be clear, with non-CM based ones as well? I'm running the 'Glazed' ROM....
Click to expand...
Click to collapse
As long as it is AOSP you should be fine.
But just try it and report back, then we are all a bit more enlightened
(Sorry, I can't possibly test all the ROMs out there ^^)
T-junk said:
Nothing wrong with the zipfile, maybe corrupted download? did you do md5 hash check before flash?
It's either your custom recovery or a corrupted download, period.
ps. Happy Flashing.
Click to expand...
Click to collapse
If I try downloading it directly to my tablet the resulting file is only 17.51K in size, downloading it with a computer takes care of the problem.
airmaxx23 said:
It says "unable to open zip file. Error flashing zip."
Click to expand...
Click to collapse
I get the same.
Sent from my Nexus 7 using xda premium
airmaxx23 said:
If I try downloading it directly to my tablet the resulting file is only 17.51K in size, downloading it with a computer takes care of the problem.
Click to expand...
Click to collapse
StrangerWeather said:
I get the same.
Click to expand...
Click to collapse
I guess same problem for you StangerWeather.
Try downloading on your pc, I will look into that webserver issue tomorrow. (or maybe it's a chrome issue? who knows ^^)

Categories

Resources