- 2019/06/25 00:11
- rousalome.egloos.com/9999261
- 덧글수 : 2
핑백
Linux Kernel(4.19) Hacks : [리눅스커널] 커널동기화: 임계영역(Critical Section)과 레이스 컨디션이란 2019-09-14 17:45:16 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 커널동기화: 레이스 컨디션 커널 패치 소개 2019-09-14 17:45:48 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화 - 유저 프로세스 시스템 콜 호출 시 레이스 컨디션 2019-09-14 17:46:35 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화 - 커널 프로세스 레이스 컨디션 2019-09-14 17:47:05 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [라즈베리파이] 동기화 - 인터럽트 발생으로 레이스 컨디션 발생 2019-09-14 17:47:51 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [라즈베리파이] 동기화 - 커널 동기화 기법 소개 2019-09-14 17:48:23 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 스핀락과 뮤텍스 기법 차이점 알아보기 2019-09-14 17:48:36 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [라즈베리파이] 동기화 - 스핀락(spinlock) 소개 2019-09-14 17:49:11 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 스핀락 자료구조 알아보기 2019-09-14 17:49:25 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 스핀락(spinlock)을 쓰는 예제 코드 살펴보기 2019-09-14 17:49:39 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 스핀락(spinlock) 처리 흐름도 알아보기 2019-09-14 17:50:03 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [라즈베리파이] 동기화 - 스핀락(spinlock): spin_lock() 함수 분석 2019-09-14 17:50:31 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [라즈베리파이] 동기화 - 스핀락(spinlock): spin_lock() 어셈블리 코드 분석 2019-09-14 17:51:30 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [라즈베리파이] 동기화 - 스핀락(spinlock): spin_unlock() 함수 분석 2019-09-14 17:51:50 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 스핀락 플러그인 함수: spin_lock_irq()/spin_unlock_irq() 2019-09-14 17:52:10 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 스핀락(spinlock) 플러그인 함수: spin_lock_irqsave()/spin_unlock_irqrestore 2019-09-14 17:52:28 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 뮤텍스의 기본 개념 소개하기 2019-09-14 17:52:46 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 뮤텍스 fastpath 동작 2019-09-14 17:53:02 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 뮤텍스 slowpath: mutex_lock() 함수 분석 2019-09-14 17:53:29 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 뮤텍스 slowpath: mutex_unlock() 함수 분석 2019-09-14 17:53:44 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화/디버깅: 스핀락(spinlock) 2019-09-14 17:54:03 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화/디버깅: 뮤텍스(Mutex) owner 확인해보기 2019-09-14 17:54:20 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : mutex lock vs spinlock ( 재현 상황 ) 2019-09-14 20:59:19 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : Spinlock(스핀락) - 소개 2019-09-14 20:59:26 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
Linux Kernel(4.19) Hacks : Spinlock(스핀락) - spin_lock() vs spin_lock_irq() vs spin_lock_irqsave() - 분석 2019-09-14 21:01:06 #
... 기본 개념 소개 임계영역(Critical Section)과 레이스 컨디션이란 레이스 컨디션은 왜 발생할까? 레이스 컨디션 커널 패치 레이스 발생 동작 확인  ... more
덧글
-
Daniel 2020/02/06 09:49 # 답글
Deadlock 사례를 두 개 들어주셨는데 두 개 모드 lock을 한 곳에서 획득하고 다른 곳에서 또 획득하며 Deadlock에 빠진다고 하신 부분이 이해가 잘가지 않습니다.
Lock이라는 게 한 곳에서 획득을 하게 되면 다른 곳에서 획득을 하지 못하고 기다리게 함으로써 Critical section을 보호하는 것 아닌가요?
Lock이 한 곳에서 획득되고 그 lock을 다른 곳에서 획득하려고 하고 있는데 timeout 시간 내에 lock을 풀어주지 않아서 Deadlock이 발생한 사례일까요? -
AustinKim 2020/02/06 09:58 #
예리한 질문을 해주셨군요. 감사합니다.
첫 번째 사례는 잘못된 예시(임계영역)이며, 이미 다른 초고수 커널 개발자님께서 지적해주셨습니다.
데드락 보다는 '두 개의 CPU에서 실행 중인 프로세스가 같은 코드 구간을 실행한다'와 관련된 예시로 이 포스팅을 보시면 좋을 것 같습니다.
참고로, 이 포스팅의 글은 오늘 내로 업데이트 될 예정입니다.
제가 좀 바뻐서 블로그를 많이 신경 못 쓰고 있어요. ):
Thanks,
Austin Kim



최근 덧글