Articles of linux kernel

Invocación de función init de controladores comstackdos en kernel

En Linux, si los controladores de dispositivo se construyen como módulos de núcleo cargables, al insertar el módulo de kernel del controlador de dispositivo, el núcleo llama a la función init del controlador de dispositivo como lo señala la macro module_init() . ¿Cómo funciona esto para los controladores de dispositivo que están comstackdos estáticamente en […]

¿Cómo puedo obtener un nombre de archivo de un descriptor de archivo dentro de un módulo kernel?

Necesito obtener el nombre de un archivo de un descriptor de archivo dado, dentro de un pequeño módulo de kernel de Linux que escribí. Probé la solución dada en Obtener nombre de archivo del descriptor de archivo en C , pero por alguna razón, imprime los valores de basura (usando readlink en /proc/self/fd/NNN como se […]

Cómo monitorear continuamente el directorio usando el comando dnotify / inotify

Soy nuevo en el comando dnotify / inotify. ¿Alguien puede ayudarme a escribir un guión de modo que monitoree continuamente un directorio e indique que hay algún cambio o modificación en él?

¿Dónde puedo encontrar el código fuente de la llamada del sistema?

En Linux, ¿dónde puedo encontrar el código fuente para todas las llamadas al sistema dado que tengo el árbol de fonts? Además, si tuviera que buscar el código fuente y el ensamblaje para una llamada al sistema en particular ¿hay algo que pueda escribir en terminal como -my_system_call?

Tamaños de stack de Linux

Estoy buscando una buena descripción de las stacks dentro del kernel de Linux, pero me resulta sorprendentemente difícil encontrar algo útil. Sé que las stacks están limitadas a 4k para la mayoría de los sistemas, y 8k para otros. Supongo que cada hilo del núcleo / mitad inferior tiene su propia stack. También he escuchado […]

Ejecutando el emulador después de construir Android desde la fuente

Soy capaz de desplegar el último código fuente de Android en una máquina virtual Ubuntu de 32 bits (Host: Windows 7 de 64 bits). La comstackción se completa sin ningún error. Luego traté de seguir estas instrucciones , donde menciona que debería ejecutar el emulador en la raíz de mi código fuente. Sin embargo, cuando […]

¿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ó. […]