La mejora de la Exynos 9810 Galaxy S9: Parte 2 - Ponerse al día con el Snapdragon

Después de nuestra revisión de la Galaxy S9 ha habido mucha discusión sobre el rendimiento y la duración de la batería del Exynos 9810 variantes del Galaxy S9. En la revisión original que había identificado algunos temas clave con la plataforma por la que había considerado el más negativamente atribuir a las malas características del teléfono. En una primera pieza después de la revisión Hice algunos cambios menores en el kernel que ya parecían haberse beneficiado duración de la batería en nuestra prueba de navegación web, y cambiando ligeramente las características de funcionamiento del teléfono para el positivo.

En ese artículo anterior señalé que hay mucho por hacer para mejorar el rendimiento del teléfono más allá y tratar de optimizar duración de la batería. Especialmente en cuanto al rendimiento de las cosas que había en mi opinión muy baja altura frutos en términos de los posibles cambios que se beneficiaría de la experiencia de usuario.

Centrándose en Rendimiento

Para esta segunda parte me puse a tratar de recuperar el mejor rendimiento posible y que coincide con el Snapdragon 845 variante del Galaxy S9, sin dejar de mantener un ojo en la vida de la batería.

Galaxy Samsung S9 (E9810)
Kernel de comparación y de cambios
Versión Los cambios y Notas
firmware oficial Como Enviado - De la configuración y el comportamiento
- Solo núcleo M3 en 2704 megahercio
- Dual Core M3 en 2314 megahercio
- Quad Core M3 en 1794 megahercio
'CPU Limited
Modo'
- Opcional Modo CPU definido por Samsung en Ajustes
- CPU limitado a 1469 megahercio
- controlador de memoria a media velocidad
- Programador conservadora
configuración personalizada 1 - Comience con firmware 'como se envía'
- Retire mecanismo de conexión en caliente
- M3 límite de frecuencia de pico a 1794MHz en cualquier carga
configuración personalizada 2
(Fuente Kernel)
- Elevar poco la frecuencia del núcleo a 1950MHz
- Elevar gran frecuencia mínima núcleo a 962MHz
- Adaptar las tablas de costos de EAS basados ​​en perf medidos & poder
- Combinar parches planificador a 4,9-EAS-dev (Hasta Jan18)
- Backport PELT util_est y utilizarlo
- Backport PELT cambio velocidad de decaimiento a 16ms
- Adaptar / ya no son necesarios Samsung sched (Util) mods desactivar
- modificaciones personalizadas de menor importancia para la sintonización
configuración personalizada 3 - Elevar la frecuencia del núcleo grande a 2314MHz & ajustes pertinentes

Como punto de partida seguimos en donde lo dejamos en parte 1, que era extremadamente sencillo como los únicos cambios fueron la eliminación de todas las frecuencias de impulso por encima de 1,8 GHz sobre los núcleos M3 y deshabilitar el núcleo en línea / controlador hotplugging.

En la revisión original el problema más evidente que he identificado en términos de afectar gravemente el rendimiento del teléfono fue la forma en que el dispositivo era extremadamente lento en cuanto a la ampliación de la frecuencia, así como la migración de las discusiones en los grandes núcleos. Los valores originales que he descrito eran alrededor de 410ms para una carga de trabajo continua en estado estacionario para alcanzar realmente la frecuencia máxima de los grandes núcleos. Este fue un gran contraste con los 65 ms de la Boca de Dragón 845 variante. Ajuste todas las demás cosas a un lado esto es lo que se limita el rendimiento interactivo de los Exynos 9810 la mayor parte, por lo que, naturalmente, que es lo que queremos fijar en primer lugar,.

La programación de la historia en torno a EAS

Como un poco de historia de fondo, desde que hace de introducción de Big.little varios años, el mayor objetivo para ARM ha sido tener vendedores SoC ejecutan las CPU heterogéneos con un programador inteligente que estar al tanto de las características de rendimiento y energía de los distintos CPU. Éste era un buen objetivo de tener, pero el camino para llegar allí ha estado en mi opinión nada menos que un desastre. El enfoque de ARM fue tratar de hacer el trabajo en el núcleo de Linux aguas arriba o dentro del núcleo del grupo de trabajo Linaro. Por desgracia, en los últimos años y retrasa mucho el bombo que la energía programación conscientes (EAS) aportaría terminó con un fiasco cuando se trataba de envío de dispositivos comerciales. Creo que Qualcomm estaba en la pelota aquí, ya que incluso tan pronto como 2015 para el Snapdragon 810, y hemos cubierto ampliamente lo que la compañía estaba tratando de hacer para resolver las cuestiones relativas a EAS.

Un componente clave para permitir la programación a través de las CPU heterogénea es la capacidad para que el programador saber realmente la actividad y la carga de las tareas individuales, en lugar de solamente conocer la utilización general de la CPU. Si sabes de carga de una tarea individual, a continuación, puede tomar decisiones de programación en el que la masa núcleos de CPU para colocarlo. Esto se implementó originalmente a través del mecanismo PELT (Per-entidad de seguimiento de carga) en el núcleo de Linux y es lo que se utiliza para las decisiones de migración tanto en HMP y programación EAS.


Exynos 9810 Planta baja. Credito de imagen TechInsights

Otro de los objetivos de larga duración del brazo y de la comunidad Linux era integrar lógica de selección de frecuencia de la CPU dentro del planificador, en lugar de ser un mecanismo separado. Esto se intentó por primera vez en un proyecto llamado schedfreq, y ahora está totalmente integrado en un nuevo gobernador llamada schedutil. Una vez más la aplicación de escala de tiempo que estamos hablando aquí es de varios años, mientras que, al mismo tiempo que estamos viendo varias generaciones de dispositivos de ser enviado con una gran variedad de soluciones.

conjuntos de chips Exynos de S.LSI estaban jugando a lo seguro, y hasta el Exnyos 9810 la compañía acaba optó por mantenerse dentro de un planificador HMP con un gobernador frecuencia de la CPU interactiva separada. Huawei Kirin chipsets nave con EAS, Sin embargo aquí, incluso con los últimos dispositivos como el P20, la empresa renuncia a los gobernadores de frecuencia planificador de la CPU y cae de nuevo a una interactiva tradicional (con muy buenos resultados). Mientras tanto Qualcomm ha avanzado su implementación personalizada y dado un nuevo enfoque llamado WALT (seguimiento de carga Ventana asistida) que es mucho más sensible a PELT. En la Boca de Dragón 835 y 845 este es el mecanismo principal que asegura el mejor rendimiento en términos de selección de la programación y la frecuencia de la CPU.

Artículo original

anuncios

Deja una respuesta

Este sitio utiliza para reducir el spam Akismet. Aprender cómo se procesa sus datos comentario.

Utilizamos cookies para darle la mejor experiencia en línea. Al estar de acuerdo usted acepta el uso de cookies de acuerdo con nuestra política de privacidad.