Perguntas com a marcação «linux-kernel»

Esta tag é para perguntas sobre o interior do próprio kernel Linux - particularmente sobre como escrever código que é executado dentro do contexto do kernel (como módulos ou drivers do kernel). Perguntas sobre como escrever código de espaço de usuário no Linux geralmente devem ser marcadas como [linux]. Visto que os componentes internos do kernel do Linux estão mudando constantemente, é útil incluir a (s) versão (ões) precisa (s) do kernel nas quais você está interessado.





2
O que é? = No Makefile
KDIR ?= $(shell uname -r) Qual é o significado de ?=? Tenho entendido a diferença entre :=, +=e =de outro segmento disponível no Stack Overflow, mas incapaz de encontrar a explicação para ?=.

6
Como evitar o aviso de transparent_hugepage / defrag do mongodb?
Estou recebendo o seguinte aviso 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' Mas consegui desligar o 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] I fez o …

2
O que são vdso e vsyscall?
eu fiz sudo cat /proc/1/maps -vv Estou tentando entender a saída. Posso ver muitas bibliotecas compartilhadas sendo mapeadas para o segmento de mapeamento de memória conforme o esperado. 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 08:01 …
89 c  linux  linux-kernel  kernel  vdso 

3
Usar gdb para código de montagem de etapa única fora do executável especificado causa o erro "não é possível encontrar limites da função atual"
Estou fora do executável de destino do gdb e nem mesmo tenho uma pilha que corresponda a esse destino. Quero fazer uma única etapa de qualquer maneira, para poder verificar o que está acontecendo em meu código de assembly, porque não sou um especialista em assembly x86. Infelizmente, o gdb …

4
Qual é a necessidade de chaves vazias '{}' no final da matriz de estruturas?
Eu bati algum código c no kernel do 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 que definir uma macro para uma função com o mesmo nome?
Encontrei o código abaixo em 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 o que #definerealmente faz? Quando é necessário fazer isso?
12 c  linux-kernel 
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.