^^  현재  ARM 중급 스터디에 참여하여 있는 장성민입니다.

 저희가 2주간 계속해서 spin lock에 대한 토론을 하고 있는데, 토론을 하면 할 수록 깊은 수렁속으로 빠져드는 느낌입니다.

 

수선 UP에서는 spin lock이 사라진다고 하는데, 그 말을 도저히 이해할 수 가 없습니다.

spin lock을 쓴다는 것은 보호하고 싶은 데이터 영역이 분명히 존해하는 것인데,  UP라는 이유 하나만으로  사라진 다는 것이 이해가 되지 않네요.  토론을 하는 중에 up에서는 preempt disableh 함수로 변경된다는 의견도 있는데,  그건 좀 설득력이 있는 것 같습니다.

하지만 그렇다 할 지라도 interrupt가 발생해서 그 임계영역을 건드리면 또한 문제가 발생 할 수 있을 것 같습니다.

 

up / smp 그리고 preempt disalbe / preempt enable 등으로 컴파일 된 경우  그리고 process context / interrupt context 등의 여러 환경에서

spin lock이 정확이 어떻게 동작하는지 개념을 좀 알려주시길 부탁드립니다.

 

번호 제목 글쓴이 날짜 조회 수
공지 [공지] 프로그래밍 관련 Q&A 게시판 입니다. woos 2016.04.09 22269
» spin lock 을 사용하는 이유를 알고 싶습니다. [6] 장성민 2011.04.25 16478
497 ppc에서 preempt 완벽 지원여부 아시는분? [1] 최종환 2007.02.22 16131
496 리눅스에서의 동기화 정리 [13] 홍문화 2011.04.25 16027
495 Embeded 보드에 udev 올리는 법에 관한 조언을 요청드립니다. [4] 장성민 2011.01.08 15939
494 플래시 메모리에서 FTL(Flash Translation Layer) S/W 모듈과 관련하여 문의 드립니다. [4] 남현우 2009.01.09 15867
493 create_workqueue 와 create_singlethread_workqueue 의 차이? 김영민 2010.12.24 15521
492 VMware의 Linux에 Xen 설치해서 XP 설치 가능?? [5] 무명 2009.01.17 15513
491 u-boot 소스 분석에서 궁금한 점이 있습니다. [6] 원민수 2006.06.28 15196
490 멀티 스레드를 이용한 20억번 돌기의 시간 재기 [29] 이경문 2011.07.15 15194
489 mov r0,r0 [27] 송원준 2010.05.03 15172
488 모듈오류가 나는데 이유가 뭔지 안잡히네요.. [5] 김영일 2010.11.30 14560
487 linux swap out 관련.. [1] 박은병 2009.03.05 14463
486 안드로이드 고수님들께 질문드립니다. ^^ [11] Jason 2012.10.23 14200
485 [toolchain] arm-linux-gcc [4] 김민종 2010.04.27 14094
484 i386의 i 와 386은 각각 어떤 의미인가요? [4] 이경호 2007.03.07 13685
483 thread의 상태값 [4] 송선희 2009.03.10 13568
482 kernel의 virtual address [5] file 김민종 2010.04.28 13480
481 디버거 원리.. [6] 박은병 2008.01.31 13443
480 mutex와 semaphore차이? [2] 김영민 2011.03.02 13316
479 ___reserved_mem_reserve_reg 관련 질문 [4] DEWH 2020.03.09 12866
XE Login