Articles of linux kernel

¿Cómo evitar la advertencia de transparent_hugepage / defrag de mongodb?

Recibo la siguiente advertencia de mongodb sobre THP 2015-03-06T21:01:15.526-0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is ‘always’. 2015-03-06T21:01:15.526-0800 I CONTROL [initandlisten] ** We suggest setting it to ‘never’ Pero logré apagar THP manualmente frederick@UbuntuVirtual:~$ cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never] frederick@UbuntuVirtual:~$ cat /sys/kernel/mm/transparent_hugepage/defrag always madvise [never] Hice el truco al agregar transparent_hugepage=never a GRUB_CMDLINE_LINUX_DEFAULT en /etc/default/grub […]

¿Por qué el código kernel / ejecución de subprocesos en contexto de interrupción no puede dormir?

Estoy leyendo el siguiente artículo de Robert Love http://www.linuxjournal.com/article/6916 que dice “… Discutamos el hecho de que las colas de trabajo se ejecutan en el contexto del proceso. Esto contrasta con los otros mecanismos de la mitad inferior, que se ejecutan en el contexto de interrupción. El código que se ejecuta en el contexto de […]

¿Cómo se prueba el núcleo de Linux?

¿Cómo prueban los desarrolladores del kernel de Linux su código localmente y después de que lo hayan comprometido? ¿Usan algún tipo de prueba unitaria, automatización de comstackción? planes de prueba?

Solo pantalla en negro después de ejecutar Qemu

Acabo de instalar QEMU y compilé el kernel de Linux con soporte ARM pero cuando corro debajo del comando qemu-system-arm -M versatilepb -m 128M -kernel /home/arit/QEMU/linux-3.8.4/arch/arm/boot/uImage -append “console=tty1” Solo pude ver la pantalla en negro, también probé lo que se sugiere en el siguiente enlace Qemu muestra una pantalla negra Pero aún así no funcionó. […]

Linux kernel ARM excepción stack init

Estoy utilizando Linux kernel 3.0.35 en Freescale i.MX6 (ARM Cortex-A9). Después de ejecutar en un kernel OOPS traté de entender la inicialización de la stack de excepción. Esto es lo que he descubierto hasta ahora. En cpu_init () en arch / arm / kernel / setup.c , veo que la stack de excepciones se inicializa: […]

¿Cómo emula ARM Linux los bits sucios, de acceso y archivo de un PTE?

Según pgtable-2-level.h , ARM Linux tiene dos versiones de PTE; El PTE de Linux y H / W PTE. Linux PTE se almacenan debajo de un desplazamiento de 1024 bytes. Al manejar el error de página en handle_pte_fault varias funciones como pte_file , pte_mkdirty , pte_mkyoung , invocar con la versión H / W PTE. […]

Manejo de múltiples SIGCHLD

En un sistema que ejecuta Linux 2.6.35+, mi progtwig crea muchos procesos secundarios y los monitorea. Si un proceso secundario muere, hago algunas tareas de limpieza y vuelvo a generar el proceso. Uso signalfd() para obtener la señal SIGCHLD en mi proceso. signalfd se usa de forma asincrónica usando libevent . Al usar manejadores de […]

E / S de archivos en un módulo kernel de Linux

Estoy escribiendo un módulo de kernel de Linux que necesita abrir y leer archivos. ¿Cuál es la mejor manera de lograr eso?

¿Cómo acceder al espacio del kernel desde el espacio del usuario?

¿Cómo se diferencia la memoria del usuario y la memoria del kernel dentro del kernel de Linux (en términos de dar seguridad al espacio del kernel)? ¿Cuáles son las diferentes formas en que puedo escribir en el espacio de direcciones del kernel desde el espacio del usuario? Una forma que conozco es a través de […]

Acceso directo a memoria en Linux

Intento acceder a la memoria física directamente para un proyecto de Linux incorporado, pero no estoy seguro de cómo puedo designar la mejor memoria para mi uso. Si reinicio mi dispositivo regularmente y accedo a / dev / mem, puedo leer y escribir fácilmente en casi cualquier lugar que desee. Sin embargo, en esto, estoy […]