Guillermo Austin Kim
Posts
998 postsSpinlock(스핀락) - 소개
스핀락. 리눅스 커널 책에서 언제나 볼 수 있는 개념이죠.싱크로나이제이션, 동기화, 어쩌구. 실제 Spinlock 구현부를 좀 살펴볼께요. 아래 코드를 전처리해서 코드를 보면,[kernel/fs/jbd2/commit.c]void jbd2_journal_commit_transaction(journal_t *journal) {//snip spin_lock(&commit_transaction->t_handle_lock); 아래 순서로 함수 콜이 수행되는 걸 알 수 있죠. 실제 스핀락 구현부는 arch_spin_lock() 함수라고 할 수 있어요. 우리 눈에 보이는 spin_lock()의 실체는 arch_spin_lock()군요.spin_lock() -> _raw_spin_lock()
Character Device Driver(캐릭터 디바이스 드라이버) - Overview
캐릭터 디바이스 코드를 보다가 한 가지 의문이 생겼어요.아래 코드는 캐릭터 타입 디바이스의 메이저 번호를 0으로 설정하네요. 어라?이거 잘못된 코드인가? static int pacman_probe(struct platform_device *pdev){ pr_debug("%s: %s version %s\n", __func__, DEVICE_NAME, PACMAN_VERSION); pacman_ctl.dev_num = register_chrdev(0, DEVICE_NAME, &pacman_fops); //<<-- if (pacman_ctl.dev_num < 0) { pr_err("%s: register_chrdev failed\n", __func__);
tty driver - overview
각 시스템 마다 tty driver 타입으로 등록된 디바이스 드라이버를 디버깅해야 할 때가 있어요처음 시스템을 부팅시키거나 tty driver 관련 문제가 나왔을 때 필요하죠. 이럴 때 참고하면 아주 좋은 변수가 있어요. tty_driver랍니다.자, 이렇게 선언되어 있어요. 주석문이 많은 걸 알려주죠.LIST_HEAD(tty_drivers); /* linked list of tty drivers */ tty driver는 tty_register_driver() 함수를 호출하거든요. 그런데 아래 tty_drivers란 링크드 리스트에 등록을 하죠. int tty_register_driver(struct tty_driver *driver){ int error; int i;// ...생략... mu
[Linux][Kernel] 스택 푸쉬(Stack Push) Userspace -> Kernel Spapce
커널에서 어떤 코드던 프로세스가 실행되는 운동장은 스택이에요. 프로그램이 실행되면서 스택에 Push/Pop 동작을 엄청나게 자주하는데요. 예전 실리콘 벨리에서 어떤 스타트업 회사가 기획했던 아이디어라고 하는데요.리눅스 커널 API를 하드웨어로 처리하는 아이디어를 구현하려고 했다고 하네요. 그 아이디어의 근거는 리눅스 커널에서 자주 사용하는 API는 몇 개로 한정되어 있다는 거에요. 그럼 너무 자주 실행되는 함수면 어떤 동작을 자주 할까요?스택 Push/Pop이 겠죠. 그래서 inline을 함수를 쓰는 거에요. inline 함수는 컴파일러가 호출되는 함수 내에 inline 함수를추가하기 때문에 스택 Push/Pop 동작을 줄 일 수 있어요. 대신 inline 함수의 심볼 정보는 찾을 수 없죠. 대부분의
[Linux][Kernel] softirq - 호출되는 모듈 (h->action)
softirq_vec 변수를 확인하면, __do_softirq() 에서 h->action로 호출되는 함수의 정체를 확인할 수 있습니다.crash> p softirq_vecsoftirq_vec = $2 = {{ action = 0xc01289ac }, { action = 0xc0180334 }, { action = 0xc0d55d7c }, { action = 0xc0d58238 }, { action = 0xc038123c }, { action =
![[일상] Eave 65와 목새 택타일 | 토프레 무접점 느낌 | 타건 영상 있음](https://img.zoomtrend.com/2026/06/07/1780838085-SE-77297eb3-90bf-43a7-9629-75fd8530e370.jpg)



