Streamline es una herramienta gráfica de análisis de rendimiento que muestra datos a modo de informes tanto en formato visual como estadístico. Utiliza contadores de rendimiento de hardware con métricas de kernel para proporcionar una representación precisa de los recursos del sistema objeto de análisis. Esta página wiki describe cómo configurar y ejecutar Streamline y cómo monitorizar el ODROID-GO Advanced.
Resumen
- Instalar DS-5 Community Edition en el PC host
- Compilar el módulo Gator y el Kernel
- Compilar el demonio Gator
- Iniciar Gator en el sistema objeto de análisis y Streamline en el PC host
La Figura 1 muestra una captura de ARM Streamline con ODROID GO Advanced. En unos 48s, se inicia glmark2-es2 y puede ver las transiciones gráficas de los componentes relacionados con Mali.
Usando ARM Streamline, puedes monitorizar los componentes principales de la CPU.
Instalar DS-5 Development Studio
Primero, descárgate DS-5 e instálalo en tu PC Host. Si no tiene ninguna licencia, puede usar DS-5 Community Edition. El instalador lo puedes encontrar en https://developer.arm.com/products/software-development-tools/ds-5-development-studio/editions/community-edition.
Actualmente, la última versión Streamline de DS-5 Community Edition es la v6.7.1, Ésta no soporta una versión superior de gator, por encima de v6.7.1. Solo DS-5 Ultimate, Professional Edition y DS-5 Development Studio admiten la última versión de Gator. Por lo tanto, ten en cuenta que la versión actual de gator para ODROID-GO Advanced será la v6.5.1, hasta que se actualice DS-5 Community Edition.
Compilar el módulo Gator y el Kernel
En la última versión de la imagen de ODROID-GO Advanced, no existe un módulo gator. Se incluirá en la próxima versión oficial, así que recurre a las siguientes opciones si aún no ha sido publicada una nueva versión del sistema operativo.
[Opción 1] Pre-compilar gator.ko:
odroid@odroid:~$ wget https://dn.odroid.com/ODROID_GO_ADVANCE/gator.ko[Opción 2] Compilar un kernel con el conjunto de peticiones relacionadas:
https://github.com/hardkernel/linux/commit/9b681d5c4f23eac9bad17f75ef41a2c4fe4f698b https://github.com/hardkernel/linux/commit/fcd6a0b7a58792917c1cec64fc77ff981243b2ed
Compilar el demonio Gator del espacio de usuario
Para comunicarse con el dispositivo de destino, Streamline requiere que el demonio gator (gatord) se ejecute en el dispositivo. Aquí tienes las instrucciones para compilar el demonio gator en tu placa ODROID-GO Advanced.
Debes usar gator daemon v6.5.1 para sincronizar con el controlador gator de ODROID-GO Advanced. Además, necesitarás algunos parches para ejecutar demonio gator en ODROID-GO Advanced porque el nodo sysfs para leer la información de la GPU mali es diferente del existente en el github del software ARM.
odroid@odroid:~$ sudo apt-get install git odroid@odroid:~$ git clone https://github.com/JeonghwaCho/gator.git -b odroid-rk3326 odroid@odroid:~$ cd ${path_of_gator}/daemon odroid@odroid:~$ makeAhora tendrás el binario gatord en el directorio ${path_of_gator}/daemon.
Iniciar Gator en el sistema destino y Streamline en la PC host
1. En el ODROID-GO Advanced Necesitas permiso de root para establecer una conexión ethernet y ejecutar gatord.
(1) Configurar conexión de red
odroid@odroid:~$ su root@odroid:~# dhclient eth0ODROID-GO Advanced conectado a través de Ethernet
(2) Desactiva el tiempo de espera de la tarea bloqueada del kernel
root@odroid:~# echo 0 > /proc/sys/kernel/hung_task_timeout_secs(3) Ejecuta el demonio gator del espacio de usuario y el módulo del kernel
root@odroid:~# ${gator_path}/gator/daemon/gatord -m /lib/modules/$(uname -r)/kernel/drivers/gator/gator.ko &Puedes determinar si gator se está ejecutando:
root@odroid:~# lsmod | grep gator gator 90112 1La GPU Mali Bifrost de RK3326 se define en gator.ko, de modo que necesitarás obtener los eventos relacionados con ARM_Mali-Bifrost en /dev/gator/events/
root@odroid:~# ls /dev/gator/events/ ARM_Mali-Bifrost_Filmstrip_cnt0 ARMv8_Cortex_A35_cnt0 ARM_Mali-Bifrost_MMU_AS_0 ARMv8_Cortex_A35_cnt1 ARM_Mali-Bifrost_MMU_AS_1 ARMv8_Cortex_A35_cnt2 ARM_Mali-Bifrost_MMU_AS_2 ARMv8_Cortex_A35_cnt3 ARM_Mali-Bifrost_MMU_AS_3 ARMv8_Cortex_A35_cnt4 ARM_Mali-Bifrost_MMU_PAGE_FAULT_0 ARMv8_Cortex_A35_cnt5 ARM_Mali-Bifrost_MMU_PAGE_FAULT_1 ARMv8_Cortex_A35_freq ..... .....2. En el PC host A través de la interfaz Ethernet, puede conectar el dispositivo ODROID-GO Advanced a Streamline en tu PC host. Configura [Conexión] - [Dirección].
Si la conexión es reconocida con éxito, todos los contadores disponibles para ODROID-GO Advanced se mostrarán en este menú.
Más información
Para obtener información más detallada, consulta el sitio para desarrolladores de ARM y la guía del usuario en https://developer.arm.com/products/software-development-tools/ds-5-development-studio/streamline y https://static.docs.arm.com/dui0482/w/DUI0482W_streamline_user_guide.pdf. La entrada wiki original la puede encontrar en la página wiki de Hardkernel en https://wiki.odroid.com/odroid_go_advance/application_note/arm_streamline_on_goa.
Be the first to comment