[리눅스커널] 메모리관리/디버깅: 가상주소를 물리주소로 변환 확인 실습
By Guillermo Austin Kim | 2019년 9월 2일 |
이번 소절에서는 가상주소를 물리주소로 변환하는 과정을 실습으로 알아봅시다. 3장 3.6 절에 소개한 rpi_debugfs.c 소스를 활용해 실습을 진행합니다. 먼저 rpi_debugfs.c 소스를 입력하고 커널 빌드를 하시기 바랍니다. 패치 코드 입력 방법 알아보기 먼저 입력할 패치 코드부터 소개합니다.[drivers/soc/bcm/rpi_debugfs.c] 01 static int rpi_kernel_debug_stat_set(void *data, u64 val)02 {03 int ret;04 05 raspbian_debug_state = (uint32_t)val;06 07 if ( raspbian_debug_state == 1402 ) {08 unsigned long ph
raspberrypi build error.
By 설악이의 즐거운 미친짓 캬~ | 2020년 7월 19일 |
package 받아서 빌드하는데 이런 에러가 나오면 당혹스럽다 ㅡ.ㅡ; /lib/modules/4.19.118-v7+/build: No such file or directory. Stop 확인해 보면.. /lib/modules/...version.../build라는 폴더가 없어서 인데. .이것 ln으로 /usr/src/ 밑에 빌드용 헤더가 없어서 나오는 문제다 .ㅡㅡ; 찾아보면.. 아래 링크에 대처법들이 있는데..https://www.raspberrypi.org/forums/viewtopic.php?t=67347 정리하면.. ㅡ.ㅡ 모 강제로 받아서 링크 넣는 방법과 패키지를 받는 방법 두가지가 있다 ㅡ.ㅡ;일단 첫번째껄루 해보려다 삽질해서 그냥 두번째 껄루 해보려고 한다. 그런데. 정식 버젼이
[라즈베리파이] 워크큐(Workqueue) - 워크는 누가 언제 호출하나? (2) @process_one_work
By Guillermo Austin Kim | 2018년 9월 12일 |
From...워크는 누가 언제 호출하나? (1) @process_one_work 다음 24~26번 줄 코드를 분석하겠습니다.24 worker->current_work = work;25 worker->current_func = work->func;26 worker->current_pwq = pwq; 24~25번 줄 코드에서 worker->current_work이란 멤버에 work를 등록하고 worker->current_func 함수 포인터에 워크 핸들러 함수를 지정합니다. 26번 줄 코드를 보면 worker->current_pwq에 워커 풀 주소를 저장합니다. process_one_work() 함수에서 워크 핸들러는 worker->current_func 함
[리눅스] 특정 process에서 생성된 thread의 갯수 확인하는 방법
By Guillermo Austin Kim | 2018년 9월 20일 |
mysqld 프로그램의 쓰레드 갯수를 확인하려면 다음 명령어를 입력하면 됩니다.cat /proc/$(pidof mysqld)/status | grep ^ThreadsThreads: 17 다음 명령어를 입력하니 쓰레드 pid를 확인할 수 있습니다.$ ps -eL -o pid,cmd,lwp,nlwp | grep mysqld 1063 /usr/sbin/mysqld 1063 17 1063 /usr/sbin/mysqld 1155 17 1063 /usr/sbin/mysqld 1156 17 1063 /usr/sbin/mysqld 1157 17 1063 /usr/sbin/mysqld 11