Android OS Forum banner
1 - 20 of 197 Posts

·
Your trusted friend in science
Joined
·
620 Posts
Aperture Laboratories presents

GLaDOS V2.3

The latest innovation in human-smartphone interaction. Our scientist have shown in extensive tests that humans operating our kernel on their devices experience 67% more joy in life while simultaneously the likelihood of being maimed or killed by falling space debris is significantly reduced. Also preliminary human trials indicate that it might offer some protection against lethal dosages of gamma radiation and blows to the head with a rod-like object.

Features:
  • Based on stock Android kernel Jelly Bean 4.2.2 JDQ39
  • Live OC version 2
  • Custom Voltage version 3
  • Battery Life eXtender (BLX) version 1
  • SLQB memory allocator
  • Simple I/O (SIO) and Read-over-Write (RoW) block schedulers
  • Color Control version 4 (based on supercurio's idea)
  • CPUfreq governor 'Wheatley'
  • Additional 1.4GHz, 1.6GHz, 1.8GHz and 2.0GHz MPU frequency slots
  • Sound Control version 1
  • Temp Control version 1
  • Vibrator Control version 1
  • FSync Control version 1
  • USB Fast Charge
  • Gamma control
  • WiFi low latency power mode
  • CIFS (as module)
  • TUN (as module)
  • NFS client + server (as module)
  • NTFS read/write support (as module)
  • Cleaned out all unnecessary kernel features and drivers
  • Various other tweaks

The kernel is compatible with all versions of the Galaxy Nexus no matter GSM or LTE or which carrier.

I do not support the Cyanogen Mod (CM) ROM and if you run into any problems using it with this kernel you are on your own.

Download (V1.X only for 4.0.3/4.0.4 ICS ROMs; V2.0 and V2.1 only for 4.1.1/4.1.2/4.2.1 JB ROMs; V2.2 only for 4.2.2 JB ROMs):
http://goo-inside.me...DOS-GalaxyNexus (thanks to goo-inside.me for hosting)
http://d-h.st/users/Ezekeel/?fld_id=1707#files (thanks to Dev-Host for hosting)

GLaDOS Control app:
Market: https://market.andro...l.gladoscontrol
Android Pit (accepts Paypal): http://www.androidpi.../GLaDOS-Control

If you had a different custom kernel installed before, you might need to reflash the original kernel that came with your ROM (boot.img in zip).

During installation the cache partition, Dalvik-cache and modules and init.d scripts from previously installed kernels are cleaned.

Permission is granted to distribute these zips and links on non-English speaking sites and forums. However permission is not granted to distribute these zips and links on sites and forums with English as their main language; instead please link to this thread. See the explanation in post #4.

Source code:
https://github.com/E...DOS-nexus-prime

This kernel is optimized to run best at the default options. There no need to change options like for example CPUfreq governor or min/max frequency - changing anything can have a negative effect on stability and performance.

Do not use profiles or hotplugging, they are unnecessary and only lead to instabilities.

If you experience any problems and are on a nightly or kanged ROM, try the latest stable version of that ROM first. I will not give support or answer any questions if you do not try this before reporting a problem with the kernel.

If you experience stability problems like reboots, freezes, FCs and SoDs and you did OC, first try changing back to the stock settings. If this solves the problems, your OC configuration is not stable. There are some indications that OC settings which run fine at high battery charges might still cause problems at lower battery charges. So to be safe always check that your OC configuration runs fine at low battery like 5%.

When reporting a bug always include information about your ROM and hardware model. Also be as precise as possible when describing the problem. Just because a single person is experiencing a problem, it does not mean there actually is a problem with the kernel. I always wait until at least one other person can confirm the issue before I look into it. So if you see someone posting a bug report, do not be shy and feel free to confirm the issue or if you do not have the problem let me know that too.

When asking for a feature you would like to see implemented in GLaDOS always provide a link with information about this tweak and preferably also a link to the source code.

Aperture bootanimation courtesy of Rascarlo ([twitter]rascarlo[/twitter]).
 

·
Your trusted friend in science
Joined
·
620 Posts
Changelog

GLaDOS-V2.3
  • Added RoW (Read-over-Write) I/O scheduler.
GLaDOS-V2.2
  • ONLY FOR JELLY BEAN 4.2.2 ROMS!
  • Update to Jelly Bean JDQ39 kernel sources.
  • Updated compiler to latest CodeSourcery 2012.09-64.
GLaDOS-V2.1
  • Included fix for the MPU max frequency reset on screen off.
GLaDOS-V2.0GLaDOS-V1.34
  • Removed TCP congestion scheduler 'veno'. Added schedulers 'westwood', 'illinois' and 'vegas' and made westwood default.
  • Fixed bug in Sound Control of the volume boost not being correctly applied after a notification sound has been played.
  • Added support to Custom Voltage for showing the calibrated SmartReflex voltage values for MPU, core and IVA in the sysfs interface.
GLaDOS-V1.33
  • Further improved stability for OC MPU frequency slots > 1.2GHz.
  • Fixed bug in Live OC causing freezes for MPU OC values > 107.
GLaDOS-V1.32
  • Improved stability for OC MPU frequency slots > 1.2GHz.
  • Added additional MPU frequency slots 1.8GHz and 2.0GHz.
GLaDOS-V1.31
  • Added interface for changing the gamma value.
  • Added support for WiFi low latency power mode.
GLaDOS-V1.30
  • Added kernel patches for Android 4.0.4 IMM76I update.
GLaDOS-V1.29
  • Added support to Custom Voltage for changing the regulator voltages.
  • Fixed bug in Touchwake.
  • Added back HID drivers included in the stock kernel needed for some BT devices.
  • Added support for USB Audio (as modules) for connecting external DACs.
  • Changed kernel config options for compatibility with Display Expert.
GLaDOS-V1.28
  • Fixed bugs in Vibrator Control and increased maximum vibrator strength to 1600.
GLaDOS-V1.27
  • Added Vibrator Control version 1.
  • Added FSync Control version 1.
  • Added Simple I/O (SIO) scheduler and made it default.
  • Removed Deadline I/O scheduler.
GLaDOS-V1.26
  • Added kernel patches for Android 4.0.4 update.
  • Fixed bug with Sound Control causing a freeze on boot with headphones attached.
  • The kernel installer no longer modifies the ramdisk for adding init.d support.
GLaDOS-V1.25
  • Fixed bugs with Color Control and Touchwake.
  • Added Temp Control version 1 (Imoseyon).
  • Logger module for logcat support is loaded on boot.
GLaDOS-V1.24
  • Fixed Sound Control problem with the cracking static noises.
GLaDOS-V1.23
  • Added USB Fast Charge.
  • High-performance audio mode is disabled by default.
GLaDOS-V1.22
  • Fixed Sound Control issue with delayed touch control sounds and other sound glitches.
GLaDOS-V1.21
  • Removed previous sound tweak and added Sound Control version 1.
GLaDOS-V1.20
  • Added audio tweaks supporting changing the volume boost and enabling/disabling high performance audio.
  • Added memcpy/memmove glibc functions improving performance of these memory operation.
GLaDOS-V1.19
  • Fixed stability issues when changing the MPU OC value with LiveOC.
GLaDOS-V1.18
  • Added 1.6GHz MPU frequency slot.
  • Fixed bug in Live OC of the min/max frequency values not being properly adjusted when changing the MPU OC value.
GLaDOS-V1.17
  • Added read/write support for NTFS (as a module).
  • Fixed rare graphic glitch when changing the color multiplier or V1 offsets with Color Control.
GLaDOS-V1.16
  • Fixed a bug and made some adjustments for Live OC.
  • Improvement for Color Control to work with the upcoming version of GLaDOS Control.
  • Added support for NFS V3.0 and V4.0 client and server (as modules).
GLaDOS-V1.15
  • Added 1.4GHz MPU frequency slot.
  • Added support to Color Control for disabling the safety preventing the color multipliers being raised above the stock values.
GLaDOS-V1.14
  • Override factory-set limitations for the MPU greatly increasing the OC potential.
GLaDOS-V1.13
  • Added a safety feature to Color Control to prevent the color multipliers to be raised above the stock values.
GLaDOS-V1.12
  • Added support for changing the color multipliers with Color Control.
  • Fixed issues with Custom Voltage.
GLaDOS-V1.11
  • Improved stability when switching the MPU, core/bus/RAM and GPU frequencies with Live OC.
  • Fixed several issues in Custom Voltage.
GLaDOS-V1.10
  • Improved stability when switching the core/bus/RAM frequencies with Live OC.
GLaDOS-V1.9
  • Removed static GPU/bus/RAM and IVA OC.
  • Added support for changing the core/bus/RAM and GPU frequencies on-the-fly with Live OC.
  • Added support for changing the core (GPU) and IVA voltages with Custom Voltage.
GLaDOS-V1.8
  • Fixed issue with static GPU/bus/RAM and IVA OC.
GLaDOS-V1.7
  • Fixed serious stability issue with Live OC.
  • Increasing the OC value with Live OC now also increases the frequency for the lowest state.
GLaDOS-V1.6
  • Added Custom Voltage.
  • Fixed a potential stability issue with Live OC.
GLaDOS-V1.5
  • Added back all stock governors and scaling_available_frequencies.
  • Added Aperture bootanimation courtesy of Rascarlo (many thanks).
GLaDOS-V1.4
  • Added 'Wheatley' CPUfreq governor and made it default.
GLaDOS-V1.3
  • Fixed the problem of the frequency not being set to maximum on boot.
  • Fixed a bug in Live OC.
GLaDOS-V1.2
  • Added jRCU.
  • Removed all governors except performance; removed scaling_available_frequencies.
  • Made sure the C-states > C1 are properly used during hardware-accelerated video playback.
GLaDOS-V1.1
  • Fixed excessive battery drain while in sleep.
GLaDOS-V1.0
  • Fixed a bug in Color Control.
  • Fixed a bug in Lazy.
  • Power down the MPU logic in the C4 state.
  • Removed support for limiting the frequency while screen off (with 'screen_off_max_freq' in the CPUfreq sysfs interface).
  • Changed default CPUfreq governor to 'performance'.
GLaDOS-V0.3
  • Added optimized compiler flags.
GLaDOS-V0.2
  • Removed bootanimation.
GLaDOS-V0.1
  • Initial beta release.
 

·
Your trusted friend in science
Joined
·
620 Posts
Tweaks:

Values can be set using the echo command from adb shell or terminal (for example 'echo 1 > /sys/class/misc/touchwake/enabled') or set at boot using an init.d script or conveniently set with the GLaDOS Control app (Market: https://market.andro...l.gladoscontrol, Android Pit (accepts Paypal): http://www.androidpi.../GLaDOS-Control).

Touch Wake:

When screen times out, a tap to the screen activates it again. Works great in combination with a mod that delays/disables the lock screen implemented in some ROMs or with the 'No Lock' app.

Removed from kernel. Get my free 'eXperience' app: https://play.google.com/store/apps/details?id=aperture.ezekeel.experience

Battery Life eXtender (BLX):

Set a maximum charging limit for the battery. This increases the battery lifetime (slows down the decrease of the maximum charge by deteriorating physical/chemical processes) at the cost of reducing the maximum charge and thus the maximum battery runtime.

/sys/class/misc/batterylifeextender/charging_limit
default 100

Live OC:

OC the MPU (= CPU), core/bus/RAM and GPU while the device is running. The MPU and core/bus/RAM frequencies can be independently OC by increasing all corresponding frequencies by a certain percentage while for the GPU three performance settings are available.

/sys/class/misc/liveoc/mpu_ocvalue
MPU performance in % (default 100, so 110 means +10% MPU frequencies)

/sys/class/misc/liveoc/core_ocvalue
core/bus/RAM performance in % (default 100, so 110 means +10% core/bus/RAM frequencies; when changing the performance the device will enter standby and wakeup automatically 4sec later)

Changing the core/bus/RAM performance during the boot process can cause reboots, so do not use an init.d script for that. Waking up the device during the process will most likely result in a reboot or freeze. Make sure no background processes like music playback or a download are running. Activating airplane mode also helps to reduce the number of potential interferences.

/sys/class/misc/liveoc/gpu_performance
GPU performance setting (0 = 307.2MHz; 1 = 384MHz; 2 = 512MHz; default 0 = 307.2MHz)

Custom Voltage:

Set the nominal MPU (= CPU), core (includes bus, RAM and GPU) and IVA voltages and adjust the voltages for different regulators.

/sys/class/misc/customvoltage/mpu_voltages
MPU nominal voltages for the different MPU frequency states in mV (default = stock voltages; set with 'echo "voltage1 voltage2 voltage3 voltage4" > mpu_voltages'; this entry is mirrored to /sys/devices/system/cpu/cpuX/cpufreq/UV_mV_table for compatibility with SetCPU and similar apps)

/sys/class/misc/customvoltage/core_voltages
core nominal voltages for the different GPU frequency states in mV (default = stock voltages; set with 'echo "voltage1 voltage2" > core_voltages')

/sys/class/misc/customvoltage/iva_voltages
IVA nominal voltages for the different IVA frequency states in mV (default = stock voltages; set with 'echo "voltage1 voltage2" > iva_voltages')

/sys/class/misc/customvoltage/regulator_voltages
Voltages for the different regulators in mV (default = stock voltages; set with 'echo "voltage1 voltage2" > regulator_voltages')

/sys/class/misc/customvoltage/mpu_voltages_calibrated
Calibrated SmartReflex voltages for MPU in mV (a value of 0 means the voltage has not been calibrated yet - voltages are only calibrated for states that are actually used)

/sys/class/misc/customvoltage/core_voltages_calibrated
Calibrated SmartReflex voltages for core in mV (a value of 0 means the voltage has not been calibrated yet - voltages are only calibrated for states that are actually used)

/sys/class/misc/customvoltage/iva_voltages_calibrated
Calibrated SmartReflex voltages for IVA in mV (a value of 0 means the voltage has not been calibrated yet - voltages are only calibrated for states that are actually used)

Using Custom Voltage for UV can cause problems! For MPU, core and IVA the optimal voltages for each frequency state are determined automatically by Smartreflex Adaptive Voltage Scaling (AVS). The nominal voltages set with Custom Voltage are only the upper limit and used as a starting point for the calibration. Reducing the nominal voltages can cause the automatic calibration to fail and result in voltages which are too low for stable operation. Use at your own risk!

Color Control:

Set the V1 gamma offset and color multiplier values for the display.

/sys/class/misc/colorcontrol/v1_offset
V1 gamma offset triple (default 0/0/0, set with 'echo "-4 0 5" > v1_offsets' for example, causing green tint when 2. value < 0)

/sys/class/misc/colorcontrol/multiplier
color multiplier triple (default = factory settings; set with 'echo "2004318071 2004318071 2004318071" > multiplier' for example; if the safety is enabled the color multipliers cannot be raised above the factory settings)

/sys/class/misc/colorcontrol/safety_enabled
enable = 1, disable = 0 (default enabled; enable/disable the safety limiting the color multipliers)

Disabling the safety and raising the color multipliers above the factory settings can damage the display and/or increase the rate of burn-in. You have been warned!

Sound Control:

Set volume boost and toggle high performance audio mode.

/sys/class/misc/soundcontrol/volume_boost
volume boost value from 0 to 3 (default 0 = no volume boost)

/sys/class/misc/soundcontrol/highperf_enabled
high performance audio mode, enable = 1, disable = 0 (default disabled, might increased battery drain during music playback)

Temp Control:

Set CPU temperature throttling limit.

/sys/class/misc/tempcontrol/templimit
CPU temperature limit in °C upon which the kernel will throttle down the MPU frequency (default = factory setting; if the safety is enabled the temperature limit cannot be raised above the factory settings)

/sys/class/misc/tempcontrol/safety_enabled
enable = 1, disable = 0 (default enabled; enable/disable the safety limiting the temperature limit)

Disabling the safety and raising temperature limit above the factory settings can damage the CPU or other device components. You have been warned!

Vibrator Control:

Adjust the strength of the vibrator hardware module.

/sys/class/misc/vibratorcontrol/vibrator_strength
vibrator strength (default = factory setting; value must be between 1000-1500)

FSync Control:

Enable/disable single file/filesystem sync.

/sys/class/misc/fsynccontrol/fsync_enabled
enable = 1, disable = 0 (default enabled)

Disabling single file/filesystem sync increases the risk of a data loss on a crash/freeze and potentially can lead to other side-effects.
 

·
Your trusted friend in science
Joined
·
620 Posts
RootzWiki only exists for about half a year now, but this site already had a significant impact on the Android development community. One reason is that the entire staff is highly motivated and always willing to help out. The other reason is that RW has realized that while developers surely appreciate nice words and a pad on the back once in a while, the one thing that would really make a difference is getting some new devices in the hands on capable devs.

So during the last few months RW has supported over 30 devs with new devices to extend their development work. These devices do not fall from the sky and have to be financed. The funds for that in the end come from you - the users - by revenue for the advertisement and the items sold in the store.

So the math is pretty simple here: With more users comes a higher revenue for RW which in turn will enable them to keep continue supporting the developers with new devices. This in turn will result in more high-quality custom kernels/ROMs/themes to be released which then again the users will be happy about. That is what you call a win-win-win situation.

In my case, without RW providing me a Galaxy Nexus for development, this GLaDOS kernel and the tweaks (that probably will be adapted for other kernels as well) would have not been possible.

So I do believe in the RW way of giving back to the developers since ultimately this will be of benefit for the entire Android community and thus I want this site to succeed. And as I explained above its success mainly depends on people visiting this site.

Therefore I have decided to support the RW cause by releasing this GLaDOS kernel for the GN exclusively here on RW. You have my permission to distribute these zips and links on non-English speaking sites and forums. However regarding English-speaking sites I want this release to stay exclusive to RW only. And to make things clear: This was my decision - the RW staff did not demand or even ask for this.

(Legal mumbojambo: Yes, I can legally do that. Of course the kernel itself (zImage in zip) is covered by the GPL, however the entire packaging in the zip including the various install scripts and the bootanimation is not.)

I think this is not too much of a restriction since the download links are accessible without registration. However if you do not agree with my decision and want to tell me your opinion or discuss your point of view, please refrain from doing so in this thread (since I will ignore it and ask a mod to delete it) - instead write me a PM or start a new thread or write me on Google+.

If you see someone reposting my links or zips on English-speaking sites please ask them kindly to take them down and point them to this post for an explanation. Thank you.
 

·
Your trusted friend in science
Joined
·
620 Posts
Discussion Starter · #8 ·
Nice Kernel, but all changes in mpu_ocvalue or charging_limit are reseted every new Reboot :-(
That is how it is supposed to work. Simply use an init.d script if you want to automatically set it on boot.
 

·
Your trusted friend in science
Joined
·
620 Posts
Discussion Starter · #15 ·
Sorry for this quick noob question but, how do you use terminal to echo those tweak changes? I've seen those directions posted before in another thread but was just confusing to me. I guess I just don't understand how to input those changes. Thanks for any feedback.

Sent from my Galaxy Nexus
If you do not know how to handle a Linux console you are probably better off using an init.d script.

If you are having trouble booting or other stability issues try this test kernel with reduced GPU/bus/RAM OC.

Download: http://www.multiupload.com/FJXGY9EGRP
 

·
Your trusted friend in science
Joined
·
620 Posts
Discussion Starter · #25 ·
I have released GLaDOS-V0.2 beta.

The bootanimation was causing trouble and has been removed. If you are still having the Aperture bootanimation on your device I highly recommend restoring it to the one that came with your ROM (/system/media/bootanimation.zip).

Since CPUs build into the GN seem to have quite different OC capabilities I have released three different flavors with different static OC of the GPU/bus/RAM and IVA frequencies.
 

·
Your trusted friend in science
Joined
·
620 Posts
Discussion Starter · #33 ·
any chance you'll add deep idle to the kernel? I was using your kernel on my old Nexus S before and the mod was great for battery!
Interesting that you mention that since I looked into it today.

Checking the code and reading the technical manual I confirmed that the Galaxy Nexus already has a power saving state similar to DEEP IDLE on the Nexus S implemented. And to my surprise and joy this state was also used while the screen is on. This is really awesome!

With some trial and error I was able to improve it a bit more hopefully without breaking it. It will be included in official GLaDOS V1.0 release later today.
 

·
Your trusted friend in science
Joined
·
620 Posts
Discussion Starter · #34 ·
I have the released the first official stable version GLaDOS V1.0.

Since the low power C4 state is also used while the screen is on, in theory there should be no need anymore for running the CPU at frequencies lower the maximum frequency - on the contrary, running the CPU at lower frequencies could increase the battery drain since it prevents a proper race-to-idle. Therefore I have decided to remove the feature of limiting the frequency while the screen is off and also set the default governor to performance.
 

·
Your trusted friend in science
Joined
·
620 Posts
Discussion Starter · #41 ·
If u are playing music its not idling.

Playing music shouldn't require the phone to run at 1.2ghz. It should be able to play music at 350mhz, thus saving power.
You do not seem to have a proper grasp of how a multitask OS works. Even when tasks are active the device is using the idle states.
 

·
Your trusted friend in science
Joined
·
620 Posts
Discussion Starter · #45 ·
Sorry I don't mean to keep arguing w you.

What I'm saying is if u fix the CPU speed to 1.2ghz, then you'll be draining more battery when playing music w the screen off because playing music should only require the CPU to be clocked at 350mhz.

So if I listen to music 3 hours a day, it would be more beneficial to allow the CPU to down clock to 350mhz than to keep it at 1.2ghz at all times.

If I'm missing something here please enlighten me.
A single CPU core can only execute one command at a time. Multitasking is achieved by rapidly switching between the programs that are currently active which on the time-scale of human-device interaction creates the illusion of these programs running simultaneously. For example when listening to music while browsing the web, the OS will run the music player to fill a buffer with decoded music for the next few ms, then switch to the browser and run the browser for a few ms while playing the music from the pre-decoded buffer and then switch back to the music player once the buffer is exhausted.

If the CPU only has to run a small number of tasks and it has some spare time, it switches to an idle state. There are different idle state implemented for the GN and the lowest one 'C4' saves a lot of power by switching off parts of the processor. So when playing music with screen off, the processor will decode music for a few ms of playback, then switch to the C4 state until the buffer runs dry and more music needs decoding. So even with a background task being active the processor can spend most of the time powered down. And the faster the CPU runs, the faster it can finish the decoding task and switch back to idle. This is called race-to-idle and the reason why the frequency should always be maximum.
 

·
Your trusted friend in science
Joined
·
620 Posts
Discussion Starter · #50 ·
Just use a lower version. It means your phone cant handle the ic on those levels.

Sent from my Galaxy Nexus using Tapatalk
Exactly. I had the same problems with the high OC flavors. It vanished once I switched to lower OC values.
 

·
Your trusted friend in science
Joined
·
620 Posts
I have release GLaDOS V1.2 including some major changes.

First I have include jRCU a light-weight RCU implementation for systems with a small number of cores. Second since I want users to stick to the performance governor I have removed all alternatives; also since I want users to run at maximum frequency I have moved the scaling_available_frequencies entry from the CPUfreq sysfs interface which hopefully should prevent tools like SetCPU to be able to set the min/max frequencies. Third I made sure that the C-states > C1 are properly used during hardware-accelerated video playback.

Since this kernel completely relies on the higher C-states - especially C4 - for battery savings, I have thoroughly investigated the use of the C4 state during different activities. In detail, I have tested browsing the internet over WiFi with the Opera Mini Browser, playing World of Goo and Great Little War Game, watching XviD (with no hardware-accelerated decoding) and H.264 (with hardware-accelerated decoding) movies with MoboPlayer and also FLAC and MP3 music playback while the screen is off.

Code:
Test					Total Time	Time in C4 (CPU0/CPU1)	C4 Usage	% Time in C4 (CPU0/CPU1)	Avg. Time in C4 (CPU0/CPU1)<br />
===========================================================================================================================================================<br />
Opera Mini Browser + WiFi		1420000		587354 / 608606		52875		41% / 43%			11.1 / 11.5<br />
World of Goo				2870000		647604 / 672699		166716		23% / 23%			3.9 / 4.0<br />
Great Little War Game			3620000		1168471 / 1201143	265193		32% / 33%			4.4 / 4.5<br />
Movie with MoboPlayer XviD 624x352	1650000		530208 / 512040		148274		32% / 31%			3.6 / 3.5<br />
Movie with MoboPlayer H.264 1280x720	3150000		1383757 / 1531765	393953		44% / 49%			3.5 / 3.9<br />
Music playback FLAC			3040000		2886900 / 2886183	97582		95% / 95%			29.6 / 29.6<br />
Music playback MP3			3620000		3489926 / 3491311	100254		96% / 96%			34.8 / 34.8<br />
For internet browsing the device spends over 40% of the time in C4 with an average residency of about 11ms. So for 'light' tasks like internet browsing, reading emails and the average app, the C4 state kicks in nicely and will significantly reduce the power consumption. For more CPU intensive tasks like gaming and non-hardware-accelerated XviD video playback, the time in C4 is reduced to about 20-30% and the average residency goes down to about 4ms. It is not surprising that the C4 is not used much during tasks which cause a high CPU load. For hardware-accelerated H.264 video playback the time spend in C4 is about 45% and significantly higher than for the non-hardware-accelerated XviD playback; the average residency however is still only around 4ms. Of course the C4 state really shines when the screen is off and for FLAC and MP3 music playback the time spend in C4 is a whopping 95% with average residencies around 30ms.

As a conclusion one can say that the C4 state is used as expected and it seems to be feasible to rely only the C-states for power savings. One thing that is sure for certain is that reducing the maximum CPU frequency while the screen is off is completely unnecessary and might even have an adverse effect on battery life.
 

·
Your trusted friend in science
Joined
·
620 Posts
Discussion Starter · #65 ·
Just want to share the observation that on v1.0 I was able to boot and use 120-120 just fine despite battery drainage. What has since changed must have to do with the drainage tweaks in 1.1
Your device cannot handle 120-120. V1.0 was broken.
 

·
Your trusted friend in science
Joined
·
620 Posts
Discussion Starter · #67 ·
I have a brand-new kernel for your testing pleasure.

It implements my latest creation, the Wheatley CPUfreq governor which has the potential to give a significant better battery life during demanding tasks like games or video playback.

Download (-G100-I100 flavor): http://www.multiupload.com/OXF3DN3958
 
1 - 20 of 197 Posts
Top