Search This thread

reysonance

Senior Member
Nov 19, 2012
285
119
I run stock rom on both my gnex and n7

Sent from my Nexus 7 using Tapatalk HD

Since you're using a stock rom on your GN, do you have this bug where the stock browser URL bar basically become unresponsive, goes pitch black after you refresh a page, and then erratically disappears, because that's honestly the only thing that keeping me away from stock ROM, I've cleared data+cache, factory reset, hell even reinstall the stock image and oddly enough it's still there.
 

reysonance

Senior Member
Nov 19, 2012
285
119
I use the Labs quick controls in stock browser. Best way to get around, should avoid your browser bar issue too.

Actually the problem start appearing after I enabled the quick control, so basically I have a 60dp thick stausbar, can't enter any search terms too since everything displayed on it basically sort of freeze, so if I delete a word the word doesn't actually get deleted, if a write a new one it'll overlap the previous text.

I'll try flashing 4.2.1 and updating via OTA, maybe that'll change something.
 

LordDeath

Senior Member
Nov 30, 2006
1,202
106
Sometimes my device seems to be very slow and the whole system lags terribly.
According to some task managers the CPU has ~80% iowait and I don't know which app or which wrong kernel setting could cause this.
Going back to the default CM10.1 kernel also does not change this. :(

Could this be caused by some tweaks done by the france Kernel updater? Or is this issue totally unrelated to it?
 

julian.kueh

Senior Member
Feb 12, 2009
247
7
Sydney
Re: [KERNEL][GPL][GN] franco.Kernel r365 -> 4.2.2 | r364 -> 4.2 | r300 -> 4.1

Running 4.2.2 with Franco 365 here. No problems so far. Smooth and fast.

Sent from my Galaxy Nexus using xda app-developers app
 

lightingcloud

Senior Member
Aug 5, 2012
479
145
Torino
lightingcloud.wordpress.com
I don't get it. This is my 900setting

#!/system/bin/sh
# chmod -R 755 /system/etc/init.d

echo "interactive" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 15000 > /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
echo 95 > /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
echo 729600 > /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
echo 45000 > /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
echo 85 > /sys/devices/system/cpu/cpufreq/interactive/target_loads

echo "deadline" > /sys/block/mmcblk0/queue/scheduler;
echo 512 > /sys/block/mmcblk0/queue/read_ahead_kb;

echo 0 > /sys/class/backlight/s6e8aa0/acl_set;
echo 5 > /sys/devices/platform/omapdss/manager0/gamma;
echo -5 > /sys/module/panel_s6e8aa0/parameters/contrast;
echo "-4 0 5" > /sys/class/misc/colorcontrol/v1_offset;

#sleep 2;
echo "1900000000 1950000000 2150000000" > /sys/class/misc/colorcontrol/multiplier;

#sleep 35;
echo 1 > /sys/block/mmcblk0/queue/iosched/fifo_batch;
echo 1 > /sys/block/mmcblk0/queue/iosched/front_merges;
echo 6 > /sys/block/mmcblk0/queue/iosched/writes_starved;
echo 3500 > /sys/block/mmcblk0/queue/iosched/write_expire;
echo 351 > /sys/block/mmcblk0/queue/iosched/read_expire;

same settings in f.ku

when I reboot, the values in f.ku are all changed to default (except color). why? ?___?
 
  • Like
Reactions: buggerthis

shreddintyres

Senior Member
Aug 25, 2010
1,527
559
Richardson, Tx
I DO have tentative row tweaks... there's no guarantee they'll fully set on boot even with an init.d script but if you'd like to try... 900rowtweaks

They're far from being perfected but they DO feel a whole lot more smooth
Franco r365
JBSourcery 4.5.5

---------- Post added at 09:06 AM ---------- Previous post was at 08:54 AM ----------

But if you're gonna use them... please give me feedback. Lemme know where you get lag and hangups, it really shouldn't happen much but I need to know if I've lowered read priority too much or not increased write priority enough

Franco r365
JBSourcery 4.5.5

I intend to start testing your values shortly, i just wanted to add what ive thought up regarding each of the different tunables, (Ive yet to have sufficient free time to really start messing around with each individual tunable and testing the way i would like to as a result of school. but here is atleast some of my theory on how the tunables MIGHT work

Config options
+==============
+1. hp_read_quantum: dispatch quantum for the high priority READ queue
+ (default is 100 requests)
+2. rp_read_quantum: dispatch quantum for the regular priority READ
+ queue (default is 100 requests)
+3. hp_swrite_quantum: dispatch quantum for the high priority
+ Synchronous WRITE queue (default is 2 requests)
+4. rp_swrite_quantum: dispatch quantum for the regular priority
+ Synchronous WRITE queue (default is 1 requests)
+5. rp_write_quantum: dispatch quantum for the regular priority WRITE
+ queue (default is 1 requests)
+6. lp_read_quantum: dispatch quantum for the low priority READ queue
+ (default is 1 requests)
+7. lp_swrite_quantum: dispatch quantum for the low priority Synchronous
+ WRITE queue (default is 1 requests)
+8. read_idle: how long to idle on read queue in Msec (in case idling
+ is enabled on that queue). (default is 5 Msec)
+9. read_idle_freq: frequency of inserting READ requests that will
+ trigger idling. This is the time in Msec between inserting two READ
+ requests. (default is 8 Msec)
+
+Note: Dispatch quantum is number of requests that will be dispatched
+from a certain queue in a dispatch cycle.

my difficulty is understanding lines 1-7 specifically when it references quantum. I've read the note and understand that Dispatch quantum has to do with the number of requests that will be dispatched(discarded?) in a cycle. What i dont understand is quantum referring to something similar to "entropy" that we see mentioned in most kernel documentation?

my understanding that increasing 1-7 will generally lead to lag and greater overhead while dropping it will lead to higher consumption of battery but potentially less overhead increasing overall performance

increasing 8 would lead to lag cuz the cpu would hang in idle longer, definitely increase battery life as power consumption at idle is negligble

increasing 9 would lead to lag and probably worsen battery life to some extent because read actions would take longer to perform and would introduce lag, reducing would lead to generally faster processing of read requests, (presently this is set at 20ms by Default in Franco kernel)

@malaroth i'd appreciate it if you could give me any more insight into what these values mean.

- Cheers
 
  • Like
Reactions: osm0sis

LibertyMonger

Senior Member
Mar 13, 2011
6,280
2,284
Cincinnati
I strayed away from the Franco for the last week or so and had nothing but problems. I am back now on r365 and I notice a great difference just over night. Battery is much better, only lost 3% overnight and have already sent a few texts and my issue with screen freezing up is gone. I know other kernels are performing well for others, just not me and i haven't quite grasped the knowledge of controlling kernels yet. Haven't taken the time to study up on it and really never had to fool with any settings in the past. I usually am content with the performance right out of the box and that's how I like it! lol. Thanks a bunch Franco
 

sajty

Senior Member
Oct 6, 2012
2,427
992
Praha
My experience:

Ondemand+deadline,384 min,10xx max,5xx max screen off.Screen is off and i have incoming mail with sound notification enabled.Sound is very "laggy" for first few moments,then goes normal.New email and happened again.

So i tried change scheduler to noop and problem is gone.Something wrong with deadline?
 

ChazzMatt

Recognized Contributor
Nov 30, 2010
18,627
14,447
Atlanta, Georgia
Try Mmuzzy's, a pretty good alternative for lean AOSP build like rascarlo's and minooch's, both which hasn't been updated to 4.2.2 AFAIK.

Interesting. Thanks for the suggestion. Hadn't heard of that one. I was running Xylon, but decided to go stock for 4.2.2. Before Xylon I was running a lite AOSP ROM, and think I really prefer that. Will try it this weekend, when I get some free time.

[ROM] [AOSP] MMuzzyROM for Maguro - Jelly Bean 4.2.2 - JDQ39
 

lightingcloud

Senior Member
Aug 5, 2012
479
145
Torino
lightingcloud.wordpress.com
Your sleeps are commented out. ;)

With or without the comment, it still don't work. None of the command in the file. Should I put them in separate files?

Also I experienced some play store related freezes, and I noticed they happen ONLY when some app is updating/downloading and the screen is about to turn off. If I keep using the device everything is fine.
 

malaroth

Senior Member
Sep 4, 2012
435
295
I intend to start testing your values shortly, i just wanted to add what ive thought up regarding each of the different tunables, (Ive yet to have sufficient free time to really start messing around with each individual tunable and testing the way i would like to as a result of school. but here is atleast some of my theory on how the tunables MIGHT work

Config options
+==============
+1. hp_read_quantum: dispatch quantum for the high priority READ queue
+ (default is 100 requests)
+2. rp_read_quantum: dispatch quantum for the regular priority READ
+ queue (default is 100 requests)
+3. hp_swrite_quantum: dispatch quantum for the high priority
+ Synchronous WRITE queue (default is 2 requests)
+4. rp_swrite_quantum: dispatch quantum for the regular priority
+ Synchronous WRITE queue (default is 1 requests)
+5. rp_write_quantum: dispatch quantum for the regular priority WRITE
+ queue (default is 1 requests)
+6. lp_read_quantum: dispatch quantum for the low priority READ queue
+ (default is 1 requests)
+7. lp_swrite_quantum: dispatch quantum for the low priority Synchronous
+ WRITE queue (default is 1 requests)
+8. read_idle: how long to idle on read queue in Msec (in case idling
+ is enabled on that queue). (default is 5 Msec)
+9. read_idle_freq: frequency of inserting READ requests that will
+ trigger idling. This is the time in Msec between inserting two READ
+ requests. (default is 8 Msec)
+
+Note: Dispatch quantum is number of requests that will be dispatched
+from a certain queue in a dispatch cycle.

my difficulty is understanding lines 1-7 specifically when it references quantum. I've read the note and understand that Dispatch quantum has to do with the number of requests that will be dispatched(discarded?) in a cycle. What i dont understand is quantum referring to something similar to "entropy" that we see mentioned in most kernel documentation?

my understanding that increasing 1-7 will generally lead to lag and greater overhead while dropping it will lead to higher consumption of battery but potentially less overhead increasing overall performance

increasing 8 would lead to lag cuz the cpu would hang in idle longer, definitely increase battery life as power consumption at idle is negligble

increasing 9 would lead to lag and probably worsen battery life to some extent because read actions would take longer to perform and would introduce lag, reducing would lead to generally faster processing of read requests, (presently this is set at 20ms by Default in Franco kernel)

@malaroth i'd appreciate it if you could give me any more insight into what these values mean.

- Cheers

It differs as to which scheduler you're using but they all use algorithms to determine priority. That's where quantum is referenced. It's pretty tough unless you're a math whiz to nail down the perfect numbers but... what I did with my values was to determine if the current row values were too tough on writes or not tough enough on reads. We want our devices snappy and smooth. We don't want to see the device "processing", just know that it's happening in the background. So with that said I decided to lower the regular priority reads just a quarter to not clog the whole io with reads. The lag is coming from writes not getting finished so I increased the synchronous writes (ones that merge together) in the order of priority I felt would be most beneficial without totally eliminating the row function of read over write. In fact increasing read_idle increases io throughput since the idle function is to wait for higher priority data that hadn't been served when the process started but came in between. So instead of sticking it back in the queue it goes ahead and processes it. Increasing read_idle_freq allows more processes to be assigned into that queue. Now the document you got that from states that the default is 8ms... that's not for android. Each device is different. For the Gnex it's 7ms and increases in increments of 8ms. On the n7 default is 10ms with 10 ms increments. We've found that one step above default is the sweet spot. When I first brought these numbers to Franco he was very skeptical. Then he did some hardcore io testing and the numbers just showed better performance.

Edit* this is from Linux-mag on cfq but illustrates how quantum works
"quantum
This parameter controls the number of dispatched requests to the device queue, request-device (i.e. the number of requests that are executed or at least sent for execution). In a queue’s time slice, a request will not be dispatched if the number of requests in the device request-device exceeds this parameter.

Franco r365
JBSourcery 4.5.5
 
Last edited:

creeve4

Senior Member
Jan 5, 2011
2,871
596
Bountiful
Re: [KERNEL][GPL][GN] franco.Kernel r365 -> 4.2.2 | r364 -> 4.2 | r300 -> 4.1

The latest 4.2.2 builds of AOKP will not boot with r365. The propriety binaries/drivers have been merged, but just in case I flashed those listed several pages back. Still won't boot past the Google boot logo.
 

julian.kueh

Senior Member
Feb 12, 2009
247
7
Sydney
Re: [KERNEL][GPL][GN] franco.Kernel r365 -> 4.2.2 | r364 -> 4.2 | r300 -> 4.1

I'm running mmuzzy's aosp 4.2.2 on Franco 365. No probs.

Sent from my Galaxy Nexus using xda app-developers app
 

Empty Hand

Senior Member
Jul 26, 2012
248
118
Re: [KERNEL][GPL][GN] franco.Kernel r365 -> 4.2.2 | r364 -> 4.2 | r300 -> 4.1

The latest 4.2.2 builds of AOKP will not boot with r365. The propriety binaries/drivers have been merged, but just in case I flashed those listed several pages back. Still won't boot past the Google boot logo.

r365 is working fine for me on zaphod's toro build from today (up on Androtransfer). It's the first aokp build that it's worked on for me.

Sent from my Galaxy Nexus using Tapatalk 2
 

osm0sis

Senior Recognized Developer / Contributor
Mar 14, 2012
16,766
40,425
Halifax
GT-i9250
Google Nexus 4
I don't get it. This is my 900setting

same settings in f.ku

when I reboot, the values in f.ku are all changed to default (except color). why? ?___?

With or without the comment, it still don't work. None of the command in the file. Should I put them in separate files?

Also I experienced some play store related freezes, and I noticed they happen ONLY when some app is updating/downloading and the screen is about to turn off. If I keep using the device everything is fine.

Did you create the file on PC and copy to phone? My only thought is you have the wrong end-of-line formatting.

It differs as to which scheduler you're using but they all use algorithms to determine priority. That's where quantum is referenced. It's pretty tough unless you're a math whiz to nail down the perfect numbers but... what I did with my values was to determine if the current row values were too tough on writes or not tough enough on reads. We want our devices snappy and smooth. We don't want to see the device "processing", just know that it's happening in the background. So with that said I decided to lower the regular priority reads just a quarter to not clog the whole io with reads. The lag is coming from writes not getting finished so I increased the synchronous writes (ones that merge together) in the order of priority I felt would be most beneficial without totally eliminating the row function of read over write. In fact increasing read_idle increases io throughput since the idle function is to wait for higher priority data that hadn't been served when the process started but came in between. So instead of sticking it back in the queue it goes ahead and processes it. Increasing read_idle_freq allows more processes to be assigned into that queue. Now the document you got that from states that the default is 8ms... that's not for android. Each device is different. For the Gnex it's 7ms and increases in increments of 8ms. On the n7 default is 10ms with 10 ms increments. We've found that one step above default is the sweet spot. When I first brought the numbers to Franco he was very skeptical. Then he did some hardcore io testing and the numbers just showed better performance.

Edit* this is from Linux-mag on cfq but illustrates how quantum works
"quantum
This parameter controls the number of dispatched requests to the device queue, request-device (i.e. the number of requests that are executed or at least sent for execution). In a queue’s time slice, a request will not be dispatched if the number of requests in the device request-device exceeds this parameter.

Just had to quote all that again to say, wow! Good read. Thanks for that brother! :D
 
  • Like
Reactions: lightingcloud

bigknowz

Senior Member
Defaults changing

It differs as to which scheduler you're using but they all use algorithms to determine priority. That's where quantum is referenced. It's pretty tough unless you're a math whiz to nail down the perfect numbers but... what I did with my values was to determine if the current row values were too tough on writes or not tough enough on reads. We want our devices snappy and smooth. We don't want to see the device "processing", just know that it's happening in the background. So with that said I decided to lower the regular priority reads just a quarter to not clog the whole io with reads. The lag is coming from writes not getting finished so I increased the synchronous writes (ones that merge together) in the order of priority I felt would be most beneficial without totally eliminating the row function of read over write. In fact increasing read_idle increases io throughput since the idle function is to wait for higher priority data that hadn't been served when the process started but came in between. So instead of sticking it back in the queue it goes ahead and processes it. Increasing read_idle_freq allows more processes to be assigned into that queue. Now the document you got that from states that the default is 8ms... that's not for android. Each device is different. For the Gnex it's 7ms and increases in increments of 8ms. On the n7 default is 10ms with 10 ms increments. We've found that one step above default is the sweet spot. When I first brought these numbers to Franco he was very skeptical. Then he did some hardcore io testing and the numbers just showed better performance.

Edit* this is from Linux-mag on cfq but illustrates how quantum works
"quantum
This parameter controls the number of dispatched requests to the device queue, request-device (i.e. the number of requests that are executed or at least sent for execution). In a queue’s time slice, a request will not be dispatched if the number of requests in the device request-device exceeds this parameter.

Franco r365
JBSourcery 4.5.5

Are these tweaks being worked into ROW for r366?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1562
    I hate big OPs.

    Works on all roms. r390 and newer versions are ONLY for 4.3 or newer.

    F.A.Q:
    1. My device rebooted or crashed, how can I help?
    A: Get me /proc/last_kmsg on pastie.org.
    2. Battery sucks, my device is not entering deep sleep. FIX PLOX!
    A: Fix it yourself, it's an app waking your device up not the kernel's problem
    3. Signal is dropping since I flashed the kernel, amg u sucks!
    A: The kernel has nothing to do with gsm/cmda signal. Make sure you have the latest radios
    4. Do I need to wipe anything when flashing this kernel?
    A: No.
    5. Does this kernel has X or Y mod?
    A: Learn to read, everything you need to know is in the features list, changelog or public repo.

    Downloads:
    4.3: http://192.241.177.15/GalaxyNexus/4.3/
    4.4: http://192.241.177.15/GalaxyNexus/4.4/

    Kernel changelog:
    http://192.241.177.15/GalaxyNexus/4.3/appfiles/changelog.xml

    Source:
    https://github.com/franciscofranco/Tuna_JB_pre1/tree/nightlies-4.3

    franco.Kernel updater Free apk: http://xdaforums.com/showthread.php?t=1867127

    203
    [KERNEL][GPL][5 JUN - #Milestone 4][r200-ICS r210-JB] franco.Kernel | 4.0.3/4 |

    Terminal commands for all the options in this kernel:

    Color Multipliers:

    echo r g b > /sys/class/misc/colorcontrol/multiplier

    Replace r g and b for 2000000000 for stock color. If you want to change the colors just replace the first 3 numbers of each r/g/b with 0-400 of your choice.

    Gamma Control:

    echo r g b > /sys/class/misc/colorcontrol/v1_offset

    Replace r/g/b by -255/200 of your choice.

    Fsync:

    echo 1 > /sys/module/sync/parameters/fsync_enabled - to enable

    echo 0 > /sys/module/sync/parameters/fsync_enabled - to disable

    Sound Control:

    echo i > /sys/devices/virtual/misc/soundcontrol/volume_boost

    Replace i with 0-3 of your choice.

    Sound High Performance:

    echo 1 > /sys/devices/virtual/misc/soundcontrol/highperf_enabled - to enable

    echo 0 > /sys/devices/virtual/misc/soundcontrol/highperf_enabled - to disable

    USB Fast Charge:

    echo 1 > /sys/kernel/fast_charge/force_fast_charge - to enable

    echo 0 > /sys/kernel/fast_charge/force_fast_charge - to disable

    wifi_pm:

    echo 1 > /sys/module/bcmdhd/parameters/wifi_pm - to enable

    echo 0 > /sys/module/bcmdhd/parameters/wifi_pm - to disable

    Trinity's Contrast:

    echo i > /sys/module/panel_s6e8aa0/parameters/contrast

    Replace i with -25/16 of your choice.

    BLX:

    echo i > /sys/class/misc/batterylifeextender/charging_limit

    Replace i with 0-100 of your choice.

    OMAP Gamma interface:

    echo i > /sys/devices/platform/omapdss/manager0/gamma

    Replace i with 5-10 of your choice.

    Thermal Throttle:

    echo 1 > /sys/module/omap_temp_sensor/parameters/throttle_enabled - to enable

    echo 0 > /sys/module/omap_temp_sensor/parameters/throttle_enabled - to disable

    TCP Congestion Algorithm interface

    To check all the available options:

    sysctl net.ipv4.tcp_available_congestion_control

    To change to other option:

    sysctl -w net.ipv4.tcp_congestion_control=NAME_OF_THE_ALGORITHM

    Detailed test of all the algorithms:
    Latency - Download - Upload

    cubic:
    1st run: 15ms - 10,75Mbps - 7,82Mbps
    2nd run: 14ms - 10,84Mbps - 8,06Mbps

    reno:
    1st run: 13ms - 15,51Mbps - 6,73Mbps
    2nd run: 13ms - 14,73Mbps - 8,51Mbps

    bic:
    1st run: 12ms - 10,38Mbps - 8,61Mbps
    2nd run: 13ms - 10,78Mbps - 8,62Mbps

    westwood:
    1st run: 11ms - 17,65Mbps - 8,30Mbps
    2nd run: 13ms - 13,28Mbps - 8,29Mbps

    highspeed:
    1st run: 13ms - 10,76Mbps - 7,94Mbps
    2nd run: 16ms - 14,42Mbps - 8,52Mbps

    hybla:
    1st run: 14ms - 11,19Mbps - 7,44Mbps
    2nd run: 14ms - 13,47Mbps - 7,56Mbps

    htcp:
    1st run: 14ms - 13,24Mbps - 7,03Mbps
    2nd run: 15ms - 10,85Mbps - 8,00Mbps

    vegas:
    1st run: 14ms - 8,49Mbps - 6,62Mbps
    2nd run: 14ms - 12,00Mbps - 7,07Mbps

    veno:
    1st run: 13ms - 9,58Mbps - 8,13Mbps
    2nd run: 13ms - 8,50Mbps - 7,64Mbps

    scalable:
    1st run: 18ms - 12,01Mbps - 8,73Mbps
    2nd run: 14ms - 13,96Mbps - 8,23Mbps

    lp:
    1st run: 14ms - 14,90Mbps - 8,68Mbps
    2nd run: 14ms - 13,44Mbps - 8,72Mbps

    yeah:
    1st run: 14ms - 13,37Mbps - 8,28Mbps
    2nd run: 17ms - 13,89Mbps - 8,14Mbps

    illinois:
    1st run: 13ms - 12,93Mbps - 8,24Mbps
    2nd run: 16ms - 13,97Mbps - 6,46Mbps
    167
    Just woken up and feel like my head is going to explode already this last 5 pages is crazy

    haha. It's been a crazy two days. :) But it's been a blast.

    Now, sleep is over, time to get back to work!

    I got these from that thread:

    so it makes much sense, to make the min_sample_time as low as possible (?), but how low? what's the most appropriate sample time for battery and performance?

    for the timer_rate, franco suggested 30k to consider the CPUs latency. What has it to do with the cpu's latency?

    he also said min_sample_time doesn't have to be in multiple of timer_rate.
    in my case, all my timers are in 20k, which works fine as of now. But i must be missing some things, because I just saw somebody post these values, and no detailed explanation for having them.

    Yes and no. Here's what we're thinkin' so far.

    THIS POST WILL BE A RECAP OF THE LAST FEW PAGES OF RESEARCH! :)

    This was my original settings that I've been using for weeks:
    above_hispeed_delay: 20000
    go_hispeed_load: 50
    min_sample_time: 40000
    timer_rate: 20000
    So to make the short hand easier, we kept it in that order and just said: 20000/50/40000/20000 became 20k/50/40k/20k became 2/5/4/2. Make sense?

    Here is a breakdown of what they each mean:
    -above_hispeed_delay: Once speed is set to hispeed_freq, wait for this long before bumping speed higher in response to continued high load.
    -go_hispeed_load: The CPU load at which to ramp to the intermediate "hi speed".
    -min_sample_time: The minimum amount of time to spend at a frequency before we can ramp down.
    -timer_rate: Sample rate for reevaluating cpu load when the system is not idle.

    This is a good explanation that I wrote back on page 3038:
    -above_hispeed_delay: higher = better battery, lower = better performance. (100k is default)
    -go_hispeed_load:.......higher = better battery, lower = better performance. (50 is default)
    -min_sample_time:......lower = better battery, higher = better performance. (60k is default)
    -timer_rate:.................higher = better battery, lower = better performance. (20k is default)
    So Google's default is 10/5/6/2. Lower numbers are all better for performance except min_sample_time (there higher is faster). So our goal is to find a sweet spot.

    The default 10 is for "Once speed is set to hispeed_freq, wait for this long before bumping speed higher in response to continued high load." So we think 10 is too high, but if you go too low, then you'll be using the higher freqs a lot more than you need and it will hurt the battery. So we are leaning towards 6 (60000) for above_hispeed_delay.

    The default 5 is for "when the CPU hits X% amount of load, then jump to the hispeed_freq." Again if this one is too low then it will cause the higher freqs to be used more often then they need, so we actually turn go_hispeed_load up a little bit to 7 (70).

    The default 6 is for "how long do I wait before lowering the clock speed from what it's currently at." So the lower we put this, the better battery will be. We're still trying to decide between 3 (30000) and 5 (50000). Osm0sis is getting more lag at lower levels, and finds the best performance mark at 5. So we turn min_sample_time down a little from stock to help with the battery.

    The default 2 is for "wait this long before changing the clockspeeds from what it's at now." While technically 2 sounds better because it's changing more often, Franco believes that by setting the timer_rate to be the same thing as the CPU sample_rate (which is preset at 30000), then that will make the CPU more efficient at switching. So we increased it from 2 (20000) to 3 (30000).

    So TO RECAP: Using the stuff from above, Google's defaults for these settings are 10/5/6/2 and we are changing them to 6/7/3/3 or 6/7/5/3 (again, still testing that third number for the min_sample_time).

    Does that make sense for everyone interested in following along? Any questions? Feel free to try out these settings yourself (the easiest way is with Franco's app or something like Trickster). We want as much feedback as possible on this.
    The next kernel release will have the totally tweaked settings for everyone to test without having to change their own stuff.

    :):D:laugh::good:
    111
    Kernel Emergency Settings Reset Zip

    Alright so here's something that's been requested for awhile.

    I wrote it up recently with Franco's stamp of approval, so I'm posting it here now. Please direct people back to this post from other threads.

    This can/should be everyone's go-to when experiencing problems after updating to a new kernel build, you get stuck in a bootloop, or you think there's a conflict between ROM and kernel (or kernel tweaking app) you can't track down, since likely some leftover settings (voltages, etc.) are at fault. It's also useful if you just want to make sure you're running clean defaults. This should work on any device franco.Kernel and f.Ku support, as well as a variety of other devices, kernels and control apps: eXperience (Free/Pro), GLaDOS Control, TricksterMod, Trinity Kernel Toolbox, ROM Toolbox (Lite/Pro), SetCPU, Faux123 Kernel Enhancement Project, Performance Control and Synapse.

    Flashing this via custom recovery of your choice will delete the kernel app settings file(s), disable init.d and userinit.d scripts by moving them to a subfolder (/system/etc/init.d/off/ and /data/local/userinit.d/off/ respectively) and wipe cache and dalvik-cache for good measure.

    Hopefully it helps!


    Note: If your ROM has a Performance/Tweaking App built-in you should also manually disable any Set On Boot options it has. For example, I couldn't include clearing CM's Advanced Settings since they're built into the main com.android.settings/Settings.apk along with a lot of other Android OS settings (APNs, Developer Options, etc.), so to run clean and without conflicts on CM you need to unset them yourself.

    You should also avoid having more than one control app installed at a time. Conflicts have been reported even with everything "unset" in two apps.

    I also chose not to disable anything your ROM may have in /data/cron or /system/addon.d since some rely on it heavily, so you can choose to review those directories' contents and whether you want to leave them enabled on your own. I also left out disabling sysctl.conf since that's done by f.K and the Franco's Dev Team scripts, and also seemed a bit heavy-handed for this zip script.



    Download counts for the previous versions: 790; 2678.
    105
    Sure. Happy to post my franco.Kernel settings here for anyone who wants to try them. I'll keep these up-to-date if I change them. :)

    These are my f.K settings, my DirtyV settings can be found here.
    Device: Galaxy Nexus
    Max Frequency: 1305 MHz
    Min Frequency: 384 MHz
    Governor: interactive
    Governor Tunables: a_h_d 15000 / g_h_l 95 / h_f 729600 Hz / m_s_t 45000 / t_r 15000 / i_b_f 1036800 Hz / t_l 85 / t_s 80000 / b_d 1000000
    IO Scheduler: row
    IO Scheduler Tunables: h_r_q 100 / r_r_q 75 / h_s_q 5 / r_s_q 4 / r_w_q 4 / l_r_q 3 / l_s_q 2 / r_i 15 / r_i_f 25
    Read Ahead Buffer: 512; NR Requests: 512
    TCP Congestion Avoidance Algorithm: westwood
    Screen Off Max Frequency: 537 MHz

    Color Multipliers: 230 235 340
    RGB Gamma: -4 0 5
    Trinity Contrast: -22; OMAP4 Gamma: 4; CAB: Disabled

    Sent from franco.Kernel updater app:
    https://play.google.com/store/apps/details?id=com.franco.kernel

    The following voltages are just as a reference. DO NOT enter them; your device may not be able to handle them this low, causing freezes and reboots. They are here so that people can compare their stable voltages after following the UV guides linked below, to see how our devices compare. Every device is different, so again, DO NOT enter them.
    mpu_voltages:
    1804mhz: 1425 mV
    1728mhz: 1375 mV
    1612mhz: 1325 mV
    1536mhz: 1275 mV
    1420mhz: 1225 mV
    1305mhz: 1175 mV
    1228mhz: 1125 mV
    1036mhz: 1075 mV
    729mhz: 925 mV
    537mhz: 825 mV
    384mhz: 775 mV
    192mhz: 725 mV

    iva_voltages:
    430mhz: 1125 mV
    332mhz: 1025 mV
    266mhz: 925 mV
    133mhz: 825 mV

    core_voltages:
    512mhz: 1050 mV
    384mhz: 975 mV
    153mhz: 800 mV
    There are some battery savings from UVing but they aren't extreme. If you do not know how UVing works and/or you can't/won't read to properly build your own voltage profile, then just stick with the defaults Franco has already UVed. If you do still want to learn to UV then, once again, everyone should build their own voltage profile for their own device. Read this, this, this, and this for starters on UV methods. You don't know how your device will do until you learn and try.

    As a sidenote, if anyone else wants to share their voltages for comparison the easiest way is to copy the contents of the 3 voltage files (mpu/iva/core) in /sys/class/misc/customvoltage/ - they look (almost) exactly as the sections above.
    Fsync on just in case anything ever happens I want my data protected. That said I do disable it temporarily if I ever want a bit more performance in an app or game. SR is hardcoded disabled in the latest builds.

    The other thing worth noting is I set my color settings on boot with an init.d script. Doing it that way you can end up with a completely different result from the same values. The contrast, blacks and colors are much more natural. Also it's seamless which is nice; they take effect during the Google logo. Attached is my init.d script for that. Alter it to your own color settings, remove the .txt extension, push to /system/etc/init.d/ and set the correct perms; rwxr-xr-x (chmod -R 755 /system/etc/init.d in Terminal Emulator).

    900colorsettings can be found with my other init.d scripts (from Franco Dev Team), here: https://s.basketbuild.com/filedl/devs?dev=osm0sis&dl=osm0sis/scripts/900colorsettings

    Note: On my new replacement screen, setting the color multiplier too early in the boot (any time before the boot animation) made everything look dark, oversaturated, uncontrasted and dusky; basically the opposite of the way it used to work on my old panel. Adding sleep 2; before that line in the init.d script fixed this, so experiment if your panel is more like my new one, and the init.d as-is after you put in your settings makes it look worse.

    [ New init.d script with my new colors. I need the sleep 4 because of my problem in my "Note" above, so comment it out if you don't need it, it will make it look worse. Previous download counts were 1880, 646, and 307. Thanks everyone! ]