
- 2018/12/23 19:25
- rousalome.egloos.com/9988200
- 덧글수 : 7

핑백
Linux Kernel(4.19) Hacks : [리눅스커널] 커널동기화: 임계영역(Critical Section)과 레이스 컨디션이란 2019-09-14 17:45:16 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 커널동기화: 레이스 컨디션은 왜 발생할까? 2019-09-14 17:45:32 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 커널동기화: 레이스 컨디션 커널 패치 소개 2019-09-14 17:45:49 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화 - 유저 프로세스 시스템 콜 호출 시 레이스 컨디션 2019-09-14 17:46:38 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화 - 커널 프로세스 레이스 컨디션 2019-09-14 17:47:06 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [라즈베리파이] 동기화 - 인터럽트 발생으로 레이스 컨디션 발생 2019-09-14 17:47:53 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [라즈베리파이] 동기화 - 커널 동기화 기법 소개 2019-09-14 17:48:24 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 스핀락과 뮤텍스 기법 차이점 알아보기 2019-09-14 17:48:36 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [라즈베리파이] 동기화 - 스핀락(spinlock) 소개 2019-09-14 17:49:12 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 스핀락 자료구조 알아보기 2019-09-14 17:49:26 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 스핀락(spinlock)을 쓰는 예제 코드 살펴보기 2019-09-14 17:49:39 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 스핀락(spinlock) 처리 흐름도 알아보기 2019-09-14 17:50:03 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [라즈베리파이] 동기화 - 스핀락(spinlock): spin_lock() 어셈블리 코드 분석 2019-09-14 17:51:31 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [라즈베리파이] 동기화 - 스핀락(spinlock): spin_unlock() 함수 분석 2019-09-14 17:51:50 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 스핀락 플러그인 함수: spin_lock_irq()/spin_unlock_irq() 2019-09-14 17:52:11 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 스핀락(spinlock) 플러그인 함수: spin_lock_irqsave()/spin_unlock_irqrestore 2019-09-14 17:52:31 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 뮤텍스의 기본 개념 소개하기 2019-09-14 17:52:47 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 뮤텍스 fastpath 동작 2019-09-14 17:53:03 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 뮤텍스 slowpath: mutex_lock() 함수 분석 2019-09-14 17:53:31 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화: 뮤텍스 slowpath: mutex_unlock() 함수 분석 2019-09-14 17:53:46 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화/디버깅: 스핀락(spinlock) 2019-09-14 17:54:05 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 동기화/디버깅: 뮤텍스(Mutex) owner 확인해보기 2019-09-14 17:54:23 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : mutex lock vs spinlock ( 재현 상황 ) 2019-09-14 20:59:19 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : Spinlock(스핀락) - 소개 2019-09-14 20:59:27 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
Linux Kernel(4.19) Hacks : Spinlock(스핀락) - spin_lock() vs spin_lock_irq() vs spin_lock_irqsave() - 분석 2019-09-14 21:01:07 #
... 코드 살펴보기 스핀락 처리 흐름도 알아보기 spin_lock() 함수 인라인 어셈블리 코드 분석 spin_lock() 함수 어셈블리 코드 분석 ... more
덧글
-
조용한 에스키모 2020/11/25 16:18 # 답글
안녕하세요. 책 2개다 사서 아주 잘보고 있습니다! 질문이 있을때 마다 바로바로 해야 되는데 아무래도 책을 한번더 봐야할 것 같습니다. 한번에 소화될 내용들도 아니고 ㅎㅎ
계속 드는 의문인데 함수를 감싸고 구현부도 없이 이름만 바뀌고하는 이유를 알 수 있을까요? 초보자에게 설명해봤자 의미가 없는 질문일수는 있는데 계속 궁금해서 여쭤보고 싶네요 ㅎㅎ -
AustinKim 2020/11/25 16:48 #
먼저, 책을 진지하게 읽어주셔서 감사합니다.
아래와 같이 질문을 주셨는데요;
* '함수를 감싸고 구현부도 없이 이름만 바뀌고하는 이유를 알 수 있을까요?'
조금 더 구체적인 예시를 들어주시면 확인 후 답을 드릴 수 있을 것 같습니다.
감사합니다. -
AustinKim 2020/11/25 16:47 # 답글
... -
조용한 에스키모 2020/11/25 17:14 # 답글
넵, 좀전에 보던거 하나 예시로 드리면
spin_lock()이 구현부 없이 raw_spin_lock()을 감싸고, raw_spin_lock()이 _raw_spin_lock()으로 치환되고 실제 구현되는 부분은 __raw_spin__lock에 있는데 이런 경우가 여러번 보니 계속 궁금해지네요 ㅎㅎ
언더바가 들어가면 커널 함수라고 배웠던것 같은데 언더바 하나일 때 둘일때도 어떤 룰이 있을까요? -
AustinKim 2020/11/25 17:21 #
언더바가 하나나 둘인 경우도, 마찬가지로 커널 내부 코어 함수에서 호출됩니다. -
조용한 에스키모 2020/11/25 17:16 # 답글
아... 그리고 C코드로도 표현이 되는데 굳이 arch_spin_lock 구현부를 어셈블리어로 작성한 것은 스핀락을 빨리 처리하려고 한건가요? -
AustinKim 2020/11/25 17:21 #
어셈블리 명령어로 코드를 구성하면, 말씀하신대로 더 빠른 속도로 코드가 수행됩니다.
참고로, arch_ 라는 접두사가 붙은 함수들은 아키텍처(arm, arm64, x86, riscv)에 의존적인 동작을 수행합니다.
최근 덧글