«linux-kernel» 태그된 질문

이 태그는 Linux 커널 자체의 내부에 대한 질문, 특히 커널 컨텍스트 내에서 실행되는 코드 작성 (예 : 커널 모듈 또는 드라이버)에 대한 질문입니다. Linux에서 사용자 공간 코드 작성에 대한 질문은 일반적으로 대신 [linux] 태그가 지정되어야합니다. Linux 커널의 내부는 지속적으로 변경되므로 관심있는 정확한 커널 버전을 포함하는 것이 도움이됩니다.

14
메모리를 디스크에 저장하고 나중에 복원하여 Linux에서 프로세스를 "최대 절전 모드"하는 방법은 무엇입니까?
Linux에서 프로세스를 '최대 절전 모드'로 전환 할 수 있습니까? 랩톱의 '최대 절전 모드'와 마찬가지로 프로세스에서 사용하는 모든 메모리를 디스크에 쓰고 RAM을 비우고 싶습니다. 그런 다음 나중에 '프로세스를 다시 시작'할 수 있습니다. 즉, 메모리에서 모든 데이터를 읽어서 RAM에 다시 저장하면 프로세스를 계속할 수 있습니까?

3
새로운 리눅스 커널에서 컨텍스트 전환이 훨씬 느립니다.
서버의 OS를 Ubuntu 10.04 LTS에서 Ubuntu 12.04 LTS로 업그레이드하려고합니다. 안타깝게도 실행 가능한 스레드를 실행하기위한 지연 시간이 2.6 커널에서 3.2 커널로 크게 증가한 것 같습니다. 실제로 우리가 얻고있는 대기 시간 수치는 믿기 어렵습니다. 테스트에 대해 좀 더 구체적으로 말씀 드리겠습니다. 두 개의 스레드를 실행하는 프로그램이 있습니다. 첫 번째 스레드는 현재 시간 …

2
Linux 커널 모듈 내에서 파일 읽기 / 쓰기
커널에서 파일을 읽고 쓰면 안되는 이유에 대한 모든 토론을 알고 있습니다. 대신 / proc 또는 netlink 를 사용 하여이를 수행하는 방법을 알고 있습니다. 어쨌든 읽기 / 쓰기를 원합니다. 또한 드라이빙 미 너트-커널에서 절대하지 말아야 할 일도 읽었습니다 . 그러나 문제는 2.6.30이 sys_read(). 오히려 SYSCALL_DEFINE3. 따라서 모듈에서 사용하면 다음과 같은 경고가 …

3
스레드가 동일한 PID를 공유하는 경우 어떻게 식별 할 수 있습니까?
Linux에서 스레드 구현과 관련된 쿼리가 있습니다. Linux에는 명시적인 스레드 지원이 없습니다. 사용자 공간에서는 스레드 생성을 위해 NPTL과 같은 스레드 라이브러리를 사용할 수 있습니다. 이제 NPTL을 사용하면 1 : 1 매핑을 지원합니다. 커널은이 clone()함수를 사용하여 스레드를 구현합니다. 4 개의 스레드를 만들었다 고 가정합니다. 그러면 다음을 의미합니다. 4 개가 task_struct있습니다. 내부에는 task_struct복제 …

6
mongodb에서 transparent_hugepage / defrag 경고를 피하는 방법은 무엇입니까?
THP에 대해 mongodb로부터 다음 경고를 받고 있습니다. 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' 하지만 수동으로 THP를 끌 수 있었어요 frederick@UbuntuVirtual:~$ cat /sys/kernel/mm/transparent_hugepage/enabled always madvise [never] frederick@UbuntuVirtual:~$ cat /sys/kernel/mm/transparent_hugepage/defrag always madvise [never] 나는 추가하여 속임수를 썼는지 transparent_hugepage=never에 …


2
vdso와 vsyscall은 무엇입니까?
나는했다 sudo cat /proc/1/maps -vv 출력을 이해하려고 시도하고 있는데 예상대로 메모리 매핑 세그먼트에 많은 공유 라이브러리가 매핑되는 것을 볼 수 있습니다. 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 21233923 /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8 7f3c0037b000-7f3c00383000 r-xp 00000000 08:01 21237216 …
89 c  linux  linux-kernel  kernel  vdso 

3
지정된 실행 파일 외부의 단일 단계 어셈블리 코드에 gdb를 사용하면 "현재 함수의 범위를 찾을 수 없습니다"오류가 발생합니다.
나는 gdb의 대상 실행 파일 외부에 있으며 해당 대상에 해당하는 스택도 없습니다. 어쨌든 나는 x86 어셈블리의 전문가가 아니기 때문에 어셈블리 코드에서 무슨 일이 일어나고 있는지 확인할 수 있도록 한 단계 씩 진행하고 싶습니다. 불행히도 gdb는이 간단한 어셈블리 수준 디버깅을 거부합니다. 적절한 중단 점을 설정하고 중지 할 수 있지만 한 단계 …

1
이미지 대 zImage 대 uImage
그들 사이의 차이점은 무엇입니까? 나는 u-boot에 uImage 형식의 커널이 필요하다는 것을 알고 있습니다. 내가 사용하는 시스템은 1 단계 로더에서 처음 부팅 한 다음 u-boot를 호출합니다. u-boot를 버리고 1 단계 로더에서 직접 부팅하고 싶습니다. 어떤 유형의 커널 이미지를 사용해야합니까?

2
Linux 커널에서 부동 소수점 사용
나는 Robert Love의 "Linux Kernel Development"를 읽고 있는데, 다음 구절을 보았습니다. (쉬운) 부동 소수점 사용 없음 사용자 공간 프로세스가 부동 소수점 명령어를 사용할 때 커널은 정수에서 부동 소수점 모드로의 전환을 관리합니다. 부동 소수점 명령어를 사용할 때 커널이해야하는 일은 아키텍처에 따라 다르지만 커널은 일반적으로 트랩을 포착 한 다음 정수에서 부동 소수점 …

7
Linux 커널의 container_of 매크로 이해
Linux 커널을 탐색 할 때 container_of다음과 같이 정의 된 매크로를 찾았습니다 . #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );}) container_of가 무엇을하는지 이해하지만 이해하지 못하는 것은 마지막 문장입니다. (type *)( (char *)__mptr - offsetof(type,member) );}) 다음과 …

5
Linux I / O 스케줄러 선택
/ sys / block / [disk] / queue / scheduler에 작성하여 실행중인 커널의 특정 장치에 대한 I / O 스케줄러를 변경할 수 있다고 읽었습니다. 예를 들어 내 시스템에서 볼 수 있습니다. anon@anon:~$ cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq] 기본값은 완전히 공정한 대기열 스케줄러입니다. 내가 궁금한 것은 사용자 정의 커널에 네 …


2
Linux 블록 장치의 요청 대기열을 어떻게 식별 할 수 있습니까?
네트워크를 통해 하드 디스크를 연결하는이 드라이버를 작업 중입니다. 컴퓨터에서 두 개 이상의 하드 디스크를 활성화하면 첫 번째 하드 디스크 만 파티션을 살펴보고 식별하는 버그가 있습니다. 결과적으로 hda에 1 개의 파티션이 있고 hdb에 1 개의 파티션이 있으면 hda를 연결하자마자 마운트 할 수있는 파티션이 있습니다. 따라서 hda1은 마운트되는 즉시 blkid xyz123을 얻습니다. …

4
구조체 배열 끝에 빈 괄호 '{}'가 필요합니까?
Linux 커널에서 일부 C 코드 를 쳤습니다 . 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 = &log_invalid_proto_max, …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.