Preguntas etiquetadas con linux-kernel

Esta etiqueta es para preguntas sobre los aspectos internos del propio kernel de Linux, en particular sobre cómo escribir código que se ejecuta dentro del contexto del kernel (como los módulos o controladores del kernel). Las preguntas sobre la escritura de código de espacio de usuario en Linux generalmente deben etiquetarse [linux] en su lugar. Dado que los componentes internos del kernel de Linux cambian constantemente, es útil incluir las versiones precisas del kernel que le interesan.





6
¿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 me las arreglé para 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 …

2
¿Qué es? = En Makefile
KDIR ?= $(shell uname -r) Cuál es el significado de ?= ? He entendido la diferencia entre :=, +=y =desde otro hilo disponible en desbordamiento de pila, pero no puede encontrar la explicación a ?=.

2
¿Qué son vdso y vsyscall?
yo hice sudo cat /proc/1/maps -vv Estoy tratando de darle sentido a la salida. Puedo ver muchas bibliotecas compartidas asignadas al segmento de mapeo de memoria como se esperaba. 7f3c00137000-7f3c00179000 r-xp 00000000 08:01 21233923 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8 7f3c00179000-7f3c00379000 ---p 00042000 08:01 21233923 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8 7f3c00379000-7f3c0037a000 r--p 00042000 08:01 21233923 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8 7f3c0037a000-7f3c0037b000 rw-p 00043000 …
89 c  linux  linux-kernel  kernel  vdso 

3
El uso de gdb en un código ensamblador de un solo paso fuera del ejecutable especificado provoca el error "no se pueden encontrar los límites de la función actual"
Estoy fuera del ejecutable de destino de gdb y ni siquiera tengo una pila que corresponda a ese destino. De todos modos, quiero dar un solo paso, para poder verificar lo que está sucediendo en mi código de ensamblaje, porque no soy un experto en ensamblaje x86. Desafortunadamente, gdb se …

5
Selección de un programador de E / S de Linux
Leí que supuestamente es posible cambiar el programador de E / S para un dispositivo en particular en un kernel en ejecución escribiendo en / sys / block / [disk] / queue / Scheduler. Por ejemplo, puedo ver en mi sistema: anon@anon:~$ cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] que el …


7
Comprender la macro container_of en el kernel de Linux
Cuando estaba navegando por el kernel de Linux, encontré una container_ofmacro que se define de la siguiente manera: #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );}) Entiendo lo que hace container_of, pero lo que no entiendo …


4
¿Cuál es la necesidad de llaves vacías '{}' al final de la matriz de estructuras?
Golpeé un código c en el kernel de Linux: static struct ctl_table ip_ct_sysctl_table[] = { { .procname = "ip_conntrack_max", .maxlen = sizeof(int), .mode = 0644, .proc_handler = proc_dointvec, }, // ... { .procname = "ip_conntrack_log_invalid", .maxlen = sizeof(unsigned int), .mode = 0644, .proc_handler = proc_dointvec_minmax, .extra1 = &log_invalid_proto_min, .extra2 = …


1
¿Por qué definir una macro a una función con el mismo nombre?
Encontré el código a continuación en https://github.com/torvalds/linux/blob/master/arch/x86/include/asm/atomic.h static __always_inline bool arch_atomic_sub_and_test(int i, atomic_t *v) { return GEN_BINARY_RMWcc(LOCK_PREFIX "subl", v->counter, e, "er", i); } #define arch_atomic_sub_and_test arch_atomic_sub_and_test ¿Qué hace #definerealmente? ¿Cuándo es necesario hacerlo?
12 c  linux-kernel 
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.