Kernel/Theory

    [Linux Kernel] alloc_thread_stack_node() 함수 분석

    '디버깅을 통해 배우는 리눅스 커널의 구조와 원리' 책을 읽으면서 정리를 하다가 한 가지 코드 상의 차이를 발견했다. 커널 버전은 책에 나온 대로 v4.19다. 개요 프로세스가 새로 생성될 때 불리는 _do_fork() 함수 내 copy_process() 함수에서 일어나는 동작 중 하나로 프로세스가 이용할 스택을 할당하는 게 있다. 태스크 디스크립터 생성하고 slab cache에서 스택 공간 할당받는 함수인 alloc_thread_stack_node() 함수가 있는데 책에 있는 코드와 구현 상의 차이가 있길래 초보자 입장에서는 흥미롭게 다가왔다. Before static unsigned long *alloc_thread_stack_node(struct task_struct *tsk, int node) {..