| El parche del núcleo latsched El parche del kernel latsched es un parche del kernel que permite una medición de tiempo de programación de grano fino. |
Descargar ahora |
El parche del núcleo latsched Clasificación y resumen
- Nombre del editor:
- LatSched Team
- Sitio web del editor:
- http://www.xmailserver.org/linux-patches/lnxsched.html#LatSched
El parche del núcleo latsched Etiquetas
El parche del núcleo latsched Descripción
El parche del kernel latsched es un parche del kernel que permite una medición de tiempo de programador de grano fino. El parche del kernel latsched es un parche del kernel que permite una medición de tiempo de programador de grano fino mediante la función de kernel get_cycles () que, en las familias de la CPU X86, utiliza la instrucción RDTSC para obtener el contador del ciclo de la CPU. Se ha introducido un nuevo dispositivo de caracteres / dev / latsched (MAYOR = 10 - MENOR = 117) para controlar el comportamiento y para obtener datos del código de medida de programador Kernel. Otra luego, midiendo la latencia del programador, este parche se puede usar para estudiar la programación y la migración del proceso entre CPU. Para usar el parche, debe construirse un kernel nuevo (con el parche aplicado) y el nuevo dispositivo de caracteres / dev / latsched debe crearse con: # Mknod / dev / latsched C 10117El código que hará uso del parche Latsched debe abrir el dispositivo con: if ((lsfd = abre ("/ dev / latsched", O_RDWR)) == -1) {... } El siguiente paso es establecer el tamaño del búfer de muestra (circular) con: if (res = ioctl (lsfd, ls_samples, muestras)) {...}, entonces el código tendrá que instruir a la muestra para comenzar a coleccionar Tiempo de horario con: if ((res = ioctl (lsfd, ls_start, 0))) {...} Para detener el proceso de muestreo, es necesario una nueva llamada IOCTL (): if (res = ioctl (lsfd, ls_stop, 0 ))) {...} En este punto, los datos recopilados se mantienen dentro de los buffers de datos del programador y deben ser recuperados con algo como esto: INT CPU, NCPUS, II; Struct lsctl_getdata lsgd; ncpus = sysconf (_sc_nprocessors_conf); MEMSET (LSGD , 0, s IZEOF (LSGD)); lsgd.size = muestras; lsgd.data = (struct latsched_sample *) malloc (muestras * siewsof (estructura latsched_sample)); para (CPU = 0; CPU
El parche del núcleo latsched Software relacionado