Archivo de la categoría: Kernels

[KERNEL] -Custom Kernel de BAM! XXKPQ/Universal. BCK 14beta fix

Actualizado a 02/072012

ImagenPDA_BCK_XXKPQ_beta14.tar – [Click for QR Code] (4.15 MB)
ImagenPDA_BCK_CF-root_universal_beta14fix.tar – [Click for QR Code] (5.87 MB)

Ver mensajeTaxman, en , dijo:

_________________________________________________________________________________

Dado los avances habidos, sobretodo en cuanto al tema de las notificaciones, les dejo el thread de XDA del Kernel de XDA_BAM.Fuente original: http://forum.xda-dev…d.php?t=1355675Agradecimientos al autor del kernel (en XDA).  Salute!(Traducción propia)Este Kernel está basado en la nueva fuente de la Gingerbread China, sacada por Samsung el 18/11/2011. Los últimos cambios a la fuente fueron hechos por Samsung el 15/11/2011.  [Habla de la fuente original del kernel, él ha hecho muchos cambios posteriores]Características del Kernel:

  • Sin SOD (Screen of Death) Imagen
  • Arreglado el bug de sincronización. Notificaciones para nuevos e-mails y mensajes deberían llegar dentro del minuto, bajo todas las circunstancias.
  • ro.secure=0 (root acces through adb shell)
  • smartassV2 governor by erasmux (default)
  • interactivex governor by Mike Chan, modified by imoseyon
  • ondemandx governor by Russell King, Venkatesh Pallipadi and Jun Nakajima, modified by imoseyon
  • BFQ IO scheduler by Paolo Valente and Fabio Checconi (default)
  • SIO IO scheduler by Miguel Boton
  • deadline IO scheduler
  • EXT4 support (Only in CF-Root .tar)
  • Support for init.d scripts (Only in CF-Root .tar)
  • Increased SD-card read ahead of 768 kb
  • sysfs interface for variable overclock or underclock (all operating points [OPPs] can be adjusted seperately)
  • Fifth OPP (1.2GHz) available, device booting up at stock speed (1 GHz)
  • Total frequency control. The device will never run at higher speeds than defined by you, not even on WiFi.
  • sysfs interface for voltages (read only at the moment)
  • Slight undervolt (3%) on all OPPs
  • Available with universal CF-Root by amit.bagaria (Only in CF-Root .tar)

Metodo de instalación:Si quieres usar el BCK, flasherlo directamente con ODIN en PDA sobre una ROM LIMPIA. Después de una actualización de kernel, por favor aguardar a que el dispositivo se inicie y reiniciar una vez más. Usualmente no es necesario limpiar el caché o una restauración de fábrica.Para cambiar de Governor o de I/O scheduler, usar el NoFrills CPU Control del Market. Es gratis y confiable.[para cambiar Governors también se puede usar el Set CPU (no I/O), para una explicación de los Governors ver: Explicación de GovernorsAtención: El Overclocking puede dañar su equipo.Overclocking instructions:For overclocking, you will need a shell on your phone, or adb access. I use Android Terminal Emulator. Overclocking is currently limited to certain frequencies (see below) and all operationg points will be set with the stock voltage of the corresponding stock frequency. The frequencies you set have to be within the following ranges:Code:OPP1:  100 –  500 MHz, stock  300 MHzOPP2:  501 –  700 MHz, stock  600 MHzOPP3:  701 –  900 MHz, stock  800 MHzOPP4:  901 – 1100 MHz, stock 1000 MHzOPP5: 1101 – 1500 MHz, stock 1200 MHz, not used by defaultRemember that your phone uses all operating points depending on the current load. Anything more than 10% higher than the highest stock frequency is likely to be unstable, but you are free to try it. To change the clocks, open Terminal Emulator (or type ‘adb shell’) and hack inCode:suecho “1100” > /sys/power/overclock_opp4as an example. The others are opp5, opp3, opp2 and opp1. That’s it.Settings will be lost at reboot, unless you add them to your init.d scripts. I do not recommend this, as this may cause boot loops if the settings are to high! Be advised that NoFrills CPU Control, SetCPU, or whatever app you use that may adjust clock settings interfers with this. You may wanna update their settings after this. I do not recommend using them to set anything at boot if you overclock any OPP, because they might save the wrong frequencies and crash or do worse.Changelog:beta 1:

  • Added cpufreq governors

beta 2:

  • Changed smartassV2 settings to fit i9003
  • Added EXT4 support
  • Smaller zImage due to .config changes

beta 3 (not released):

  • Experimented with overclocking (not working, yet)

beta 4:

  • Finetuned smartassV2 settings
  • Made smartassV2 governor default
  • Reverted: Smaller zImage due to .config changes
  • Switched to linaro 4.6.2 toolchain (also used for ICS)
  • Activated new, aggressive compiler optimizations (-O3)
  • Added deadline IO scheduler
  • Added BFQ IO scheduler (10% higher performance than CFQ in Antutu Database IO Benchmark. This does not mean, that the maximum read or write speed increase! It just means that the throughput under heavy load is higher.)
  • Made BFQ IO scheduler default
  • Updated all modules

beta 5:

beta 6:

  • Variable overclock for all operating points

beta 7:

  • Switched to universal CF-Root by amit.bagaria (BCK now should run on every recent GB ROM)
  • Added correct version information in settings menu, credits to DooMLoRD
  • Fixed cpufreq stats to correctly reflect frequency changes
  • Increased SD-card read ahead to 768 KBytes. This results in higher SD-card read speeds.
  • Major simplifications in overclocking code. Works more robust, now.
  • Added sysfs interface to show voltages. See /sys/power/overclock_vdd_oppX
  • Changed all voltages to the mainline Linux kernel defaults. This results in a slight 3% undervolt for each OPP, which saves about 5% power and should have no impact on stability whatsoever. Below you will find an overview of the exact voltages.

    Code:
    stock BCK
    OPP1: 1.0250 V  1.0000 V
    OPP2: 1.2000 V  1.1625 V
    OPP3: 1.3300 V  1.3000 V
    OPP4: 1.3875 V  1.3500 V
    OPP5: not def.  1.3800 V

beta 8:

  • OPP5 (1.2 GHz) now enabled in _1200 version of kernel. Thanks to knzo for pointing me to the right patch.
  • Fixed video recording bug when running at 1.2 GHz
  • Fixed power management issues at 1.2 GHz
  • Small changes to smartassV2 and interactiveX settings

beta 9:

  • Added simple IO (‘SIO’) scheduler
  • Only one kernel version now, which includes OPP5 (1.2 GHz) but boots up at 1 GHz. Be advised that your device may nevertheless be running at 1.2 GHz for five to ten seconds at boot because of software limitations.
  • Changes in PM to always respect cpufreq policy limits. From now on, the device will never run at higher speeds than defined by you, not even on WiFi. Based on anomapzoom.org patch.
  • Changes to OPP switching code. May lead to less ‘hickups’. Based on an omapzoom.org patch.
  • Bugfix for framebuffer code. Based on an omapzoom.org patch.
  • Reduced IVA / DSP frequency when on OPP5 to be on the safe side.

beta 9fix:

  • Reverted: Changes to OPP switching code. May lead to less ‘hickups’. (Patch caused random freezes using WiFi.)
  • Reverted: Bugfix for framebuffer code. (Patch showed no noticeable benefits.)

beta 10:

  • Fix for sync bug applied. If you still have problems, please report.
  • This version is identical to beta 10rc14. No need to flash again, if you already are on that version.

beta 11:

  • Updated universal CF-Root by amit.bagaria to version 9 (released 1st of February 2012), but NO touch recovery
  • Slight increase in OPP5 voltage (1.38 V -> 1.40 V), may prevent some reported reboots on 1.2GHz

    Code:
    stock     BCK
    OPP5: not def.  1.4000 V

  • Changes in overclocking code to play nice with your frequency settings. If you overclock OPP5 but have restricted freqs to 300 – 1000 MHz, it won’t automatically activate OPP5 anymore. The same is true for the lowest OPP.
    If you overclock OPP4 above 1000 MHz and have restricted freqs to 300 – 1000 MHz, it will update the upper boundary to the new frequency of OPP4 so it doesn’t get deactivated.

beta 12:

  • Fixed bluetooth problem with car audio systems (Based on omapzoom patches [1][2] and [3]). Might resolve other bluetooth issues, too.
  • Universal CF-Root: Fixed bootanimation. Thanks to loSconosciuto.
  • Universal CF-Root: Fixed install procedure. It will check the actual kernel version, now. Thanks to loSconosciuto.
  • Universal CF-Root: Fixed fix_permissions script to work on our device. Thanks to loSconosciuto.
  • Switched to user_defconfig, to avoid unnecessary debug lines in dmesg.

beta 13:

  • Updated sources to GT-I9003_SWA_GB_Opensource_Update1 from the 30th of March. This also enables TUN support by default. You do not need any modules for this – it works “out of the box” with any VPN client.
  • Universal CF-Root: Backup is not failing anymore when started from CWM. Thanks to loSconosciuto.
  • Universal CF-Root: Some small improvements to multiple scripts.
  • Home button double press issue fixed. There should be no more unwanted double selections in CWM and you can now reliably long press the home button to bring up the list of previously used apps. Idea and timer function taken from a patch by Tegrak.
  • Fixed priority class for CONTENT_PROVIDER not being set, which may have caused apps of this class to be ignored by the autokiller, resulting in less free RAM.
  • Lowered OMAP processor transition latency to the value recommended by TI. Subjectively, this brought huge improvements in terms of reducing micro stutters.
  • Lowered CFS scheduler latency and granularity to values very close to mainline kernel defaults. This could reduce lags in some critical situations, but it doesn’t do wonders.
  • Switched to SIO as default IO scheduler.

beta 14:

  • Universal CF-Root: Replaced CWMManager and TweakManager with zipaligned files. Thanks to loSconosciuto.
  • Universal CF-Root: The TweakManager is not replaced on install if it didn’t change to preserve it’s settings. Thanks to loSconosciuto.
  • Universal CF-Root: Corrected problems because of too little free space in /system when converting to ext4 by permanently moving InfoAlarm.apk from /system/app to/data/app. Thanks to loSconosciuto.
  • Universal CF-Root: Fixed the non-working WiFi on XXLE4 and prevented future problems. Instead of patching the WiFi modules, they are now replaced. Thanks to loSconosciuto.
  • Universal CF-Root: Fixed some small mistakes in the CF-root install procedure.
  • Switched the compression of ramdisk and kernel from gzip to lzma. This makes the files much smaller and allows us to include more ‘stuff’.
  • Changed smartassV2 settings to wake up at lower frequencies. Further, it is not locked at 300 MHz anymore when the screen is off. Tests showed that free scaling is more battery friendly.
  • Removed InteractiveX and OndemandX governors and added the Interactive governor by Mike Chan (Source: CyanogenMod Crespo kernel). Since free scaling proved to be more battery friendly, the screen off profiles in InteractiveX and OndemandX made them superfluous.
  • The device will not scale above 1 GHz for some seconds when booting anymore. It’s now safe to use BCK even if your device can’t handle 1.2 GHz. Based on a patch by dalingrin.
  • Changes in PM to respect cpufreq policy limits when playing or recording video. The device should respect your wishes under all circumstances, now Imagen
  • Fixed the SmartReflex voltage calibration of the OMAP SoC for OPP5. This could lower power consumption as soon as OPP5 (1.2 GHz) is activated for the first time.
  • Slight increase in the OPP5 nominal voltage (1.40 V -> 1.42 V) to allow for some adjustment by SmartReflex (now that it’s working…), if necessary. The actual voltage when the device is running will not change for most users! Based on patches by dalingrin and Sanjeev Premi.

    Code:
    stock     BCK
    OPP5: not def.  1.4200 V

beta 14 fix:

  • Universal CF-Root: Fixed the non-ending row of force closes after flashing the Universal flavour of BCK. The clean XXKPQ version did not show these problems and didn’t need a ‘fix’.

ToDo:

  • sysfs interface to actually change voltages
  • Patches for multiple smaller issues

Credits go to the mentioned developers of the cpufreq governors, ganeshbiyer, skin1980 and amit.bagaria for the CF-Root and skin1980 for his repack script. Many thanks to DooMLoRD, amit.bagaria and knzo for their help! BCK sources are available on GitHub.The attached files for each kernel version are:

  • ODIN-flashable PDA_BCK_XXKPQ_***.tar with stock Samsung ramdisk
  • ODIN-flashable PDA_BCK_CF-root_universal_***.tar with CF-root ramdisk (untested)

Attached Files Imagen PDA_BCK_XXKPQ_beta9fix.tar – PDA_BCK_CF-root_universal_beta9fix.tar – PDA_BCK_XXKPQ_beta10.tar – PDA_BCK_CF-root_universal_beta10.tar – [Click for QR Code] (7.41 MB, 164 views)

 

———————–

Posteado por uan_ar

http://www.grupoandroid.com/topic/39672-custom-kernel-de-bam-xxkpquniversal-bck-14beta-fix/

[MOD] Utter Chaos Kernel Boot Screens

_______________________________________

Hola a todos.

Estoy simplemente compartiendo con ustedes mis pantallas de booteo de T.U.C. (UC-Kernel Boot Screens)! Por favor agradezcan si les gustan [esto en XDA al poster original)
Instrucciones de cómo ponerlo en el teléfno al final. Créditos a algunos chicos de zedge que subieron estos wallpapers, yo hice algunos pequeños ajustes con photoshop.

uc009.jpg
uc008.jpg
uc007.jpg
uc006.jpg
uc005.jpg
uc004.jpg
uc003.jpg
uc002f.jpg
uc001v.jpg

From akashsgpogi

logo.jpg

Primero, deben tener el UC-Kernel en su teléfono.

Lean cómo cambiar el boot log

Originally Posted by DooMLoRD

Cómo cambiar el bootlogo/bootscreen

Nuestro kernel viene con su propio bootlogo/bootscreen… pero para habilitarlo ustedes necesitan flashear por separado un arhivo vía ODIN…

Esto está basado en lo que posteó Skin1980 para modificar el bootlogo…

[ Cómo habilitar la carga del custom bootlogo ]

• Primero bajar modifier-XXKPQ-bootlogo.tar
• verificar la extension md5 correspondiente para asegurarse su integridad (se bajan a la PC un programa como el FastSum y verifican que el código del archivo que bajaron coincide con el código publicado por Team Utter Chaos) check the md5hash
• verificar que tienen muy buena carga en la batería del celular;
• reinician el teléfono en modo “Download” (vol abajo + power + botón home);
• conectar el teléfono a la PC con un cable USB;
• iniciar el ODIN;
• asegurarse que el dispositivo sea detectado (puerto en amarillo);
• buscar el archive bajado y subirlo a PDA;
• le dan a “start”;
• después del flasheo exitoso, el celular se reinicia
• a disfrutar del nuevo bootlogo!

[ cómo poner tu propio bootlogo ]

• esto puede ser hecho solo después de haber puesto el Modifier
• necesitan una imágen de 480×800 y tiene que ser en formato JPEG
• el archive debe ser llamado logo.jpg y tiene que ser salvado en /mnt/.lfs/
• listo, reinicien y verán su propio logo

[ cómo deshabilitar el custom bootlogo ]

1. bajen el archivo stock-XXKPQ-bootlogo.tar
2. verificar la extension md5 correspondiente para asegurarse su integridad (se bajan a la PC un programa como el FastSum y verifican que el código del archivo que bajaron coincide con el código publicado por Team Utter Chaos) check the md5hash;
3. verificar que tienen muy buena carga en la batería del celular;
4. reinician el teléfono en modo “Download” (vol abajo + power + botón home);
5. conectar el teléfono a la PC con un cable USB;
6. iniciar el ODIN;
7. asegurarse que el dispositivo sea detectado (puerto en amarillo);
8. buscar el archive bajado y subirlo a PDA;
9. le dan a “start”;
10. después del flasheo exitoso, el celular se reinicia
11. ahora el custom bootlogo estará desactivado!

[ download links ]

Modifier XXKPQ
MD5HASH: fd95a5097ec37911023b23df08f53fa4

Stock XXKPQ
MD5HASH: 0a2a8a45c4b44cbbf170e3b85ff748dd

[ troubleshooting ]

• al principio necesitarán reiniciar 2 o 3 veces el dispositivo par aver el Custom Bootlogo de T.U.C. our custom bootlogo
• Si aún luego de flashear el Modifier siguen sin poder ver el Custom Bootlogo de T.U.C.our custom bootlogo O si quieren revertir a su bootlogo:
1. Inicien el RootExplorer
2. vayan a  la carpeta /data/local/tmp/
3. borren el archivo uckernelbootlogo
4. reinicien
esto forzará al kernel a poner el logoen /mnt/.lfs/

Tips:
1. es /mnt/.lfs/ y no /mnt/.ifs/
2. pueden usar el comando de mover (move) en el terminal emulator ya que .lfs está oculto
3. guarden cualquier .jpg en la sdcard como “logo.jpg”
4. mv /sdcard/logo.jpg /mnt/.lfs/logo.jpg
5. una vez que logo.jpg está en  .lfs, parece que no puede ser sobreescrito, van a necesitar flashear nuevamente el Modifier nuevamente si quieren cambiar el boot screens.

——————————————————————————————————————————————————–

Esto es del usuario de XDA: inciongd

http://forum.xda-dev…d.php?t=1412850

[KERNEL PARA Roms GINGER 2.3.6] Team Utter Chaos Kernel v15 Notifications (24/06/2012) y explicación Governors

Finalmente llegó a uno de los mejores kernels la solucion de notificaciones!
La traducción de los threads en inglés es propia y libre (se dejan todos los links originales). Se aceptan sugerencias de todo tipo para mejorar el thread.   Las opiniones son correspondientes a cada autor (ver links) y no propias.

Lista de materiales:

i) ganas de leer y prestar atención;
ii) i9003
iii) backup de la carpeta efs … no, en realidad no es necesario, pero trato de recordar su importancia en TODOS los posts que pueda.
iv) Firmware XXKPQ instalado (si no sabés de lo que hablo, volvamos al punto i y pasate por la guía básica de mi firma o lee los threads marcados como importante).
v) Administrador de CPU (ver más adelante).

Comentario: en este thread se sigue el formato que le impuso cada iniciador.

******************************************************************************************************************************
índice:

I.- Qué es un kernel?
II.- Cómo instalarlo/volver al original?
III.- Kernels de T.U.C.
IV.- Governors y I/O (post 2)
V.- FAQ (post 3)
VI. TUC Boot Screens (post 4)

*******************************************************************************************************************************

I.-  qué es un kernel?

Wikipedia dice:

En informática, un núcleo o kernel (de la raíz germánica Kern) es un software que constituye la parte más importante del sistema operativo.1 Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la com****dora o en forma básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, también se encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso al programador.

En criollo, cuando le ponemos un nuevo kernel al Android del teléfono tratamos de obtener funcionalidades extra que no vienen originalmente o una mejor experiencia de uso.

**********************************************************************

Fuente y agradecimientos:  Team Utter Chaos en XDA
http://forum.xda-dev…d.php?t=1357747

II.- Cómo instalarlo?

a.. Sin PC: con el Mobile ODIN (ver market, XDA o los threads del foro donde hablamos ya de esto)

b. Con una PC:

[ cómo instalar el kernel?] Flashearlo con ODIN en PDA:

1. bajar el archivo del kernel (extensión .tar) correspondiente a la versión que quieran;
2. verificar la extension md5 correspondiente para asegurarse su integridad (se bajan a la PC un programa como el FastSum y verifican que el código del archivo que bajaron coincide con el código publicado por Team Utter Chaos);
3. verificar que tienen muy buena carga en la batería del celular;
4. reinician el teléfono en modo “Download” (vol abajo + power + botón home);
5. conectar el teléfono a la PC con un cable USB;
6. iniciar el ODIN;
7. asegurarse que el dispositivo sea detectado (puerto en amarillo);
8. buscar el archive bajado y subirlo a PDA;
9. le dan a “start”;
10. después del flasheo exitoso, el celular se reinicia
11. a disfrutar su nuevo kernel!

[ cómo volver al kernel stock? ]

1. bajan el archivo puesto más abajo;
2. verificar la extension md5 correspondiente para asegurarse su integridad (se bajan a la PC un programa como el FastSum y verifican que el código del archivo que bajaron coincide con el código publicado por Team Utter Chaos);
3. verificar que tienen muy buena carga en la batería del celular;
4. reinician el teléfono en modo “Download” (vol abajo + power + botón home);
5. conectar el teléfono a la PC con un cable USB;
6. iniciar el ODIN;
7. asegurarse que el dispositivo sea detectado (puerto en amarillo);
8. buscar el archive bajado y subirlo a PDA;
9. le dan a “start”;
10. después del flasheo exitoso, el celular se reinicia;
11. habrán vuelto a su kernel stock.

**********************************************************************

III.- KERNELS DE TEAM UTTER CHAOS (DooMLorD y Napster)

UPDATE 24-06-2012

[ features/changelog ]

  • [ v15 onwards ] Removed 1380MHz frequency and added 1350MHz instead
  • [ v15 onwards ] Provided Smartreflex nvalues to all intermediate frequencies, which will calibrate voltages as per each device requirement and should provide stable OC experience
  • [ v15 onwards ] Respecting cpufreq policy in any condition
  • [ v15 onwards ] Fix multiple Home button presses
  • [ v15 onwards ] Disabled LED driver suspend in sleep mode for bln – should allow using modified services.jar and liblights.so for BLN support
  • [ v15 onwards ] Fixed GPS – thanx to loSconosciuto
  • [ v15 onwards ] Fixed touch based CWM recovery further Imagen
  • [ v14 onwards ] Implemented VDD SYSFS. Support to change VDD levels using shell environment.
  • [ v14 onwards ] Further corrected voltages and DSP frequency which should fix problems with video playing, recording etc.
  • [ v13 onwards ] Implemented kernel level control for boot-time cpufreq. Now kernel will boot with default maximum cpufreq of 1000MHz and lower cpufreq limit of 300MHz. Imagen
  • [ v13 onwards ] Corrected voltages and DSP frequency which should fix problems with video playing, recording etc.
  • [ v13 onwards ] Corrected sync bug fix again which had got messed up during kernel sources upgrade Imagen

[ v12 onwards ] implemented slightly better CPU freq thresholding at boot-up – this will reduce the time the CPU is at max frequency… this is still not implemented at kernel level but we are working on it
[ v12 onwards ] merged GT-I9003_SWA_GB_Opensource_Update1 kernel sources
[ v11 onwards ] added lots of intermediate frequencies (120-200-300-400-500-600-700-800-900-1000-1100-1200-1300-1350-1380)
[ v11 onwards ] updated to newer patched ZRAM (details on how to use it are here)
[ v11 onwards ] added ZCACHE, FRONTSWAP and updated CLEANCACHE to properly support ext3/ext4

UPDATE 13/04/2012

  • [ v10 onwards ] fixed sync bug related to notifications
  • [ v10 onwards ] Added extra cpufrequency bins. Current table has;
    • 120 MHz
    • 300 MHz
    • 600 MHz
    • 800 MHz
    • 1000 MHz
    • 1100 MHz
    • 1200 MHz
    • 1300 MHz
    • 1350 MHz
    • 1380 MHz (not fully stable)

UPDATE 18/02/2012

UC Kernel v09 (test kernels) with FULL TOUCH RECOVERY released!

[ Video ]

[ changelog ]

  • Support for full touch recovery based on CWM

[ NOTE ]

  • currently recovery does not show options for backup to or restore from internal sdcard though it deals with internal sdcard only.
  • if you do not want to take backup of sd-ext then use advanced backup.
  • We will release a final version soon with a single cpu table settings etc.

UPDATE 22/01/2012

UC Kernel v09 (test kernels) released!

estaremos testeando un poco más el OverClockin del CPU con estas series.

[ cambios]

  • arreglado el comienzo de la velocidad del reloj. Todos los kernels (de las 1009, 2009 y 3009) empezarán por default con el CPU en frecuencias: 1.0GHz max & 300MHz min
  • algunos cambios en el ramdisk del CF-Root (revertido a CF-Root del 24-11-2011 de amit)
  • algunos cambios menores en la gráfia del recovery touch, usando gráficos de CWM5.5 (ICS) y cambios en los botones de navegación
  • el Recovery hará backup & restore (si boot.img fue previamente backupeado) también del kernel (boot partition)
  • actualizado el ramzswap driver al más nuevo zram driver y activado
  • agregado y activado el cleancache driver
  • probando algunos OC en el CPU, hasta 1.3GHz (ver las frecuencias para cada versión:)
    • #1009 – 300/600/800/1000/1200
    • #2009 – 300/600/800/1000/1250
    • #3009 – 300/600/800/1000/1300

[ NOTAS ]

  • volveremos al ramdisk del CF-Root más nuevo, pero por el momento por problemas técnicos no podemos incluirlo en esta versión…
  • la version #1009 será la más estable de todas, los otos kernels se entregan sólo para pruebas!!!
  • la version #3009 está con overvolt para tener estabilidad a 1.3GHz, podemos optimizar los voltajes más adelante
  • no tuvimos tiempo de hacer un testeo intensivo… dependemos del feedback de los usuarios…
  • parece que el “fix_permissions” del CWM recovery está roto, lo arreglé en nuestras fuentes y estará corregido en las próximas versiones…

[ download links ]

[Link to the post]

[Link to the post]

  • kernel v14 with vdd sysfs and better fix for video playback

[Direct Download link]

[Link to the post]

  • kernel v15 with stable OC and fixed GPS posted here

[Direct Download link]

UC-Kernel-GSL v15 [click for QR code]

MD5SUM: a92f780367639dd8111bce6498b60508

VIEJO:

UC-Kernel v14 [click forQR code]

MD5SUM: d1788dd84d1ed1d2be639b6204c73d8a

UC-Kernel v1401 [click forQR code]

MD5SUM: 35f39925045ad42e6c22ba38b044719d

[ DO NO MIRROR OUR KERNELS ON ANY HOST SERVER ]

—- [ UPDATE ] —-

[ información ]

Hola a todos,
Les presentamos a ustedes el Team UtterChaos Kernel (UC-Kernel)…

este kernel sera mantenido por:
• DooMLoRD
• Napstar

GRACIAS A TODOS LOS QUE DONARON EL I9003 PARA QUE PUDIéRAMOS TRABAJAR EN éL: http://forum.xda-dev…10#post19139210

[agradecimientos especiales ]

vishal24387 – por envalentonar a la comunidad de usuarios y luchar para que más DEVs trabajen en este teléfono
ganeshbiyer – por ayudarnos a conocer el dispositivo y todo lo hecho para él hasta hoy

[ screenshots ]

[attachment=8512:sgs-sl-dk-4-1.jpg]
[attachment=8513:sgs-sl-dk-4-2.jpg]
[attachment=8514:sgs-sl-dk-1-4.jpg]
[attachment=8515:sgs-sl-dk-1-1.jpg]
[attachment=8516:sgs-sl-dk-1-2.jpg]
[attachment=8517:sgs-sl-dk-1-3.jpg]

[ADVERTENCIAS]

EL KERNEL ESTá TODAVíA EN FASE DE PRUEBAS… PROCEDAN CON PRECAUCIóN. HAN SIDO ADVERTIDOS!

NO SOMOS RESPONSABLES SI SE DAÑA SU TELéFONO/ TIRAN EL CAFé SOBRE éL/ PIERDEN SUS ALARMAS/ Y CUALQUIER OTRA CALAMIDAD QUE PUDIERA OCURRIR

[Descripción/cambios]

  • [ v09 onwards ] fixed bootup clock speeds – all kernels will by default ALWAYS bootup at 1.0GHz max & 300MHz min CPU frequency
  • [ v09 onwards ] some changes in CF-Root ramdisk – reverted to 24-11-2011 CF-Root ramdisk by amit
  • [ v09 onwards ] some minor graphics changes in our touch based recovery – using graphics from CWM5.5 (ICS) and changed the images of the navigation buttons
  • [ v09 onwards ] recovery will now backup & restore (if boot.img was previously backed up) kernel too (boot partition)
  • [ v09 onwards ] updated ramzswap driver to newest zram driver and enabled it
  • [ v09 onwards ] added & enabled cleancache driver
  • [ v09 onwards ] testing some CPU overclocks upto 1.3GHz
  • [ v08-fix onwards ] fixed some issues on OC version
    • Issue with video recording
    • Issue with playback of 720p video using hardware decoding
    • Usage of 200MHz cpu frequency
  • [ v08 onwards ] CPU clock-frequency overclocked to 1.2GHz
  • [ v08 onwards ] CPU clock-frequency underclocked to 200MHz with undervolting
  • [ v07 onwards ] added new CPU governors:
    • Lionheart
    • Lazy
  • [ v07 onwards ] updated to latest (as of 27-Dec) CF-Root by amit.bagharia
  • [ v07 onwards ] maintaining separate kernels for overclocked (OC) and non-overclocked (non-OC) features (GPU & CPU)
  • [ v06 onwards ] optimized CPU governors
  • [ v05 onwards ] testing GPU overclocking

• [ v04 onwards ] Overclock hasta  1.1Ghz

• [ v03 onwards ] kernel ahora comprimido usando LZMA
• [ v03 onwards ] soporte para el sistema de compresión EXT4 (que había perdido la v.2)
• [ v03 onwards ] CWM actualizado (by amit) a la última versión (24-11)
• [ v03 onwards ] kernel mostrará ahora un bootlogo customizado (si es activado por el usuario); y permitirá a los usuarios poner su propio logo [ DETAILS HERE ]   Ver post #4 de este Thread en Grupo Android.
• [ v03 onwards ] se agregó soporte para scripts en userinit:
o Si  sd-ext está montada entonces ejecutará /sd-ext/userinit.sh  y  shell scripts en la carpeta /sd-ext/userinit.d/
o También los scripts en /data/local/ serán ejecutados… se ejecutará /data/local/userinit.sh   y  shell scripts en la carpeta /data/local/userinit.d/

• [ v02 onwards ] shifted to TinyRCU kept it as default
• [ v02 onwards ] soporta distintos tipos de archivos de sistema
o EXT3
o JBD
o RFS
o JFS
o NTFS (with R/W)
• [ v02 onwards ] TUN/TAP ahora integrado al kernel
• [ v02 onwards ] soporte para varios tipos de archivos de sistema de red
o NFS (client/server)
o CIFS
• [ v02 onwards ] kernel optimizado para al tamaÑo
• [ v02 onwards ] activado LZMA/GZ2/LZO como soporte de compression para el ramdisk
• [ v02 onwards ] bumped jHash to v3
• [ v02 onwards ] incrementado VM MAX READAHEAD hasta  512KB
• [ v02 onwards ] corregiro “current kernel” string in CWM app & Tweaks app
• [ v01 onwards ] Universal CF-Root and CWM for I9003 Gingerbread by amit.bagaria

• [ v01 onwards ] CPU Governors
1. InteractiveX
2. Savaged-Zen
3. SmartAssV2
4. BrazilianWax
5. Smoothass
6. Lagfree
7. Smartass
8. Scary
9. MinMax
10. Interactive
• [ v01 onwards ] I/O Schedulers
0. BFQ-v2-rc1
1. V®
2. SIO

NOTAS IMPORTANTES SOBRE LAS CARACTERíSTICAS

[ CRéDITOS ]

• 1.1 GHz Overclock thanks to amit.bagaria
• Lagfree CPU governor ported from X10_Th_kernel by ThJap
• BrazilianWax, Smoothass CPU Governors; Simple I/O; jHashv3; patched BFQ ported from Mugetsu kernel source by knzo
• Universal CF-Root and CWM for I9003 Gingerbread by amit.bagaria
• SmartAssV2 CPU Governor ported from Hero-Kernel sources by erasmux
• InteractiveX CPU Governor ported from LeanKernel sources by imoseyon
• Savaged-Zen CPU Governor ported from Savaged-Zen Kernel sources by Savaged-Zen
• BFQ I/O Scheduler ported from richardtrip’s Kernel sources for Bravo by richardtrip
• V® I/O Scheduler ported from LeeDroid Kernel sources for Ace by LeeDroid
• Smartass CPU Governor ported from UmaroKernel sources by umaro (original posted by erasmux) [Fixed/modified for SEMC Devices]
• Scary CPU Governor ported from UmaroKernel sources by umaro (original posted by scaryghoul)
• MinMax CPU Governor ported from UmaroKernel sources by umaro
• Interactive CPU Governor ported from UmaroKernel sources by umaro & from Bukington gaosp Kernel sources
• and finally Team UtterChaos for getting this all together for u guys

gracias a todos por su trabajo!

[ requisitos ]

• Firmware XXKPQ stock
• ODIN
• Una aplicación/programa para seleccionar los governors de la CPU: SetCPU (pago) OR NoFrills CPU Control (gratis)
• NoFrills CPU Control (gratis) para seleccionar el I/O scheduler
• [OPCIONAL] CIFS Manager (gratis)

[ mis fuentes de kernel]

https://github.com/D…RD/SGS-SL-i9003

[ donaciones ]

Si sentís que este trabajo te ha ayudado o pensás que el esfuerzo realizado merece una donación, hacé click en el link que sigue para comprarme algún café o una cervecita u otra cosa  PAYPAL DONATION LINK

[ descargas ]  VER POST

download links are posted here

< VIEJAS VERSIONES >

ANTES DE HACER UNA CONSULTA, LEER EL FAQ DE ACá O DE XDA: FAQs &amp; TIPs

DISFRUTEN!

Fuente xda

[ Older Relaese Post/file]

UC-KERNEL-v06-TEST-XXKPQ-GT-I9003_PDA

UC-Kernel v05 [XXKPQ]

UC-Kernel v04 [XXKPQ]
MD5HASH: 33b9af1408fe3fed1b6a00effc69806d

UC-Kernel v03 [XXKPQ]
MD5HASH: 80aa37f9ee776f731ec1b8c1a1cbab96

UC-Kernel v02 [XXKPQ]
MD5HASH: 8a57413e20d61cd00ff6dd89814cde54

UC-Kernel v01 – Fix01 [XXKPQ]
MD5HASH: 45d4fe5035e42a712b0220887da9e24a

IV.- GOVERNORS Y I/O

Fuente: (es decir que no es particularmente para el i9003 ni para el T.U.C. kernel):
http://forum.xda-dev…d.php?t=1242323

Posteo para tener una idea de los distintos governos y I/O posibles  Hay muchos sitios para ver además. Por ejemplo otro interesante que encontré es este: http://forum.xda-dev…d.php?t=1369817

En Grupo Android ver:

governors-de-android-linux-traduccion-limites-de-velocidad-del-cpu
http://www.grupoandr…ocidad-del-cpu/

set-cpu-guia-completa
http://www.grupoandr…-guia-completa/

[REF] Quasar kernel governors and I/O schedulers manual

Con motivo de la demanda popular, es tiempo para un thread como este..

Post #1 – Governors
Post #2 – I/O Schedulers

#1 – Governors

Qué es un governor?

Code:

[i]Consideren   un      CPU,    el      procesador      de      nuestros        teléfonos.      Bien,   éste    opra    a       diferentes      frecuencias     (en     stock:  300,    600,    800     and     1000    Mhz)    y       nosotros        usualmente      decimmos        que     es      de      1       Ghz     (1000   Mhz)    porque  esa     es      su      frecuencia      máxima  con     100%    de      estabilidad     (o      la      que     viene   stock   en      el      teléfono).

Ahora,  un      GOVERNOR        o       gobernador,     es      un      driver  que     maneja  la      frecuencia      de      la      CPU,    un      “CPUFreq        driver”.        Como    su      nombre  lo      sugiere,        es      el      que     decide  cuándo  usar    la      máxima  velocidad       de      frecuencia      o       cuándo  estar   en      el      mínimo  o       medio   y       que     tán     rápido  llegar  esos    máximos y       mínimos.                Debe    dar     suavidad        o       performance?    Debe    estar   bajo    el      CPU     para    alargar la      batería?        Todas   esas    cosas   las     decide  un      governor[/i].

Hay muchos governors alrededor nuestro, algunos para los procesadors single-core, otros para los dual-cores a los cuales no me voy a referir (jRCU). En stock pueden encontrar 5 governors, en el Quasar kernel [o en el TeamUtterChaos Kernel] pueden encontrar muchos más. La mayoría de los usuarios no conocnen la mitad de los governors.

Lista de governors conocidos:
• Ondemand *&
• Powersave *@
• Userspace *
• Conservative *
• Performance *
• Interactive +
• InteractiveX +
• Smartass +
• Smoothass +
• BrazilianWax +
• SavagedZen +
• Minmax +&
• Scary +

Leyendas:
& – default |
@ – disabled by default |
* – exists in stock kernel |
+ – added in Quasar kernel

And now the official summary for each and brief comment by myself:

Ondemand:
Code:

[i]/*
*               drivers/cpufreq/cpufreq_ondemand.c
*
*               Copyright       ©               2001    Russell King
*			©           2003    Venkatesh       Pallipadi       <venkatesh.pallipadi@intel.com>.
*					          Jun     Nakajima        <jun.nakajima@intel.com>
*
*       This    program is      free    software;       you     can     redistribute    it      and/or  modify
*       it      under   the     terms   of      the     GNU     General Public  License version 2       as
*       published       by      the     Free    Software        Foundation.
*/[/i]

Ondemand es la elección por defecto ya que se encuentran balanceados los seteos para ofrecer un buen equilibrio entre batería y performance.   Sin embargo, no tiene perfiles y se queda un poco corto en la performance en smartphones.

Se encuentra disponible en la mayoría de los kernels y es el que viene por defecto en la mayoría. Cuando el CPU llega a cierto punto (ver “up threshold” en Advanced Settings), “ondemand” rápidamente escalará la CPU para encontrar el punto necesario y luego gradualmente irá bajando la velocidad del CPU cuando no lo necesite más.

Setea la frecuencia en funcion de la velocidad, Para esto el CPU debe ser capas de cambiar de frecuencia rapidamente, para esto existen varios parametros accesibles por medio de sysfs:

sampling_rate, medido en uS es la frecuencia con la que uno quiere que el kernel verifique el uso de cpu y tome una decision sobre que hacer con la frecuencia. Tipicamente este valor se setea a 10000 p mas, Su valor por default es transition_latency * 1000 samspling_rate debe ajustarse siempre considerando la latencia de transicion.

show_sampling_rate_min: Esta frecuencia de muestreo esta limitada por la latencia del hardware o por restricciones del kernel
up_threshold: define que el promedio de uso necesario entre los muestreos de sampling_rate para que el kernel haga una decision sobre si deberia aumentar la frecuencia. Por ejemplo cuando se setea en el valor por defecto 95 quiere decir que entre chequeos la CPU debe estar promedio mas del 95% en uso para aumentar la frecuencia.

ignore_nice_load: este parametro acepta 0/1 como valor, es 0 por defecto todos los procesos son contados sobre el valor de “cpu utilization”.
Cuando se setea a 1 los procesos que corren con un valor de nice no seran contados y por ende ignorados en el calculo de uso.
Esto es util si se esta ejecutando un aplicacion que hace calculos de manra intensiva en tu laptop y no te importa cuanto le va a tomar completarse ya que le podes dar nice y evitar que forme parte del proceso que decide elevar la velocidad de la CPU

Powersave:

Code:

[i]/*
*               linux/drivers/cpufreq/cpufreq_powersave.c
*
*               Copyright       ©       2002    -       2003    Dominik Brodowski       <linux@brodo.de>
*
*
*       This    program is      free    software;       you     can     redistribute    it      and/or  modify
*       it      under   the     terms   of      the     GNU     General Public  License version 2       as
*       published       by      the     Free    Software        Foundation.
*
*/[/i]

Powersave setea el máximo a la misma frecuencia de reloj que la frecuencia mínima. Imposible para un uso diario por razones obvias. Se usa con los perfiles del SetCPU para cuando se apaga la pantalla en combinación con el “Ondemand”.
Es exactamente lo contrario de Performance, la setea a scaling_main_freq

Userspace:

Code:

[i]/*
*               linux/drivers/cpufreq/cpufreq_userspace.c
*
*               Copyright       ©               2001    Russell King
*			©           2002    -       2004    Dominik Brodowski       <linux@brodo.de>
*
*       This    program is      free    software;       you     can     redistribute    it      and/or  modify
*       it      under   the     terms   of      the     GNU     General Public  License version 2       as
*       published       by      the     Free    Software        Foundation.
*
*/[/i]

Userspace te deja setear manualmente las frecuencias. Para ser completamente honestos, nunca lo he usado y nunca escuché de nadie que lo usara..

Conservative:

Code:

[i]/*
*               drivers/cpufreq/cpufreq_conservative.c
*
*               Copyright       ©               2001    Russell King
*			©           2003    Venkatesh       Pallipadi       <venkatesh.pallipadi@intel.com>.
*					          Jun     Nakajima        <jun.nakajima@intel.com>
*			©           2009    Alexander       Clouter <alex@digriz.org.uk>
*
*       This    program is      free    software;       you     can     redistribute    it      and/or  modify
*       it      under   the     terms   of      the     GNU     General Public  License version 2       as
*       published       by      the     Free    Software        Foundation.
*/[/i]

Conservative es un Ondemand más lento en cuanto a qué tán rápido llegar a las velocidades seteadas.  Por ejemplo, cuando encendés el teléfono y empieza la interacción, “Ondemand” incrementaría la frecuencia hasta el máximo en una velocidad X. Conservative lo haría en el doble de tiempo (x/2). Cuanto más rápido sea la escalada, más batería consume, por lo que este además de performance otorga major consumo de batería.

Este governor, como el ondemand escala la velocidad dependiendo de uso actual. Se diferencia en que su comportamiento setea la CPU de forma mas uniforme en lugar de saltar al valor maximo cuando hay alguna carga. Este comportamiento es mas propicio en ambientes  donde el equipo se alimenta por baterias.
Se configura de la misma manera que el “ondemand” anque se añade una opcion por medio de sysfs:

freq_step: describe que porcentaje de saltos deben aumentarse o reducirses. Por default la frecuencia sera aumentada de a saltos del 5% de la velocidad maxima. Se puede cambiar este valor entre 0 y 100 donde 0 bloquea la velocidad de la CPU independientemente de la carga, mientras que 100, en teoria, harian que el governor se comporte como el “ondemand”
down_threshold: es lo mismo que el up_threshold de “ondemand” pero en la direccion opuesta.

Por ejemplo cuando su valor es el default de 20 quiere decir que el uso de la CPU debe ser inferior al 20% de muestras para reducir la frecuencia

Performance:

Code:

[i]/*
*               linux/drivers/cpufreq/cpufreq_performance.c
*
*               Copyright       ©       2002    -       2003    Dominik Brodowski       <linux@brodo.de>
*
*
*       This    program is      free    software;       you     can     redistribute    it      and/or  modify
*       it      under   the     terms   of      the     GNU     General Public  License version 2       as
*       published       by      the     Free    Software        Foundation.
*
*/[/i]

Si Powersave governor es el Yin, este otro es el Yang. Setea el mínimo al mismo valor que el máximo, así el teléfono está en su máximo poder. Se suele usar cuando está conectado el teléfono a la red o para hacer benchmarks. Por razones obvias no puede ser usado para un uso diario.

El governor performance setea la velocidad estáticamente a la velocidad mas alta entre los limites de scaling_main_freq y scaling_max_freq

Interactive:

Code:

[i]/*
*       drivers/cpufreq/cpufreq_interactive.c
*
*       Copyright       ©       2010    Google, Inc.
*
*       This    software        is      licensed        under   the     terms   of      the     GNU     General Public
*       License version 2,      as      published       by      the     Free    Software        Foundation,     and
*       may     be      copied, distributed,    and     modified        under   those   terms.
*
*       This    program is      distributed     in      the     hope    that    it      will    be      useful,
*       but     WITHOUT ANY     WARRANTY;       without even    the     implied warranty        of
*       MERCHANTABILITY or      FITNESS FOR     A       PARTICULAR      PURPOSE.                See     the
*       GNU     General Public  License for     more    details.
*
*       Author: Mike    Chan    (mike@android.com)
*
*/[/i]

Mientras que “Conservative” es más lento que “Ondemand” en la escalada, “Interactive” es más rápido.  El escalado será más rápido y el consumo de la batería subirá un poquito. Este ha sido el governor más popular el año pasado (por 2010).

InteractiveX:

Code:

[i]/*
*       drivers/cpufreq/cpufreq_interactive.c
*
*       Copyright       ©       2010    Google, Inc.
*
*       This    software        is      licensed        under   the     terms   of      the     GNU     General Public
*       License version 2,      as      published       by      the     Free    Software        Foundation,     and
*       may     be      copied, distributed,    and     modified        under   those   terms.
*
*       This    program is      distributed     in      the     hope    that    it      will    be      useful,
*       but     WITHOUT ANY     WARRANTY;       without even    the     implied warranty        of
*       MERCHANTABILITY or      FITNESS FOR     A       PARTICULAR      PURPOSE.                See     the
*       GNU     General Public  License for     more    details.
*
*       Author: Mike    Chan    (mike@android.com)      -       modified        for     suspend/wake    by      imoseyon
*
*/[/i]

Como puden ver del sumario, este Interactive contiene algunas modificaciones hechas por “imoseyon”. Ahora, en lugar de usar los métodos sucios de perfiles del SetCPU de lockear a la frecuencia minima cuando el teléfono entra en reposo, el governor lo hará de una manera más limpia y con un mejor escalamiento cuando salga del reposo. Básicamente, tiene la performance del Interactive pero con mejor consumo de batería.

Smartass:

Code:

[i]/*
*       drivers/cpufreq/cpufreq_smartass2.c
*
*       Copyright       ©       2010    Google, Inc.
*
*       This    software        is      licensed        under   the     terms   of      the     GNU     General Public
*       License version 2,      as      published       by      the     Free    Software        Foundation,     and
*       may     be      copied, distributed,    and     modified        under   those   terms.
*
*       This    program is      distributed     in      the     hope    that    it      will    be      useful,
*       but     WITHOUT ANY     WARRANTY;       without even    the     implied warranty        of
*       MERCHANTABILITY or      FITNESS FOR     A       PARTICULAR      PURPOSE.                See     the
*       GNU     General Public  License for     more    details.
*
*       Author: Erasmux
*
*       Based   on      the     interactive     governor        By      Mike    Chan    (mike@android.com)
*       which   was     adaptated       to      2.6.29  kernel  by      Nadlabak        (pavel@doshaska.net)
*
*       SMP     support based   on      mod     by      faux123
*
*       requires        to      add
*       EXPORT_SYMBOL_GPL(nr_running);
*       at      the     end     of      kernel/sched.c
*
*/[/i]

Este ha ido incrementando su popularidad y convirtiéndose en el favorito de los últimos trimestres del 2011. Smartass está basado en el Interactive pero con algunas modificaciones, como los perfiles propios. Recientemente, Erasmux ha lanzado su version 2 que por lo que la gente dice anda muy bien..

SmartassV2:

Es una revision del governor original, y permite al CPU escalar todas las frecuencias desde la más baja a la más rápida dependiendo de lo que ocurra. Básicamente escalara de acuerdo a las necesidades reales del sistema, aunque incorpora una curva más agresiva para cuando entre/salga del reposo.
Sugiero ver: link.   Probablmente sea el mejor governor del momento junto con el Minmax

Smoothass:

Code:

[i]/*
*       drivers/cpufreq/cpufreq_smoothass.c
*
*       Copyright       ©       2010    Google, Inc.
*
*       This    software        is      licensed        under   the     terms   of      the     GNU     General Public
*       License version 2,      as      published       by      the     Free    Software        Foundation,     and
*       may     be      copied, distributed,    and     modified        under   those   terms.
*
*       This    program is      distributed     in      the     hope    that    it      will    be      useful,
*       but     WITHOUT ANY     WARRANTY;       without even    the     implied warranty        of
*       MERCHANTABILITY or      FITNESS FOR     A       PARTICULAR      PURPOSE.                See     the
*       GNU     General Public  License for     more    details.
*
*       Author: Erasmux
*
*       Based   on      the     interactive     governor        By      Mike    Chan    (mike@android.com)
*       which   was     adaptated       to      2.6.29  kernel  by      Nadlabak        (pavel@doshaska.net)
*
*       requires        to      add
*       EXPORT_SYMBOL_GPL(nr_running);
*       at      the     end     of      kernel/sched.c
*
*/[/i]

Otra joya de parte de Erasmux. Hasta donde sé, es como el Smartass v1 pero tocado para un escalado más rápido, es decir más performance y menos batería.

BrazilianWax:

Code:

[i]/*
*       drivers/cpufreq/cpufreq_brazilianwax.c
*
*       Copyright       ©       2010    Google, Inc.
*
*       This    software        is      licensed        under   the     terms   of      the     GNU     General Public
*       License version 2,      as      published       by      the     Free    Software        Foundation,     and
*       may     be      copied, distributed,    and     modified        under   those   terms.
*
*       This    program is      distributed     in      the     hope    that    it      will    be      useful,
*       but     WITHOUT ANY     WARRANTY;       without even    the     implied warranty        of
*       MERCHANTABILITY or      FITNESS FOR     A       PARTICULAR      PURPOSE.                See     the
*       GNU     General Public  License for     more    details.
*
*       Author: Erasmux
*
*       Based   on      the     interactive     governor        By      Mike    Chan    (mike@android.com)
*       which   was     adaptated       to      2.6.29  kernel  by      Nadlabak        (pavel@doshaska.net)					
*
*       requires        to      add
*       EXPORT_SYMBOL_GPL(nr_running);
*       at      the     end     of      kernel/sched.c
*
*/[/i]

Parecido al Smoothass y al Smartassv2. Con otras curvas de escalamiento.

SavagedZen:

Code:

[i]/*
*       drivers/cpufreq/cpufreq_savagedzen.c
*
*       Copyright       ©       2010    Google, Inc.
*
*       This    software        is      licensed        under   the     terms   of      the     GNU     General Public
*       License version 2,      as      published       by      the     Free    Software        Foundation,     and
*       may     be      copied, distributed,    and     modified        under   those   terms.
*
*       This    program is      distributed     in      the     hope    that    it      will    be      useful,
*       but     WITHOUT ANY     WARRANTY;       without even    the     implied warranty        of
*       MERCHANTABILITY or      FITNESS FOR     A       PARTICULAR      PURPOSE.                See     the
*       GNU     General Public  License for     more    details.
*
*       Author: Joshua  Seidel

*       Based   on      the     smartass        governor        by      Erasmux
*
*       Based   on      the     interactive     governor        By      Mike    Chan    (mike@android.com)
*       which   was     adaptated       to      2.6.29  kernel  by      Nadlabak        (pavel@doshaska.net)
*       --Modifications by      arescode--
*       adapted to      stock   (1      GHz)    frequency       by      zacharias.maladroit
*
*       requires        to      add
*       EXPORT_SYMBOL_GPL(nr_running);
*       at      the     end     of      kernel/sched.c
*
*/[/i]

Otro kernel basado en el Smartass con muchas modificaciones para obtener mejor duración de batería y performance. Y lo logra muy bien en mi opinión. Un muy buen governor muy balanceado.

Minmax:

Code:

[i]/*
*               drivers/cpufreq/cpufreq_minmax.c
*
*               Copyright       ©               2001    Russell King
*			©           2003    Venkatesh       Pallipadi       <venkatesh.pallipadi@intel.com>.
*					          Jun     Nakajima        <jun.nakajima@intel.com>
*			©           2004    Alexander       Clouter <alex-kernel@digriz.org.uk>
*
*       This    program is      free    software;       you     can     redistribute    it      and/or  modify
*       it      under   the     terms   of      the     GNU     General Public  License version 2       as
*       published       by      the     Free    Software        Foundation.
*
*       This    governor        is      an      adapatation     of      the     conservative    governor.
*       See     the     Documentation/cpu-freq/governors.txt    for     more    information.
*
*       Adapatation     from    conservative    by      Erasmux.
*/[/i]

Este governor fue una agradable sorpresa. Sin perjuicio de resultar una adaptación del governor “Conservative” ha resultado probablemente el de mejor performance de todos ellos.  Puede quedarse más corto de batería que el Smartass v2 pero he hecho mis mejores experiencias con él.

Scary:

Code:

[i]/*
		Scary governor        based   off     of      conservatives   source  with    some
of      smartasses      features

		For   devs    -       If      you're  going   to      port    this    driver  to      other   devices,
make    sure    to      edit    the     default sleep   frequencies     &       prev    frequencies
or      else    you     might   be      going   outside your    devices hardware        limits.
*/[/i]

Este es un governor extraño. Está basado en el “Conservative” que tiene una curva de escalada más lenta que el “Ondemand” pero también tiene elementos del “Smartass” que contiene una velocidad de subida muy rápida. Escuché que a alguna gente le gusta, pero nunca lo probé.

En conclusión (en mi humilde opinión):

• Para Batería: 1er lugar – InteractiveX | 2do lugar – Smartass | 3er lugar – SavagedZen

• Performance: 1er lugar – Minmax | 2do lugar – Smartass2 | 3er lugar – SavagedZen

Otros, incluidos en T.U.C. Kernel:

Lagfree:

Este driver es similar al “Ondemand” en su código fuente y propósitos, la diferencia radica en su optimización para el uso de la batería.  La frecuencia es incrementada y disminuida suvamente en lugar de saltar al 100% cuando es necesaria velocidad.

Lazy:

[i]*
*       Copyright       ©       2001    Russell King
*       ©       2003    Venkatesh       Pallipadi       <venkatesh.pallipadi@intel.com>.
*       Jun     Nakajima        <jun.nakajima@intel.com>
*       ©       2011    Ezekeel <notezekeel@googlemail.com>
*
*       This    program is      free    software;       you     can     redistribute    it      and/or  modify
*       it      under   the     terms   of      the     GNU     General Public  License version 2       as
*       published       by      the     Free    Software        Foundation.[/i]

El Governor LAZY, al parecer es una variante del Ondemand que hace saltos de frecuencia mas lentos (un parámetro adicional ‘min_timeinstate’ ) lo que, según el desarrollador, permite algo de ahorro de batería (evitando que el procesador consuma ciclos con chequeos) y da estabilidad al correr aplicaciones como juegos y reproductores de audio y video.

Lionheart:

(fuente) Lionheart es un gobernador “conservative” modificado por Knzo. Permite modificar el umbral mínimo y máximo y la menor frecuencia de muestreo disponible en el “conservative”. Lo que busca este gobernador es la capacidad de respuesta extrema y el rendimiento, a costa de la batería. Cuando se trata de suavidad (sin considerar la descarga de la batería), un “conservative” ajustado ofrece mayor suavidad en comparación con un “ondemand” afinado. Esto podría ser la razón del nacimiento de Lionheart.

******************************************************************************************************************************

#2 – I/O Schedulers

Entonces, qué es un  I/O Scheduler?

Code:

[i]Input/output (I/O)   scheduling      es      un      terminus        que     describe        el      método  con     el      que     las     computadoras    deciden el      orden   en      que     los     bloques de      entrada y       salida  (I/O)   de      operaciones     serán   enviados        a       las     unidades        de      almacenamiento. I/O     Scheduling      es      también llamado 'disk   scheduling'.

I/O     schedulers      pueden  tener   muchos  propósitos      dependiendo     de      la      meta    del     I/O     scheduler,      algunas metas   comunes son:

-       Minimizar       la      pérdida de      tiempo  de      búsqueda        en      el      disco   rígido.
-       Priorizar       ciertas peticiones      de      procesos        de      I/O.
-       Entregar        una     porción de      ancho   de      banda   del     disco   a       cada    proceso que     corre.
-       Garantizar      que     ciertos pedidos sean    resueltos       antes   de      determinado     momento.[/i]

No hay mucha oferta en este rubro y las mejoras no son tan visibles como con los governors, pero están.  Sólo por mencionar alguna por ejemplo, influye en los tiempos de abrir y cerrar aplicaciones.

Un resumen y cometarios sobre ellos:

Noop:

Code:

[i]The  NOOP    scheduler       inserts all     incoming        I/O     requests        into    a       simple, unordered
FIFO    queue   and     implements      request merging.

The     scheduler       assumes I/O     performance     optimization    will    be      handled at      some
other   layer   of      the     I/O     hierarchy;      e.g.,   at      the     block   device; by      an      intelligent     HBA
such    as      a       Serial  Attached        SCSI    (SAS)   RAID    controller      or      by      an      externally
attached        controller      such    as      a       storage subsystem       accessed        through a       switched
Storage Area    Network).

NOOP    scheduler       is      best    used    with    solid   state   devices such    as      flash   memory
or      in      general with    devices that    do      not     depend  on      mechanical      movement        to
access  data    (meaning        typical "hard   disk"   drive   technology      consisting      of      seek
time    primarily,      plus    rotational      latency).       Such    non-mechanical  devices do      not
require re-ordering     of      multiple        I/O     requests,       a       technique       that    groups  together
I/O     requests        that    are     physically      close   together        on      the     disk,   thereby reducing
average seek    time    and     the     variability     of      I/O     service time.[/i]

Noop no está tan mal. Es un I/O Scheduler simple y en cuanto a Android le queda muy bien lo de que cuanto más simple mejor.

Anticipatory:

Code:

[i]Anticipatory scheduling      is      an      algorithm       for     scheduling      hard    disk    input/output.
It      seeks   to      increase        the     efficiency      of      disk    utilization     by      "anticipating"
synchronous     read    operations.

"Deceptive      idleness"       is      a       situation       where   a       process appears to      be      finished
reading from    the     disk    when    it      is      actually        processing      data    in      preparation     of
the     next    read    operation.      This    will    cause   a       normal  work-conserving I/O
scheduler       to      switch  to      servicing       I/O     from    an      unrelated       process.        This    situation
is      detrimental     to      the     throughput      of      synchronous     reads,  as      it      degenerates     into
a       seeking workload.       Anticipatory    scheduling      overcomes       deceptive       idleness
by      pausing for     a       short   time    (a      few     milliseconds)   after   a       read    operation       in
anticipation    of      another close-by        read    requests.[/i]

No tengo idea si este anda bien en dispositivos con Android. Está deshabilitado en el stock kernel. No escuché de nadie que lo usara, solo está en el ámbito de servidores.

CFQ:

Code:

[i]CFQ, also    known   as      "Completely     Fair    Queuing",       is      an      I/O     scheduler       for     the
Linux   kernel  which   was     written in      2003    by      Jens    Axboe.

CFQ     works   by      placing synchronous     requests        submitted       by      processes       into
a       number  of      per-process     queues  and     then    allocating      timeslices      for     each    of      the
queues  to      access  the     disk.   The     length  of      the     time    slice   and     the     number  of
requests        a       queue   is      allowed to      submit  depends on      the     IO      priority        of      the     given
process.        Asynchronous    requests        for     all     processes       are     batched together        in      fewer
queues, one     per     priority.       While   CFQ     does    not     do      explicit        anticipatory    IO
scheduling,     it      achieves        the     same    effect  of      having  good    aggregate       throughput      for
the     system  as      a       whole,  by      allowing        a       process queue   to      idle    at      the     end     of
synchronous     IO      thereby "anticipating"  further close   IO      from    that    process.        It      can
be      considered      a       natural extension       of      granting        IO      time    slices  to      a       process.[/i]

Bien, tal como el governor “Ondemand” es  a los governors, CFQ es a los I/O Schedulers. Es el más balanceado, procurando buen desempeño en variados escenarios. Sin embargo, como en Android las cosas funcionan diferente, no resulta ser el más adecuado de los I/O Schedulers. Hay muchos threads en XDA para mejorarlo.

Deadline:

Code:

[i]The  goal    of      the     Deadline        scheduler       is      to      attempt to      guarantee       a       start   service
time    for     a       request.        It      does    that    by      imposing        a       deadline        on      all     I/O     operations
to      prevent starvation      of      requests.       It      also    maintains       two     deadline        queues, in
addition        to      the     sorted  queues  (both   read    and     write). Deadline        queues  are     basically
sorted  by      their   deadline        (the    expiration      time),  while   the     sorted  queues  are     sorted
by      the     sector  number.

Before  serving the     next    request,        the     Deadline        scheduler       decides which   queue   to
use.    Read    queues  are     given   a       higher  priority,       because processes       usually block
on      read    operations.     Next,   the     Deadline        scheduler       checks  if      the     first   request in      the
deadline        queue   has     expired.        Otherwise,      the     scheduler       serves  a       batch   of      requests
from    the     sorted  queue.  In      both    cases,  the     scheduler       also    serves  a       batch   of      requests
following       the     chosen  request in      the     sorted  queue.[/i]

Deadline es actualmente bastante popular junto con BFQ. Es usado en algunos kernels, y si bien es mejor que el CFQ para dispositivos con Android todavía se queda corto frente al VR.

VR:

Code:

[i]/*
*       V®      I/O     Scheduler
*
*       Copyright       ©       2007    Aaron   Carroll <aaronc@gelato.unsw.edu.au>
*
*
*       The     algorithm:
*
*       The     next    request is      decided based   on      its     distance        from    the     last
*       request,        with    a       multiplicative  penalty of      `rev_penalty'   applied
*       for     reversing       the     head    direction.      A       rev_penalty     of      1       means   SSTF
*       behaviour.      As      this    variable        is      increased,      the     algorithm       approaches
*       pure    SCAN.   Setting rev_penalty     to      0       forces  SCAN.
*
*       Async   and     synch   requests        are     not     treated seperately.     Instead we
*       rely    on      deadlines       to      ensure  fairness.
*
*/[/i]

VR es un muy buen I/O Scheduler con elementos de otro llamado “Deadline”. Probablemente el mejor para muchos dispositivos con Android y usado en muchos kernels. Es probablemente el que mejor benchmarks tira, pero también es el más inestable.  Su performance fluctúa, puede estar por encima de la media o por debajo, pero cuando está arriba es lo mejor..

Simple (S.I.O):

Code:

[i]/*
*       Simple  IO      scheduler
*       Based   on      Noop,   Deadline        and     V®      IO      schedulers.
*
*       Copyright       ©       2010    Miguel  Boton   <mboton@gmail.com>
*
*
*       This    algorithm       does    not     do      any     kind    of      sorting,        as      it      is      aimed   for
*       aleatory        access  devices,        but     it      does    some    basic   merging.        We      try     to
*       keep    minimum overhead        to      achieve low     latency.
*
*       Asynchronous    and     synchronous     requests        are     not     treated separately,     but
*       we      relay   on      deadlines       to      ensure  fairness.
*
*/[/i]

Como su nombre lo sugiere, es un I/O simple, pero recuerden que en este tópico lo más simple es lo mejor. Es confiable y no tan bueno como el VR cuando está encima de la media. Es uno de los más sabios en cuanto a performance..

BFQ:

Code:

[i]/*
*       BFQ,    or      Budget  Fair    Queueing,       disk    scheduler.
*
*       Based   on      ideas   and     code    from    CFQ:
*       Copyright       ©       2003    Jens    Axboe   <axboe@kernel.dk>
*
*       Copyright       ©       2008    Fabio   Checconi        <fabio@gandalf.sssup.it>
*	                      	                       Paolo   Valente <paolo.valente@unimore.it>
*
*       Licensed        under   the     GPL-2   as      detailed        in      the     accompanying    COPYING.BFQ     file.
*
*       BFQ     is      a       proportional    share   disk    scheduling      algorithm       based   on      the
*       slice-by-slice  service scheme  of      CFQ.    But     BFQ     assigns budgets,
*       measured        in      number  of      sectors,        to      tasks   instead of      time    slices.
*       The     disk    is      not     granted to      the     active  task    for     a       given   time    slice,
*       but     until   it      has     exahusted       its     assigned        budget.         This    change  from
*       the     time    to      the     service domain  allows  BFQ     to      distribute      the     disk
*       bandwidth       among   tasks   as      desired,        without any     distortion      due     to
*       ZBR,    workload        fluctuations    or      other   factors.        BFQ     uses    an      ad      hoc
*       internal        scheduler,      called  B-WF2Q+,        to      schedule        tasks   according       to
*       their   budgets.                Thanks  to      this    accurate        scheduler,      BFQ     can     afford
*       to      assign  high    budgets to      disk-bound      non-seeky       tasks   (to     boost   the
*       throughput),    and     yet     guarantee       low     latencies       to      interactive     and
*       soft    real-time       applications.
*
*/[/i]

Aquí está el más popular e incorrectamente asumido como el mejor I/O Scheduler. Está basado en el CFQ pero tiene inferior performance que el VR o el Simple, incluso si es el BFQv2 (aunque parece desempeñarse bien en tasas de  transferencia en USB).

En resumen (en mi humilde opinion):

• Performance: 1er lugar – VR

• Confiabilidad: 1er lugar – Simple

Más datos:

Fuente: http://forum.xda-dev…8&postcount=591

Algunos benchmarks de los variados IO schedulers -:
Code:
BFQ==============2642.00
VR (Rev 1)=========2876.60
VR (Rev 10)========2808.00
SIO===============2475.40
NOOP=============2461.20
Deadline===========2824.40

Corrí 5 veces cada uno y estas son las medias. Con la ROM Oxygen RC6 with 2.6.37

[ Q ] voy a perder datos si flasheo este kernel?
Ans: NO

[ Q ] Flashié este kernel y ahora mi teléfono se queda en el bootanimation!
Ans: estás seguro que lo flasheaste correctamente? Sólo está disponible para XXKPQ. Probá poner nuevamente XXKPQ y luego nuestro kernel.

[ Q ] cómo sé si fue correctamente flasheado? Cómo identifico la version del kernel?
Ans: fijate en “acerca del teléfono” y verás algo así THIS.:

2.6.35.7-CL709629
DooMLoRD@UtterChaos #1
• -CL709629 – indica la version para XXKPQ
• DooMLoRD – indica la persona que lo compiló. Puede ser DooMLoRD or Napstar
• UtterChaos – indica el nombre del grupo Team (UtterChaos)
• #1 – indica la versión del kernel

[ Q ] Van a crear un kernel para otro firmware?
Ans: NO. Nos quedaremos con el más reciente/más usado.

[ Q ] Cuándo agregarán algo más?
Ans: No podemos decir qué le vamos a agregar o no y tampoco tiempos establecidos.

[ Q ] Cuándo sacarán otra version del kernel?
Ans: No pregunten por tiempos. Saldrán cuando salgan.

[ Q ] oohh este kernel tiene tantas cosas… qué significan? Cómo ayudan? Qué tan útiles son?
Ans: ver la sección de TIPs para links y algunos threads/post relevantes que ayudan a explicar. Sino, usen Google.

[ Q ] Muchachos, amo su trabajo!! Puedo seguirlos en facebook o twitter?
Ans: Te lo agradecemos, pero NO. No propiciamos el fanatismo pero sí aceptamos amablemente donaciones para seguir hacienda estas cosas

[ TIPs ]

useful links and tips will be added here

Useful info on CPU governors and I/O Schedulers
General Q&A thread for users of this kernel

http://forum.xda-dev…d.php?t=1358632

Fuente:
Posteado por Uan_ar grupo android
http://www.grupoandroid.com/topic/34088-roms-ginger-236-team-utter-chaos-kernel-v15-notifications-24062012-y-explicacion-governors/

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.