Android OS Forum banner

Skyrocket[](010)OC~1.73GHz/GPU OC/OTG/UV/SLQB/BLN[Mar-09]

17559 Views 20 Replies 6 Participants Last post by  appdroid
NOTICE: This is COMPATIBLE with ALL Samsung Rooted Stock and Custom ROMs

For frequency control and voltage adjustments use SystemTuner by 3C or FauxClock app by Romanbb

Just a statement regarding kernel source: The Kernel Source is of course covered under GPL version 2. Free software does NOT mean no work or time was spent working on it. I have donated a large sum of my free time to hack this kernel. If you use my modified kernel source in parts or in its entirety, I kindly ask you mention its origins and to send me a github pull request or PM whenever you find bugs or think you can help improve my kernel hack further. This way the entire community will truly benefit from the spirit of open source. Thank you!

Hi RootzWiki members and fellow Samsung users:

This is my sixteenth kernel hack. I want to thank my Team Kang tea mates Roman, Whitehawks and CMenard, and several others I cannot recall for inspiring me to venture into this unfamiliar territory for me.

What is a Kernel? The Kernel is the Foundation in which everything else builds upon in any software system.
[Car Analogy]: Kernel is like the Engine, Electrical system and the Transmission to a car. The Library, Framework and the Apps [AKA ROM] are the body frame and the rest of the Car.

THIS KERNEL is BASED ON Samsung Source Code. So it is COMPATIBLE ONLY WITH Samsung Gingerbread Builds.

Please DO NOT use any task killers, they DO NOT improve performance nor battery life. They INTERFERE with your phone's stability (more crashes) and App compatibilities (Forced Close).

CleanCache/FrontSwap (via ZCache backend - ULTIMATE Edition ONLY)

Cleancache provides a place where the kernel can put pages which it can afford to lose, but which it would like to keep around if possible. A classic example is file-backed pages which are clean, so they can be recovered from disk if need be. The kernel can drop such pages with no data loss, but things will get slower if the page is needed in the near future and must be read back from disk. Like Cleancache, Frontswap can play tricks with the stored pages to stretch its memory resources. The real purpose behind this mechanism, though, appears to be to enable a hypervisor to respond quickly to memory usage spikes in virtualized guests. Dan put it this way:
Frontswap serves nicely as an emergency safety valve when a guest has given up (too) much of its memory via ballooning but unexpectedly has an urgent need that can't be serviced quickly enough by the balloon driver.

ZRAM (aka CompCache aka RAMZSwap - Not Implemented)

ZRAM is an updated version formally known as CompCache and RAMZSwap. It was originally designed for 2.6.38.xx kernels, I have backported to our 2.6.35.xx kernel. ZRAM allows real-time compression of memory objects in RAM thus reducing memory pressure for the Linux kernel and can keep more apps in memory longer (more apps in RAM == better performance, less fetching from slower MMC or SDCard). Compression, however, is not Free. Some CPU cycles are required to do the compress/decompression, so there's a slight penalty for it. The original CompCache / RAMZSwap required a user space binary to control its behavior which adds additional penalty to performance, but the new version ZRAM eliminated the need for a separate dedicated daemon, thus reducing the overhead and increased performance from the old CompCache by 20%. Therefore, with the newer implementation of ZRAM interface, the performance penalty is almost negligible.

Joe's RCU (Optimized for Small SMP systems)

Joe Korty has created an RCU for small SMP systems (> 32 cores). His approach is to isolate all the Garbage Collection (GC, a slow time consuming but necessary processing) to a single core, thus allowing other cores to ONLY work on real required processing. This will allow the additional cores to complete their assigned tasks as fast as possible (not bogged down by GC) then immediately go back to a suspended state (saving battery).

Fast No Hz RCU (Optimized for SMP operations)

Fast NoHz is an optimized version of the traditional Tree RCU. Many new kernels are using the Tickless NoHz design. This RCU is tailored and designed to work with the new NoHz kernel system.

SmartAssV2 Governor (Balanced - NOT Implemented)

This governor has a built-in "profile" similar to SetCPU, so screen off will use lower clock rate thus conserve more battery, but it also has a fast wake up feature so that user interaction will not see the lag when switching from Sleep to Wake state.... (So SetCPU Profiles are sorta redundant when using this governor, you can still use SetCPU to OC to higher than default Clock frequency).

Interactive Governor (Performance -
NOT Implemented)

This governor is designed to put more priority to User Interface (UI aka Apps) tasks, therefore appears more responsive then the traditional OnDemand governor. So if you want the smoothest UI interaction, this governor is for you...

Brain F*ck Scheduler - (BFS -
NOT Implemented)

This scheduler is designed to be simple and speedy tailor specifically for user interface type systems such as desktop/smart phone devices where user interaction is MORE important than serving 1 million web requests (CFS, the default scheduler) at the same time (think of nimble desktop workstations vs large corporate servers).

SLQB - (SLAB allocator with Queue)

This memory allocator is designed for small number of CPUs system (such as desktop or smart phone devices). This allocator is design to be simple and it is optimized for using order-0 pages as much as possible (order-0 pages are the simplest therefore quickest type of memory in a Linux system to allocate). Not all kernels are using SLQB including CM7 main line...

Fair Budget Queue (BFQ I/O scheduler)

This I/O scheduler is an improvement on top of Completely Fair Queue (CFQ). CFQ is fair in terms of time but not in terms of throughput / bandwidth, so BFQ make sure that both time and throughput / bandwidth are balanced across all requests.

Installation Instructions:

Here's a step by step instruction to install this kernel:

[ CFS ] (Mainline Edition - should work with ALL phones!)
The File ==> Skyrocket kernel 010m (1.73 GHz, L2 speed up to 1.56 GHz) <==

[ CFS ] (Ultimate Edition - should work with most phones but NOT GUARANTEED!)
The File ==> Skyrocket kernel 010u (1.73 GHz, L2 speed up to 1.56 GHz, GPU 3D @ 320 MHz, GPU 2D @ 220 MHz, CleanCache Enabled) <==

1. download the above file (via phone directly or to a PC)
2. copy the downloaded zip file to /sdcard/download/
3. Open ROM Manager and select "Reboot into Recovery" and select "OK"
4. Once in recovery, select "wipe cache partition", select "Yes", then select "advanced", then select "Wipe Dalvik Cache", then select "Yes" again. Once finished, click the back button to go back to the main recovery menu. On that menu, select "Install Zip From SDCad", then select "Choose zip from SDCard", then go to /sdcard/download and select the downloaded zip file and let it run its script.
5. Once the script is done, select "reboot system now"

Note: After FLASHING, the first reboot may take longer than usual, please be patient... After the first reboot, it may lag during initial load (let everything finish loading). Once everything is loaded and phone is ready for use, reboot the phone a 2nd time and the lag will be gone and everything should be silky smooth...

[ Advanced Users: ]

[ Optional: ]

[ For Kernel Devlopers ONLY: ]

The File ==> My Global VDD_TABLE for under volt patch <==

Optional Under voltage:

<br />
[ to over volt ALL frequencies by 25000 uv (microvolts) ]<br />
echo "+25000" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels<br />
[ to under volt ALL frequencies by 25000 uv (microvolts) ]<br />
echo "-25000" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels<br />
<br />
[ to set a specific frequency (ie 1.18 GHz)<br />
  with a specific voltage (ie 1.0875 volts) ]<br />
echo "1188000 1087500" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels<br />
CPU Frequency Voltage Table Example
<br />
  192000:   812500<br />
  310500:   812500<br />
  384000:   812500<br />
  432000:   812500<br />
  486000:   837500<br />
  540000:   850000<br />
  594000:   862500<br />
  648000:   875000<br />
  702000:   900000<br />
  756000:   925000<br />
  810000:   937500<br />
  864000:   962500<br />
  918000:   962500<br />
  972000:   962500<br />
1026000:   975000<br />
1080000:   987500<br />
1134000:  1000000<br />
1188000:  1012500<br />
1242000:  1025000<br />
1296000:  1050000<br />
1350000:  1075000<br />
1404000:  1100000<br />
1458000:  1112500<br />
1512000:  1125000<br />
1566000:  1150000<br />
Optional: Stock Clock Frequencies for Dual CPUs
su<br />
echo 192000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq<br />
echo 1188000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq<br />
<br />
echo 1 > /sys/devices/system/cpu/cpu1/cpufreq/online<br />
echo 192000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq<br />
echo 1188000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq<br />

Version 010 is OUT

Please don't hesitate to talk among yourselves and help each other out... The RootzWiki community is what inspired me to hack kernels for everyone since everyone here is nice and helpful to each other... Keep helping each other.... Famous proverb: It's better to give than to receive...




version 1.x.x -- Haven't thought about it yet...


See Post below...

Standard Disclaimer: Not responsible for bricking your phone, voiding your warranty, or any other pain or suffering you may feel as result of using this kernel!!!

My github Complying with GPL and RootzWiki rulez

Follow me on :

If you find this Kernel useful, feel free to hit the [Thanks] button below
See less See more
  • Like
Reactions: 5
1 - 1 of 21 Posts
thanks for this kernel!! i flashed it over the skyicecream 6.6 rom early yesterday morning, BLN still not working for me, im fixing to flash back to stock rom, and reflash your kernel and see what it does on its own.
1 - 1 of 21 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.