리눅스 커널 초보입니다.
커널을 공부하는 중에 preemtive_disable() 과 preemtive_enable() 을 이용한 처리를 많이 보게 되는데요.
선점을 금지한다는게 그 구간내에서 다른 CPU에 의한 것을 금지한다는 뜻인가요?
아니면 같은 CPU 라도 다른 스레드에 의한 것을 금지한다는 뜻인가요?
선점이라는 의미가 잘 이해가 가지 않아서 질문드립니다.
아래 코드처럼 한라인사이에서도 바로 컨텍스트 스위치가 일어나서 다른 동작이 일어날 수 있는 건가요?
get_cpu_var(sockets_in_use)--;
put_cpu_var(sockets_in_use);
고수님들의 많은 조언 부탁드립니다.