Samsung GALAXY S Advance Samsung GALAXY S Advance

Respuesta
 
Herramientas
  #1  
Viejo 14/02/14, 19:52:23
Array

[xs_avatar]
revenat revenat no está en línea
Usuario muy activo
 
Fecha de registro: jun 2013
Localización: - Argentina -
Mensajes: 5,041
Tu operador: Claro

Post Como configurar Gobernador "pegasusq"

Bueno chicos, como dice el titulo, a continuacion les voy a dar una breve explicacion de cada parametro configurable del gobernador antes mencionado (pegasusq) y las diferentes maneras de configurarlo; espero q les sea util:

PARÁMETROS "PEGASUSQ"

sampling_rate: frecuencia de muestreo en microsegundos.

up_threshold: cuando la carga de la CPU llega a este punto, la frecuencia de la CPU escalará hacia arriba. Está medido en porcentaje de 1 a 100. Mayor valor significa menos capacidad de respuesta y valores más bajos corresponden a mejor respuesta repercutiendo en el gasto de la batería.

sampling_down_factor: este valor actúa como multiplicador inverso para reducir la frecuencia de muestreo de utilización de la CPU (sampling_rate) cuando el procesador está realmente ocupado y está a la frecuencia máxima. Por ejemplo sampling_rate=10.000 con sampling_down_factor=2: el scheduler tomará muestras de utilización de la CPU cada 20.000 microsegundos. De esta forma se aumenta el tiempo que la CPU está a frecuencias altas cuando está realmente ocupada. Esto mejora el rendimiento mediante la reducción de los gastos generales de la evaluación de la carga y ayudando a la CPU permanecer en su frecuencia más alta cuando está ocupada, en vez de producir un efecto ping-pong en la velocidad. Este parámetro no tiene ningún efecto sobre el comportamiento a bajas frecuencias y bajas cargas de CPU.
Los valores que puede tomar este parámetro son enteros positivos. El valor 1 hace que no haya diferencias de muestreo a frecuencia maxima.

down_differencial: es un factor utilizado para calcular de forma indirecta el escalado hacia abajo del gobernador OnDemand. Se introduce básicamente para evitar que en algunos casos se produzca un efecto ping-pong de escalados abajo-arriba con el consiguiente aumento de consumo. Este parámetro actúa como un factor que previene escalados demasiado agresivos hacia frecuencias bajas.
Los valores que puede tomar este parámetro son enteros positivos. Los valores más altos retrasarán el escalado hacia abajo. Normalmente no son necesarios estos valores altos ya que por la estructura del algoritmo en que interviene este parámetro ya se producen varios redondeos al alza que hacen que la CPU normalmente esté "sobrada" utilizando este gobernador.

freq_step: define cuanto (en % de la máxima velocidad de la CPU) incrementará o disminuirá el gobernador la velocidad de la CPU cada vez que la carga de la CPU llega a un umbral.

cpu_up_rate: número de muestras de la carga que son tomadas para escalar hacia arriba la velocidad de la CPU.
Este parámetro toma valores enteros positivos.

cpu_down_rate: número de muestras de la carga que son tomadas para escalar hacia abajo la velocidad de la CPU.
Este parámetro toma valores enteros positivos.

hotplug_freq_1_1: es la frecuencia umbral a partir de la que se encenderá el segundo núcleo, cuando otras condiciones necesarias también se cumplan.
Se mide en Kilohertzios. Cuanto mayor sea este valos más se retrasará el encendido del segundo núcleo.

hotplug_freq_2_0: es la frecuencia umbral a partir de la que se apagará el segundo núcleo, cuando otras condiciones necesarias también se cumplan.
Se mide en Kilohertzios. Cuanto menor sea este valos más se retrasará el apagado del segundo núcleo.

hotplug_rq_1_1: es el umbral de longitud de la cola de procesos a partir del que se encenderá el segundo núcleo.
Toma valores enteros positivos.

hotplug_rq_2_0:es el umbral de longitud de la cola de procesos a partir del que se apagará el segundo núcleo.
Toma valores enteros positivos.

freq_for_responsiveness: hasta que se llega a "freq_for_responsiveness" el umbral de escalado hacia arriba es "up_threshold_at_min_freq".
También, cuando el procesador está a la frecuencia máxima, el gobernador necesita encontrar cuál será la frecuencia óptima a establecer como siguiente frecuencia, que no desencadene un escalado hacia arriba en el siguiente muestreo. Cuando esta "siguiente frecuencia" resulta ser inferior a "freq_for_responsiveness", no se activará el escalado hacia abajo en la siguiente muestra y "freq_for_responsiveness" se establecerá como "frecuencia óptima"

up_threshold_at_min_freq: es el umbral de escalado hacia arriba cuando estemos en valores de frecuencia menores que "freq_for_responsiveness". Por encima de esta frecuencia se utilizará el umbral normal "up_threshold". Esto nos da la opción de un escalado más agresivo o suave (según las necesidades) hasta una frecuencia y la normal para frecuencias más altas.

ignore_nice_load: si este valor es 1 el sistema no tendrá en cuenta la carga debida a los "procesos de baja prioridad" para cambiar la velocidad del procesador: será útil activar esta opción si no importa el tiempo que se tarden en completar estos procesos.
Nota: los procesos de baja prioridad serán aquellos que así establezca el planificador (I/O Scheduler)
Este parámetro toma valores 0 ó 1.

io_is_busy: este parámetro tiene que ver con el comportamiento y la reacción cuando la pantalla está apagada. El valor 1 hace que el tiempo de espera I/O sea tratado como tiempo ocupado de la CPU y el sistema no estará inactivo (idle).
Este parámetro toma valores 0 ó 1. Un valor 1 puede resultar beneficioso para una reacción más rápida pero puede causar aumento en la frecuencia y por lo tanto del consumo.
Este parámetro toma valores 0 ó 1.

max_cpu_lock: con el valor por defecto 0 se encenderá y apagará el segundo núcleo cuando sea apropiado. Valores de 1 ó 2 especifican el número de núcleos a tener en cuenta para el hotplugging.
Este parámetro toma valores 0, 1 ó 2.

hotplug_lock: con valores diferentes de valor por defecto 0 se cancela el hotplug del segundo núcleo. Si el valor es distinto de 0 sera mayor que el valor "max_cpu_lock"
Este parámetro toma valores 0, 1 ó 2.

Bueno, una vez q quedó en claro esto, pueden proceder a la configuración.

---------------------------------------------

TWEAKS "PEGASUSQ"

* Partimos de la base de que la tabla de frecuencias es de 18 pasos, la frecuencia mínima no es mayor de 200 mhz y la máxima no es menor de 1000 mhz

BATERÍA

up_threshold: 90
up_threshold_at_min_freq: 80
sampling_rate: 60000
sampling_down_factor: 1
down_differential: 5
freq_step: 20
freq_for_responsiveness: 300000
cpu_up_rate: 15
cpu_down_rate: 15
hotplug_freq_1_1: 500000
hotplug_freq_2_0: 300000
hotplug_rq_1_1: 350
hotplug_rq_2_0: 200
ignore_nice_load: 0
io_is_busy: 1
max_cpu_lock: 0
hotplug_lock: 0

RENDIMIENTO

up_threshold: 75
up_threshold_at_min_freq: 65
sampling_rate: 40000
sampling_down_factor: 2
down_differential: 10
freq_step: 60
freq_for_responsiveness: 400000
cpu_up_rate: 10
cpu_down_rate: 20
hotplug_freq_1_1: 400000
hotplug_freq_2_0: 300000
hotplug_rq_1_1: 200
hotplug_rq_2_0: 150
ignore_nice_load: 0
io_is_busy: 1
max_cpu_lock: 0
hotplug_lock: 0

EQUILIBRADO

up_threshold: 80
up_threshold_at_min_freq: 40
sampling_rate: 40000
sampling_down_factor: 2
down_differential: 5
freq_step: 40
freq_for_responsiveness: 200000
cpu_up_rate: 10
cpu_down_rate: 20
hotplug_freq_1_1: 400000
hotplug_freq_2_0: 300000
hotplug_rq_1_1: 300
hotplug_rq_2_0: 200
ignore_nice_load: 0
io_is_busy: 1
max_cpu_lock: 0
hotplug_lock: 0

---------------------------------------------

Puntos a tener en cuenta al tweakear el "Pegasusq"

- El intervalo de muestreo real no es el valor de "sampling_rate", ya que este valor se multiplicará por el número de muestras que se tomen ("cpu_up_rate" o "cpu_down_rate"). Por esta razón si pones valores demasiado altos de "sampling_rate" no ahorraras batería y en cambio sí provocaras lag.

- Deja el valor del down_differencial entre 5 y 10, o al menos entre 5 y 15. La diferencia entre "upthreshold" y "down_differential" está considerado como el porcentaje de la frecuencia actual de la que resultará la frecuencia a la que se escalará hacia abajo cuando la CPU esté en "max_load_frequency" (esta "max_load_frequency" no es la "scaling_max_frequency", sino que es una frecuencia arbitraria algo más baja)

- Los gobernadores basados en OnDemand saltan directamente a la máxima frecuencia demasiado a menudo. una situación donde ocurriría esto es cuando "max_load_freq" sea mayor que el porcentaje "up_threshold" de la frecuencia actual. Por esto es mejor no poner valores demasiado bajos de "up_threshold"

- "sampling_down factor" es el número de muestras que pasarán a la máxima frecuencia de la CPU antes de re-evaluar la carga. Un valor de 1 puede ser bueno para el consumo pero también causará escalados hacia abajo incluso si la CPU está muy ocupada. Un valor compensado es 2. Tampoco es necesario que la CPU permanezca a la máxima frecuencia para siempre...

- Un valor para "freq_step" de 100 anula la razón de su existencia. Podría estar entre 20 y 50/60 dependiendo de tus necesidades. "smooth_scaling" y "freq_step" hacen lo mismo. Usa sólo uno de ellos y no los dos a la vez.

- El valor de "hotplug_freq_1_1" debe ser mayor que "hotplug_freq_2_0". Además, "hotplug_down" debe ser mayor que tu frecuencia mínima o de otra forma el segundo núcleo no se apagaría despues de encenderse.

- Los valores de "hotplug_rq_1_1" y "hotplug_rq_2_0" afectan a las decisiones de encendido y apagado del segundo núcleo basadas en el número de procesos que se encuentren en la cola de ejecución. Manten sus valores entre 200 y 350. Si prefieres que el segundo núcleo se encienda antes y tarde más en apagarse usa valores más bajos.

- "freq_for_responsiveness" es la frecuencia que ayuda a recalcular la "frequency_next" o siguiente frecuencia para escalar hacia abajo a partir de la frecuencia máxima. Cuando esa "frequency_next" es menor que "freq_for_responsiveness" o mediante el escalado hacia abajo hasta esa frecuencia, el siguiente muestreo no va a causar otro escalado hacia abajo, entonces la "frequency_next" será la "freq_for_responsiveness". Esto previene el escalado hasta una frecuencia demasiado baja que cause un escalado hacia arriba en el siguiente muestreo. Una frecuencia correcta para "freq_for_responsiveness" es aquella que se encuentre de la mitad hacia abajo de tu tabla de frecuencias. Para desactivar este parámetro ajústalo a tu frecuencia mínima de escalado.

- "up_threshold_at_min_freq" es el umbral de escalado arriba para frecuencias por debajo de "freq_for_responsiveness". El valor de este parámetro deberá depender de cuan alto o bajo sea tu "freq_for_responsiveness". Si necesitas un escalado suave hasta la "freq_for_responsiveness", usa valores altos para "up_threshold_at_min_freq". Y viceversa.

-----

Fuente: YossYGalaxy - Foro "Samsung Galaxy SII"
__________________
Responder Con Cita


Respuesta

Estás aquí
Regresar   Portal | Indice > Foros Samsung > Otros smartphones de Samsung antiguos > Samsung GALAXY S Advance



Hora actual: 11:49:09 (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 / 邮件联系 /