ROMs y desarrollo Samsung Galaxy S I9000 ROMs y desarrollo Samsung Galaxy S I9000

Respuesta
 
Herramientas
  #1  
Viejo 04/04/12, 13:35:32
Array

[xs_avatar]
zadock zadock no está en línea
Equipo de HTCMania
· Votos compra/venta: (5)
 
Fecha de registro: feb 2011
Mensajes: 50,549
Modelo de smartphone: Mi 9T Pro
Tu operador: Movistar
Post Governors, I/O Schedulers y configuraciones de los governors

El objetivo de este hilo es aprender un poco más acerca de la configuración de los kernels y de sus parámetros.

Viendo que por estos lugares no tenemos nada referente a las configuraciones de los diferentes governos que vienen en los kernels, me he decidido a terminar con esto y que todo el mundo pueda tener una noción básica al respecto.

En primer lugar hay que decir que la información la he sacado de este hilo de XDA creado por droidphile y que todo el mérito va para él principalmente. Yo simplemente me he limitado a traducirlo como buenamente he podido, y puede que haya alguna cosa que no esté del todo clara.

El hilo está dividido en tres partes (desde aquí se puede ir a cualquiera de ellas):

No pretende ser un tutorial, ni un hilo en el que preguntar qué es un governor o un scheduler o para cómo se configura un kernel, etc. Simplemente es una guía para entender y tener claros algunos de los parámetros que nos brindan los kernels para poder configurarlos a nuestros gusto y exprimir al máximo el potencial de los mismos, y de nuestros teléfonos.


GOVERNORS

Primeramente vamos a hablar de los governors más conocidos, los que suelen incluir la mayoría de los kernels. Un kernel no tiene por que incluir todos estos, eso depende del desarrollador. Son los siguientes:


1) Ondemand
2) Ondemandx
3) Conservative
4) Interactive
5) Interactivex
6) Lulzactive
7) Smartass
8) SmartassV2
9) Intellidemand
10) Lazy
11) Lagfree
12) Lionheart (*)
13) LionheartX (*)
14) Brazilianwax (*)
15) SavagedZen
16) Userspacce
17) Powersave
18) Performance

(*) Los menciono pero no voy a hablar de ellos, ya que no se suelen utilizar.



1) Ondemand

Es el governor por defecto en la mayoría de los kernels stock. Uno de los objetivos principales del Ondemand es que cambia a la máxima frecuencia tan pronto como haya actividad en la CPU para asegurar la capacidad de respuesta del sistema, para que se entienda funciona en plan “lo importante es el rendimiento aquí y ahora”. Por lo tanto, escala a la máxima frecuencia cuando la CPU está trabajando y decrece gradualmente cuando la CPU se va quedando más libre. A pesar de que muchos consideran Ondemand como un governor fiable, se queda a mitad de camino entre ofrecer un buen rendimiento del teléfono y un ahorro de batería.


2) Ondemandx

Este governor se supone que es mejor que el Ondenand en cuanto a gasto de batería. Cuando la pantalla está apagada, la frecuencia máxima está limitada a 500 mhz. Aunque Ondemand es el governor por defecto en varios kernels y es considerado como seguro y estable, el soporte para Ondemand/OndemandX depende de la capacidad de la CPU para hacer rápidas variaciones de frecuencia.


3) Concervative

Es un Ondemand más lento que escala frecuencias más lentamente para ahorrar batería. Funciona como aquel, al ajustar dinámicamente las frecuencias según la utilización del procesador. Sin embargo, el Conservative aumenta y disminuye la velocidad de la CPU más gradualmente. Más fácil de entender, este governor aumenta la frecuencia de la CPU paso por paso (100mhz>200mhz>400mhz>etc), y salta a la frecuencia más baja cuando la CPU entra en idle (1000mhz>100mhz).


4) Interactive

Se puede considerar con un Ondemand rápido. Al ser más rápido gasta más batería. Tiene las siguientes ventajas:
  • Escala frecuencias de manera más consistente, debido a que los otros governors hacen su muestreo de carga de la CPU en un contexto de espera (primero uno, hasta que no acabe con ese no pasa el siguiente), pero el Interactive asigna unos tiempos a cada muestreo haciéndolo más consistente.
  • Mayor prioridad para el incremento de frecuencia de la CPU, dando así un mayor beneficio al incremento de rendimiento.

5) Interactivex

Es un Interactive con un perfil de arranque. Más ahorro de la batería que el Interactive.


6) Lulzactive

Está basado en los governors Interactive y Smartass y es uno de los más usados.

Versión antigua
Cuando la carga de la CPU es igual o superior al 60%, el governor hace que la CPU aumente hasta la siguiente frecuencia. Cuando la carga es inferior al 60%, el governor hace que la CPU disminuya hasta la frecuencia anterior a la que está. Cuando la pantalla está apagada, la frecuencia es la mínima a la que esté configurada la CPU.

Versión nueva
Existen tres nuevos parámetros configurables: inc_cpu_load, pump_up_step y pump_down_step. Esto dota de más control por parte del usuario. Podemos establecer el umbral en el que governor decide escalar hacia arriba o hacia abajo. De la misma manera, podemos fijar el número de frecuencias que se saltará hacia arriba o hacia abajo. Por ejemplo: cuando la carga esté por encima del 60% pasar de 200mhz a 800mhz.
Otro ejemplo
Considerad los siguientes parámetros:

inc_cpu_load=70
pump_up_step=2
pump_down_step=1

Si la frecuencia actual=200mhz, cuando la CPU tenga una carga del 70% escalará 2 frecuencias hasta llegar a los 800mhz.
Si la frecuencia actual=1200mhz, cuando la CPU tenga una carga menor al 70% bajará 1 frecuencia hasta llegar a los 1000mhz.

7) Smartass

Es el governor resultante de que Erasmux reescribiese completamente el código del Interactive. El principal objetivo es optimizar la duración de la batería sin comprometer el rendimiento. Aun así, el gasto de batería es algo mayor que el SmartassV2 dado que la frecuencia mínima con la pantalla encendida es mayor que las frecuencias utilizadas con la pantalla apagada. Salta a la máxima frecuencia en intervalos de tiempo muy cortos, y esta operación la repite continuamente.


8) SmartassV2

Es la Versión 2 del Smartass original de Erasmux. Otro de los favoritos de mucha gente. El objetivo de este governor es el de utilizar la frecuencia ideal, y subir de forma bastante agresiva hasta esa frecuencia, para después bajar más suavemente. Usa diferentes frecuencias ideales para perfiles de pantalla apagada/encendida, llamados awake_ideal_freq y sleep_ideal_freq. Este governor baja de frecuencia de CPU muy rápidamente (para alcanzar cuanto antes la sleep_ideal_freq) mientras la pantalla está apagada, y sube de frecuencia de la CPU rápidamente hasta la awake_ideal_freq cuando la pantalla se enciende. No hay un límite superior de frecuencia mientras la pantalla está apagada (a diferencia del Smartass). Por lo tanto, el governor tiene disponible todo el rango entero de frecuencias para usarlas durante los estados de pantalla apagada/encendida. El lema de este governor es un equilibrio entre rendimiento y batería.


9) Intellidemand

Intellidemand, o también conocido como Intelligent Ondemand es otro governor basado en el Ondemand. El Intellidemand original se comporta de manera diferente según el uso de la GPU. Cuando la GPU está realmente ocupada (por juegos, Maps, benchmarking, etc) Intellidemand se comporta como un Ondemand. Cuando la GPU está “idling” (al ralentí, por así decirlo), o no tan ocupada como antes, Intellidemand limita la frecuencia máxima en función de las frecuencias disponibles del dispositivo/kernel para ahorrar batería. Esto se denomina modo de navegación. Podemos apreciar aquí algunos aspectos del governor Interactive. La frecuencia con la que se toman las decisiones de escalar hacia arriba está basada en el tiempo de inactividad de la CPU. Un tiempo de inactividad bajo (<20%) hace que la CPU aumente la frecuencia actual. En resumen, se trata de un Ondemand inteligente que entra en el modo navegación para limintar la frecuencia máxima cuando la GPU entra en inactividad, y se comporta con un Ondemand cuando la GPU está ocupada para ofrecer rendimiento para juegos, por ejemplo. Intellidemand no salta a la frecuencia más alta cuando la pantalla está apagada.


10) Lazy

Este governor creado por Ezekeel es básicamente un Ondemand con unos parámetros adicionales min_time_state para especificar el tiempo mínimo que la CPU está en una frecuencia antes de subirla/bajarla. La idea es eliminar cualquier inestabilidad causada por el rápido cambio que usa Ondemand. Lazy también tiene un parámetro screenoff_mazfreq que cuando está activado hará que el governor siempre seleccione la máxima frecuencia cuando la pantalla está apagada.


11) Lagfree

Lagfree es similar al Ondemand. La única diferencia es que no está optimizado para mejorar el gasto de batería. La frecuencia aumenta y disminuye suavemente, a diferencia del Ondemand. Lagfree no omite ningún escalón en la frecuencia mientras la aumenta o la disminuye. Hay que tener presente que si hay un requerimiento repentino de energía Lagfree no puede satisfacerlo ya que tiene que pasar por todas y cada una de las frecuencias. Algunos usuarios han reportado que la reproducción de vídeo usando Lagfree da algunos pequeños tirones.


12)Lionheart 13) LionheartX 14) Brazilianwax


15) SavagedZen

Es otro governor basado en el SmartassV2. Logra un buen equilibrio entre rendimiento y batería, en comparación con al Brazilianwax.


16) Userspace

En lugar de determinar automáticamente las freuencias, deja a los usuarios elegirlas.


17) Powersave

Bloquea la frecuencia máxima a la mínima frecuencia. No se puede usar como un perfil de pantalla encendida o incluso apagada si la frecuencia mínima es demasiado baja.


18) Performance

Ajusta la mínima frecuencia a la máxima frecuencia. ¡Úsalo mientras haces un benchmarking! :P



PREGUNTAS

P. “Muy bien, basta de explicaciones. Dime qué governor es mejor para rendimiento y cual es mejor para la batería.”

R. Lulzactive y SmartassV2 para un equilibrio entre rendimiento y batería. Para tareas ligeras, Lulzactive debería ser mejor en cuanto a batería, y para tareas más pesadas, Lulzactive debería ser mejor para rendimiento también. Para obtener un rendimiento máximo usa un Ondemand retocado o un Conservative, pero nunca te quejes de la batería entonces. NOTA: no es fácil hacerse con el Lulzactive. Si no estás seguro de cómo configurarlo sigue leyendo los siguientes posts.


P. “Casi lo olvido, ¿cómo puedo cambiar los governors?"

R. La mejor manera es usando un script en init.d si tu kernel está preparado para ello. Otra opción, mucho más fácil, es usando aplicaciones como NSTools, Voltage Control, Pimp my CPU, etc.


P. “¿Cómo se qué governor es el mejor para mí?”

R. Depende de lo que necesites según el uso que le des al teléfono a diario: rendimiento o batería. La mejor elección es un governor que tenga un equilibro entre las dos opciones. O modificar un governor para obtener un mayor rendimiento en detrimento de la batería. Siempre podemos recargar la batería: en el coche cuando vamos al trabajo, en casa por la noche. Lo que no podemos es recargar el rendimiento. Si, como lo oyes. Prueba a disfrutar del teléfono, no le pongas barreras con tal de que gaste menos y te dura la batería 2 o 3 días. Si la batería te aguanta desde que te levantas hasta que te acuestas dale caña.


P. “Bien, he elegido me governor favorito para cuando se enciende la pantalla y otro para cuando se apaga. ¿Por qué el teléfono no se enciende al salir del reposo? Tengo que reiniciarlo pulsando el botón power durante unos 10 segundos…¿He tenido un SOD (sleep of death)?”

R. Si. No uses dos governos distintos para pantalla apagada/encendida si ambos tienen limitada la frecuencia máxima para la pantalla apagada. ¿No lo has entendido?
  • Ejemplo de mala combinación (pantalla encendida/apagada): OndemandX-SmartassV2.
  • Ejemplo de buena combinación: Ondemand-SmartassV2, Lulzaactive-SmartassV2.

P. "Noto cierto lag con un governor. Por ejemplo cuando hago scroll en el menú de aplicaciones o en el navegador web, etc. Me encanta este governor y no me digas que use otro…¿Puedo deshacerme del lag?"

R. Si…puedes. Básicamente lo que tenemos que hacer es que el governor muestree con menos frecuencia cuándo bajar la velocidad de la CPU. Incrementar el tiempo de muestro para bajar la frecuencia hace que la CPU esté durante más tiempo en una misma frecuencia antes de disminuirla. Esto podría eliminar el lag.


P. “Ok, quiero modificar el governor según mi uso habitual, porque no estoy a gusto con la configuración predetermianda.”

R. Se pueden modificar los governors usando un script en init.d, por ejemplo: /sys/devices/system/cpu/cpufreq/name-of-active-governor/name-of-the-paramater-to-tweak. La manera más fácil y cómoda, sin duda, es usando la aplicación NSTools, la cual permite ajustar los parámetros de todos los governors que lo permitan.


P. “Voy a elegir como frecuencia mínima 100 mhz porque mi kernel me da la opción. Espero que no haya nada malo en hacer esto.”

R. ¡Espera! Posiblemente desees no usar la frecuencia mínima de 100 mhz con la pantalla apagada/encendida por tres razones:
  • 100 mhz consume más batería que 200 mhz. Según los test, 100 mhz consumen 1W/Ghz y 200 mhz consumen 0,7W/Ghz.
  • En 200 mhz se pueden hacer las mismas tareas más rápidamente que en 100 mhz y entrar antes en reposo.
Ojo: esta frecuencia mínima es la mejor para el SGS II. En el Motorola Milestone por ejemplo es 550 mhz. En el SGS no lo sé.


P. “¿Cómo hacer mi teléfono más ágil? Me importa la duración de la batería…”

R. Selecciona un rango de 500 mhz a 1200 mhz cuando la pantalla está encendida y uno de 200 mhz a 500 mhz cuando la pantalla está apagada. Usa un Performance o un Conservative/OndemanX modificados. La respuesta del teléfono será excelente y no te preocupes…un mínimo de 500 mhz con la pantalla encendida no gasta tanta batería como piensas.

Última edición por zadock Día 12/04/12 a las 00:12:35.
Responder Con Cita
Los siguientes 207 usuarios han agradecido a zadock su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]


  #2  
Viejo 05/04/12, 17:10:59
Array

[xs_avatar]
zadock zadock no está en línea
Equipo de HTCMania
· Votos compra/venta: (5)
 
Fecha de registro: feb 2011
Mensajes: 50,549
Modelo de smartphone: Mi 9T Pro
Tu operador: Movistar
I/O SCHEDULERS (I/O = Imput/Output)

P. “¿Para qué sirve un I/O Scheduler?”
R.
  • Reducir al mínimo la latencia de búsqueda del disco duro.
  • Dar prioridad a las operaciones de I/O de algunos procesos.
  • Asignar más espacio en disco para los procesos en ejecución.
  • Garantizar que ciertas peticiones se ejecutan antes de un tiempo límite.
Para entenderlo de una forma más simple: el kernel controla los accesos al disco usando un I/O Scheduler (Scheduler = planificador).


P. “¿Qué metas persigue cada I/O scheduler para tratar de conseguir un equilibrio?”
R.
  • Equidad (que cada proceso tenga su parte asignada de acceso al disco).
  • Rendimiento (tratar de atender las solicitudes que se encuentren en primer lugar, haciendo la búsqueda más rádida).
  • Tiempo real (garantizar que las solicitudes son atendidas en un tiempo dado).


1) Noop

Gestiona todas las peticiones siguiendo el método FIFO (First In First Out), o dicho de otra forma, las primeras en llegar son las primeras en salir/ser atentidas. Lo mejor es utilizarlo con dispositivos de almacenamiento que no dependen de movimiento mecánico para acceder a los datos (si, como nuestras tarjetas flash). La ventaja aquí es que las unidades flash no requieren un reordenamiento de las múltiples peticiones I/O, a diferencia de los discos duros normales.
Ventajas
  • Sirve las peticiones I/O con un menor número de ciclos de la CPU (¿mejora de la batería?).
  • Es el mejor para unidades flash.
  • Buen rendimiento en los sistemas db.
Inconvenientes
  • La reducción en el número de ciclos de la CPU es proporcional a la pérdida de rendimiento.

2) Deadline

El objetivo es minimizar la latencia de I/O o la necesidad de una petición. Esto se logra medianta una política de “todos contra todos”, para ser justos entre múltiples peticiones de I/O. Se utilizan 5 colas de espera para reordenar las solicitudes entrantes.
Ventajas
  • Se acerca bastante a un planificador a tiempo real.
  • Excelente en la reducción de latencia de peticiones I/O.
  • El mejor planificador para el acceso a bases de datos y consultas.
  • El requerimiento de “ancho de banda” de un proceso (el porcentaje de CPU que necesita) se puede calcular fácilmente.
  • Al igual que Noop, es un buen planificador para memorias flash.
Inconvenientes
  • Cuando el sistema está sobrecargado, la elección de procesos se puede volver impredecible.

3) CFQ

Completely Fair Queuing (o dicho de manera cutre “cola completamente equitativa”) mantiene una cola de procesos estable, repartiendo el porcentaje necesitado de la CPU en partes iguales entre todas las peticiones I/O. El intervalo de tiempo asignado a cada cola depende de la prioridad del proceso primario.
Ventajas
  • Considerado el mejor ofreciendo un equilibrado rendimiento I/O.
  • El más fácil de configurar.
  • Excelente en sistemas multiprocesador.
  • El mejor rendimiento del sistema en bases de datos, después de Deadline.
Inconvenientes
  • Algunos usuarios reportan que el escáner de medios tarda bastante en completarse usando CFQ. Esto podría deberse a que la distribución del uso de la CPU se reparte equitativamente entre todas las operaciones I/O durante el arranque y no se conceden prioridades.
  • Jitter (el peor caso de retardo) puede llegar a ser alto debido a la cantidad de tareas que necesitan acceso al disco.

4) BFQ

En lugar de asignar intervalo de tiempo como CFQ, BFQ asigna como unos “presupuestos” estimativos. Garantiza el disco para el proceso activo hasta que el presupuesto expira. El presupuesto asignado a un proceso varía con el tiempo como una función de su comportamiento. (la traducción deja mucho que desear, si alguien la puede hacer mejor que me lo comente por PM).
Ventajas
  • Se cree que es muy bueno para la tasa de transferencia de datos vía USB.
  • Se cree que es el mejor scheduler para la grabación de videos de HD y video streaming (por el menor “jitter” en comparación con CFQ y los otros).
  • Es considerado un scheduler I/O muy preciso.
  • Alcanza alrededor de un 30% más de rendimiento que CFQ.
Inconvenientes
  • No es el mejor scheduler para hacer benchmarking.
  • El mayor “presupuesto” asignado a un proceso puede afectar a la experiencia de usuario y aumentar la latencia (retardos).

5) SIO

Es un scheduler I/O simple cuyo objetivo es mantener unos consumos mínimos y lograr un escaso restardo al atender solicitudes. Sio es una mezcla entre Noop y Deadline. No existe un reordenamiento de las peticiones.
Ventajas
  • Simple, muy seguro.
  • Minimiza la necesidad de atención de las solicitudes.
Inconvenientes
  • Velocidades lentas de lectura en memorias flash, en comparación con los otros schedulers.
  • La velocidad de las lecturas secuenciales en memorias flash tampoco es buena.

6) V(R)

A diferencia de los otros schedulers, las peticiones síncronas y asíncronas no se tratan de forma separada. La siguiente solicitud en ser atendida será la que más cercana esté a la última atendida.
Ventajas
  • Quizás es el mejor para benchmarking porque en el mejor de sus comportamientos el rendimiento es mejor.
Inconvenientes
  • Los resultados de las variaciones de rendimiento pueden ser que esté por debajo del promedio a veces.
  • Menos fiable y más inestable.


PREGUNTAS

P. “¿Cuál es el mejor I/O Scheduler?

R. No hay ninguno mejor que otro. Depende del uso que le des y las aplicaciones y tareas que tengas en ejecución, usa diferentes schedulers. Es lo mejor que te puedo decir. Sin embargo, considerando un rendimiento general, batería, fiabilidad y menos retardo, se piensa que SIO > Noop > Deadline > VR > BFQ > CFQ, considerando que todos los schedulers son modificables y el almacenamiento usado es una memoria flash.


P. “¿Cómo puedo cambiar los I/O Schedulers?”

R. Con aplicaciones como NSTools o Voltage Control por ejemplo, ambas en el Market.

Última edición por zadock Día 10/04/12 a las 13:34:43.
Responder Con Cita
Los siguientes 158 usuarios han agradecido a zadock su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #3  
Viejo 05/04/12, 23:47:50
Array

[xs_avatar]
zadock zadock no está en línea
Equipo de HTCMania
· Votos compra/venta: (5)
 
Fecha de registro: feb 2011
Mensajes: 50,549
Modelo de smartphone: Mi 9T Pro
Tu operador: Movistar
Parámetros y ajustes

Solo voy a poner éstos para Ondemand, Conservative, SmartassV2, Lulzactive e Interactive ya que son los governors más utilizados.

Diferentes governors tendrán diferentes parámetros, pero es fácil entenderlos. Normalmente un governor tendrá:
  1. Tiempo/frecuencia de muestreo (Sampling Time/Rate): medido en µs y según la cual la función de muestreo determina la frecuencia para "sondear" y decidir si la misma debe ser reducida o incrementada. Algunos governors tendrán diferentes tiempos de muestreo tanto para aumentar como disminuir.
  2. Umbrales (Thresholds): medidos en porcentaje. Cuando la carga de la CPU alcanza este punto, el governor aumenta o disminuye la frecuencia de la misma.
Hay muchos otros parámetros, pero todos están relacionados de alguna manera con estos dos, principalmente.

Antes de seguir, personalmente, recomiendo el uso de la aplicación NSTools, gratis en la Play Store.



1. ONDEMAND

Parámetros
  1. sampling_rate: medido en µs, es la manera en que el kernel revisa el uso que está teniendo la CPU y tomar decisiones sobre qué hacer con la frecuencia. Valores altos significa que se muestrea con menos frecuencia la CPU.
  2. up_threshold: medido en porcentaje. Cuando la carga de la CPU alcanza este punto, el governor aumentará la frecuencia de la CPU. Valores altos significan menos capacidad de respuesta y valores más bajos al revés, pero a costa de más batería.
  3. powersave_bias: el valor por defecto es 0. Establecer un valor alto llevará al governor hacia frecuencias más bajas. Úsalo si quieres que la CPU pase el menor tiempo posible en frecuencias altas. Una mejor alternativa podría ser hacer UC (underclock) a una frecuencia menor en vez de usar este parámetro.
  4. sampling_down_factor: en su forma simple, sampling_down_factor determina cada cuanto la CPU debe permanecer en las frecuencias altas cuando esté realmente ocupada. El comportamiento por defecto es un cambio rápido a las frecuencias más bajas. Por defecto el valor asociado a este parámetro es 1, pero al elegir un valor mayor hace que actúe como un multiplicador ( 2=x2, 3=x3, 70=x70, etc.) del intervalo en el que se re-evalúa la carga de la CPU, cuando está en su frecuencia más alta. Esto mejora el rendimiento. Esta modificación no tiene efecto sobre bajas frecuencias y cargas de la CPU. Ayuda a que la CPU se mantenga siempre en frecuencias altas cuando tiene una carga alta.


Ejemplos de configuración

Batería

Para obtener un ahorro de batería, selecciona valores altos de up_threshold y sampling_rate. De esta manera los muestreos se harán con menos frecuencia, lo mismo que las subidas/bajadas de frecuencia.
  • up_threshold = 95
  • sampling_rate = 120000
  • sampling_down_factor = 1

Rendimiento


Para obtener mayor rendimiento, selecciona valores bajos de up_threshold y sampling_rate. De esta manera, el muestreo y las subidas/bajadas se harán más a menudo.
  • up_threshold = 70
  • sampling_rate = 50000
  • sampling_down_factor = 2

LULZACTIVE

Parámetros
  1. inc_cpu_load: en la versión anterior este parámetro estaba fijado en 60. Actualmente es configurable por parte del usuario. Es la frecuencia a la cual el governor escala en la CPU hacia arriba/abajo. Si la carga es menor que el número que hemos fijado, la CPU baja de frecuencia y al revés si la carga es mayor.
  2. pump_up_step: número de "escalones" (cada escalón es una frecuencia: 100 mhz, 200 mhz, etc.) que aumenta la frecuencia cuando la carga es mayor que inc_cpu_load.
  3. pump_down_step: número de escalones que disminuye la frecuencia cuando la carga es menor que inc_cpu_load.
  4. screen_off_min_step: pasos en la tabla de frecuencias para ser usados cuando la pantalla está apagada. Ejemplo: si las frecuencias disponibles son 1600, 1400, 1200, 1000, 800, 400, 200, 100 (L0 a L7) y el screen_off_min_step=5 entonces 100, 200 y 400 (L5 a L7) serán usadas mientras la pantalla está apagada dependiendo de la necesidad.
  5. up_sample_time: tiempo de muestreo para subir la frecuencia de la CPU (valores entre 10.000 y 50.000).
  6. down_sample_time: tiempo de muestreo para bajar la frecuencia de la CPU (valores entre 10.000 y 100.000).

Ejemplos de configuración


Batería

Esta modificación hace que se aumente gradualmente la frecuencia de la CPU y se disminuya rápidamente.
  • inc_cpu_load = 90
  • pump_up_step = 1
  • pump_down_step = 2
  • up_sample_time = 50000
  • down_sample_time = 40000
  • screen_off_min_step = 5
Rendimiento

Esta modificación hace que se aumente la frecuencia de la CPU rápidamente y baje de forma gradual.
  • inc_cpu_load = 60
  • pump_up_step = 4
  • pump_down_step = 1
  • up_sample_time = 10000
  • down_sample_time = 70000
  • screen_off_min_step = 5
Equilibrio entre batería y rendimiento

Esta modificación hace que se muestree más a menudo y se suban 4 escalones sobre la frecuencia actual, pero solo cuando se alcanza el 90% de carga de la CPU. La CPU baja de frecuencia de manera normal.
  • inc_cpu_load = 90
  • pump_up_step = 4
  • pump_down_step = 1
  • up_sample_time = 10000
  • down_sample_time = 40000
  • screen_off_min_step = 5

SMARTASSV2

Parámetros
  1. awake_ideal_freq: es la frecuencia hasta la cual la CPU sube rápidamente al encenderse la pantalla (estando anteriormente apagada). Después de esto la subida es menos agresiva.
  2. sleep_ideal_freq: es la frecuencia hasta la cual la CPU baja rápidamente cuando la pantalla se apaga. Después de esto, la bajada es menos agresiva.
  3. up_rate: es la mínima cantidad de tiempo que se pasa en una frecuencia, antes de subirla. (Ignorado por debajo de la awake_ideal_freq ya que el governor necesita aumentar rápidamente la frecuencia cuando está por debajo de este parámetro).
  4. down_rate: es la mínima cantidad de tiempo que se pasa en una frecuencia, antes de bajarla. (Ignorado por encima de la sleep_ideal_freq ya que el governor necesita bajar rápidamente la frecuencia cuando está por encima de este parámetro).
  5. max_cpu_load: lo mismo que la up_threshold en otros governors.
  6. min_cpu_load: lo mismo que la down_threshold en otros governors.
  7. ramp_down_step: es la frecuencia que se establece cuando se baja de la frecuencia ideal. Un valor 0 deshabilita este parámetro. Cuando se está por encima de la frecuencia ideal siempre bajaremos a ésta.
  8. ramp_up_step: es la frecuencia que se establece cuando estamos por encima de la frecuencia ideal. Un valor 0 deshabilita este parámetro.
  9. sleep_wakeup_freq: es la frecuencia a elegir cuando salimos del modo "sleep". Cuando ponemos un valor 0 no tiene efecto.

Ejemplos de configuración


Batería
  • awake_ideal_freq = 500000
  • sleep_ideal_freq = 200000
  • sleep_wakeup_freq = 500000
  • max_cpu_load = 85
  • min_cpu_load = 70
  • ramp_up_step = 200000
  • ramp_down_step = 200000
  • up_rate = 48000
  • down_rate = 49000
Rendimiento
  • awake_ideal_freq = 800000
  • sleep_ideal_freq = 200000
  • sleep_wakeup_freq = 800000
  • max_cpu_load = 75
  • min_cpu_load = 45
  • ramp_up_step = 0
  • ramp_down_step = 0
  • up_rate = 24000
  • down_rate = 99000

CONSERVATIVE

Parámetros
  1. down_threshold: ya descrito en los otros governors.
  2. up_threshold: ya descrito en los otros governors.
  3. sampling_down_factor: ya descrito en los otros governors.
  4. sampling_rate: ya descrito en los otros governors.
  5. freq_step: medido como en porcentaje de la máxima velocidad de la CPU, define cuánto se incrementará la velocidad de la CPU cada vez que ésta alcance el valor de up_threshold.
Ejemplos de configuración

Batería

Selecciona un valor bajo para freq_step para ahorrar batería.
  • up_threshold = 95
  • sampling_rate = 120000
  • sampling_down_factor = 1
  • down_threshold = 40
  • freq_step = 10
Rendimiento

Para nada es irónico el configurar un governor Conservative para obtener un mayor rendimiento.
  • up_threshold = 60
  • sampling_rate = 40000
  • sampling_down_factor = 5
  • down_threshold = 20
  • freq_step = 25

INTERACTIVE

Parámetros
  1. hispeed_freq: el valor por defecto es scaling_max_freq.
  2. go_hispeed_load: va a la velocidad más alta cuando la carga de la CPU es igual o superior a este valor (similar a up_threshold en otros governors).
  3. min_sample_time: la cantidad mínima de tiempo que pasamos en una frecuencia antes de bajarla.
  4. timer_rate: frecuencia de muestreo usada para incrementar la velocidad de la CPU.

Ejemplos de configuración


Batería
  • go_hispeed_load = 95
  • hispeed_freq = 1000000
  • min_sample_freq = 10000
  • timer_rate = 40000
Rendimiento
  • go_hispeed_load = 80
  • hispeed_freq = 1400000
  • min_sample_freq = 40000
  • timer_rate = 20000

Última edición por zadock Día 22/02/13 a las 11:27:26.
Responder Con Cita
Los siguientes 144 usuarios han agradecido a zadock su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #4  
Viejo 05/04/12, 23:51:58
Array

[xs_avatar]
borjaag borjaag no está en línea
Usuario muy activo
 
Fecha de registro: may 2010
Mensajes: 1,208

Pedazo de trabajo que te has pegado tío!

Lo estudiaré con detenimiento
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 06/04/12, 00:06:32
Array

[xs_avatar]
deeelite deeelite no está en línea
Usuario muy activo
· Votos compra/venta: (2)
 
Fecha de registro: dic 2010
Localización: Madrid
Mensajes: 4,584
Modelo de smartphone: Galaxy S3 I9500/Galaxy Nexus I9250/Galaxy S I9000/Galaxy Tab 10.1 P-7500
Tu operador: Amena
Buen aporte zadock,hacia falta algo asi,gracias.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a deeelite su comentario:
  #6  
Viejo 06/04/12, 00:10:20
Array

[xs_avatar]
Nonamed Nonamed no está en línea
Colaborador/a
· Votos compra/venta: (4)
 
Fecha de registro: feb 2011
Localización: Madrid
Mensajes: 175,527

Buena zadock!
Ahora ya puedo cambiar de mi firma el post guiri por este!
Cuando pueda lo hago!

Un abrazo tio
Responder Con Cita
Los siguientes 2 usuarios han agradecido a Nonamed su comentario:
  #7  
Viejo 06/04/12, 00:11:49
Array

[xs_avatar]
Cabessius Cabessius no está en línea
Usuario muy activo
 
Fecha de registro: may 2009
Localización: Ibiza
Mensajes: 1,500
Modelo de smartphone: XIAOMI MI 9 6/128 - Nexus 7 2013 - XIAOMI Mi Max
Tu operador: Simyo
Muy bueno, a este paso nos van a dar a todos un "Master en Flasheos".
Responder Con Cita
Gracias de parte de:
  #8  
Viejo 06/04/12, 00:21:48
Array

[xs_avatar]
Nonamed Nonamed no está en línea
Colaborador/a
· Votos compra/venta: (4)
 
Fecha de registro: feb 2011
Localización: Madrid
Mensajes: 175,527

Este hilo ya fijo entre mis favoritos, me encanta el tema este, me he leido de arriba abajo el post de xda, bueno la parte para galaxy o aplicable a el mejor dicho, porque hay algunos govs que jamas veréis, y eso que zadock ha eliminado unos cuantos, y schedulers que ya están usandose cada vez menos por no decir nada como cfq, aunque todo configurado como debe, dependiendo de lo que se busque, dará resultado.

Va empiezo yo:
Los scheduler mas fluidos para mi, Deadline y VR, pero vr es algo inestable.
Responder Con Cita
Gracias de parte de:
  #9  
Viejo 06/04/12, 00:31:16
Array

[xs_avatar]
zadock zadock no está en línea
Equipo de HTCMania
· Votos compra/venta: (5)
 
Fecha de registro: feb 2011
Mensajes: 50,549
Modelo de smartphone: Mi 9T Pro
Tu operador: Movistar
El tema es tener una guía para la gente que no esté muy familiarizada con todo esto. Lo suyo, y lo dejaré claro en el primer post es que este hilo no sea un tutorial o sea para dudas sobre qué es un governor, scheduler y cual es el mejor

Igual me caliento y pongo una encuesta más adelante.
Responder Con Cita
Los siguientes 4 usuarios han agradecido a zadock su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #10  
Viejo 06/04/12, 00:34:30
Array

[xs_avatar]
Nonamed Nonamed no está en línea
Colaborador/a
· Votos compra/venta: (4)
 
Fecha de registro: feb 2011
Localización: Madrid
Mensajes: 175,527

Osea, me dejas debatir y exponer sobre los govs y scheds sin problema?
Comentar las ventajas de uno, configuraciones de otro, etc?

O eso no se puede? Y me vas a hacer la vida imposible
Responder Con Cita
  #11  
Viejo 06/04/12, 00:35:26
Array

[xs_avatar]
pirri_mori pirri_mori no está en línea
Betatester oficial
· Votos compra/venta: (3)
 
Fecha de registro: mar 2011
Localización: España
Mensajes: 5,876
Modelo de smartphone: 1+1
Tu operador: Yoigo
Lo flipo en colores
Si antes tenia dudas en poner uno u otro,ahora ya si que me has liado por completo.
Muy buen trabajo compi,una ayuda tremenda,seguire con mi smartassv2 por que no se ni por donde cogerlo jeje.
Saludos.
Responder Con Cita
Los siguientes 2 usuarios han agradecido a pirri_mori su comentario:
  #12  
Viejo 06/04/12, 00:39:24
Array

[xs_avatar]
kronos_pl kronos_pl no está en línea
Usuario muy activo
 
Fecha de registro: feb 2012
Localización: Torrevieja
Mensajes: 684
Modelo de smartphone: LG G3 ,MOTO G 2014 huawei p 30 samsung a70
Tu operador: Yoigo
Muy buena idea Zadock ,asi las cosas seran un poco menos liosos en esos temas.
Muy buen curro gracias.
Responder Con Cita
Gracias de parte de:
  #13  
Viejo 06/04/12, 00:39:43
Array

[xs_avatar]
Nonamed Nonamed no está en línea
Colaborador/a
· Votos compra/venta: (4)
 
Fecha de registro: feb 2011
Localización: Madrid
Mensajes: 175,527

 Cita: Originalmente Escrito por pirri_mori Ver Mensaje
Lo flipo en colores
Si antes tenia dudas en poner uno u otro,ahora ya si que me has liado por completo.
Muy buen trabajo compi,una ayuda tremenda,seguire con mi smartassv2 por que no se ni por donde cogerlo jeje.
Saludos.
Es que ese es un gov standard,a caballo entre bateria y fluidez, muy compensado, escala muy rapido de freq y también desciende rápido cuando el sistema no lo necesita.
Pasa de dormir bien con pantalla apagada a ponerse a 1000 al activar y ya bajar gradualmente, pero si apagas pantalla cae hasta 100 y evita mas tiempo en otras frecuencias.

Aquí hay chichaaaaa
Responder Con Cita
Los siguientes 2 usuarios han agradecido a Nonamed su comentario:
  #14  
Viejo 06/04/12, 00:45:07
Array

[xs_avatar]
zadock zadock no está en línea
Equipo de HTCMania
· Votos compra/venta: (5)
 
Fecha de registro: feb 2011
Mensajes: 50,549
Modelo de smartphone: Mi 9T Pro
Tu operador: Movistar
 Cita: Originalmente Escrito por nonamedandroid Ver Mensaje
Aquí hay chichaaaaa
Espérate a que ponga las configuraciones de los parámetros de cada governor...bueno de los más usados...ahí si que hay chicha.

El hilo está para eso, primero para saber un poco más de todo esto, y luego que cada uno si quiere exprese su opinión sobre lo que lleva dando sus razones o lo que quiera
Responder Con Cita
  #15  
Viejo 06/04/12, 00:46:15
Array

[xs_avatar]
pirri_mori pirri_mori no está en línea
Betatester oficial
· Votos compra/venta: (3)
 
Fecha de registro: mar 2011
Localización: España
Mensajes: 5,876
Modelo de smartphone: 1+1
Tu operador: Yoigo
 Cita: Originalmente Escrito por nonamedandroid Ver Mensaje
Es que ese es un gov standard,a caballo entre bateria y fluidez, muy compensado, escala muy rapido de freq y también desciende rápido cuando el sistema no lo necesita.
Pasa de dormir bien con pantalla apagada a ponerse a 1000 al activar y ya bajar gradualmente, pero si apagas pantalla cae hasta 100 y evita mas tiempo en otras frecuencias.

Aquí hay chichaaaaa
Joder macho,de verdad que sois la ost...
Yo me quedo a cuadros viendo como hablais de esto como el que habla de cambiar la rueda del coche.Yo es que no tengo ni pajolera idea,solo porngo el smartassv2 con la fecuencia maxima a 1000 y minima a 100(bueno despues de leer el post,lo dejo a 200 que es lo unico que me he enterado) y activo los leds,todo desde el nstools,todo lo demás no se ni tocarlo,aun leyendo esto y seguro que me iría el movil increiblemente bien,porque ahora no me va nada mal...
Responder Con Cita
  #16  
Viejo 06/04/12, 00:50:03
Array

[xs_avatar]
pirri_mori pirri_mori no está en línea
Betatester oficial
· Votos compra/venta: (3)
 
Fecha de registro: mar 2011
Localización: España
Mensajes: 5,876
Modelo de smartphone: 1+1
Tu operador: Yoigo
 Cita: Originalmente Escrito por zadock Ver Mensaje
Espérate a que ponga las configuraciones de los parámetros de cada governor...bueno de los más usados...ahí si que hay chicha.

El hilo está para eso, primero para saber un poco más de todo esto, y luego que cada uno si quiere exprese su opinión sobre lo que lleva dando sus razones o lo que quiera
Si pones las configuraciones ya si que te pongo un monumento jajaja,eso es lo que me hace falta a mi,solo poner las cosas en el nstool y que funcione,porque creo que por mucho que lea no me voy a enterar.
Saludos.
Responder Con Cita
  #17  
Viejo 06/04/12, 00:52:06
Array

[xs_avatar]
Nonamed Nonamed no está en línea
Colaborador/a
· Votos compra/venta: (4)
 
Fecha de registro: feb 2011
Localización: Madrid
Mensajes: 175,527

 Cita: Originalmente Escrito por zadock Ver Mensaje
Espérate a que ponga las configuraciones de los parámetros de cada governor...bueno de los más usados...ahí si que hay chicha.

El hilo está para eso, primero para saber un poco más de todo esto, y luego que cada uno si quiere exprese su opinión sobre lo que lleva dando sus razones o lo que quiera
Vas a poner configuraciones en plan :
Deadline + conservative = fluidez que te cagas?

O piensas poner hasta el tema de los parámetros tipo:

Awake_ideal_freq
Sampling_rate
Sampling_down_factor
Y toda esta pesca?
Responder Con Cita
  #18  
Viejo 06/04/12, 01:02:13
Array

[xs_avatar]
zadock zadock no está en línea
Equipo de HTCMania
· Votos compra/venta: (5)
 
Fecha de registro: feb 2011
Mensajes: 50,549
Modelo de smartphone: Mi 9T Pro
Tu operador: Movistar
 Cita: Originalmente Escrito por nonamedandroid Ver Mensaje
O piensas poner hasta el tema de los parámetros tipo:

Awake_ideal_freq
Sampling_rate
Sampling_down_factor
Y toda esta pesca?
Toda esa pesca...explicar cada uno de los parámetros y poner la configuración para ahorro de batería y la otra para rendimiento, vamos, como viene en el hilo original, pero traducido, o por lo meno intentarlo...

Ahí si que va a haber trabajillo.
Responder Con Cita
Los siguientes 3 usuarios han agradecido a zadock su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]
  #19  
Viejo 06/04/12, 01:05:56
Array

[xs_avatar]
Nonamed Nonamed no está en línea
Colaborador/a
· Votos compra/venta: (4)
 
Fecha de registro: feb 2011
Localización: Madrid
Mensajes: 175,527

 Cita: Originalmente Escrito por zadock Ver Mensaje
Toda esa pesca...explicar cada uno de los parámetros y poner la configuración para ahorro de batería y la otra para rendimiento, vamos, como viene en el hilo original, pero traducido, o por lo meno intentarlo...

Ahí si que va a haber trabajillo.
Madre mía, tu estas loco, menudo mercaillo vas a montar entonces de dudas, esto va a ser un berenjenal rico rico y con fundamento jajajaja.

Enhorabuena, me encanta, porque aún no tengo tiempo para traducir, pero para lo que quieras cuenta conmigo
Responder Con Cita
Gracias de parte de:


  #20  
Viejo 06/04/12, 01:26:21
Array

[xs_avatar]
zadock zadock no está en línea
Equipo de HTCMania
· Votos compra/venta: (5)
 
Fecha de registro: feb 2011
Mensajes: 50,549
Modelo de smartphone: Mi 9T Pro
Tu operador: Movistar
Gracias por el ofrecimiento, lo tendré en cuenta. Ya sabes que si tienes un rato me avisas

Mañana estaré fuera todo el día, y el sábado no se cómo andaré, pero el domingo ya estoy libre.
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Foros Samsung > Otros smartphones de Samsung antiguos > Samsung Galaxy S I9000 > ROMs y desarrollo Samsung Galaxy S I9000



Hora actual: 17:38:53 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /