Barrier 가 꼭 필요한지 질문드립니다.

콤퓨타 2020.11.15 18:21 조회 수 : 1722

안녕하세요 스터디를 하다가 코드 (kernel version: v5.9) 가 꼭 필요한지를 정확히 몰라서 질문 올립니다.

$(kernel_root)/arch/arm64/kernel/head.S 에서

 

SYM_FUNC_START_LOCAL(__create_page_tables) 함수안에

 

adr_l    x6, vabits_actual
str    x5, [x6]
dmb    sy
dc    ivac, x6

 

동작하는 platform에서 지원하는 가상주소 비트 수를 읽어서  vabits_actual 이라는 곳에 저장하는 코드입니다.

이 코드가 동작할 때에 D-cache 는 disable되어있는 상태이지만 나중에 d-cache를 enable 했을 때 stale한 data가 있으면 예상치 못한 data를 읽을 수도 있기에 dcache invalidate해주는 부분은 이해를 했습니다.

 

이 때, dmb sy를 통해서 vabits_actual에 값을 value를 저장하는 코드와 d-cache invalidate 해주는 코드의 순서를 보장해주고 있습니다. 근데 d-cache가 disable되어있는 상태에서 이 순서가 왜 보장되어야 하는지 잘 모르겠습니다.

 

선배님들에게 질문해봅니다.

번호 제목 글쓴이 날짜 조회 수
공지 [공지] 강좌, 팁, 정보등에 대해 올리는 게시판입니다. woos 2016.04.09 246
68 INNOPOLIS AI SPACE-S 인공지능 세미나 - GCP와 TFX로 쉽게 MLOps를 시작하는법 인공지능팩토리 2022.06.16 32
67 (채용 특전) 제7회 롯데멤버스 빅데이터 경진대회 인공지능팩토리 2022.06.16 36
66 [Git] 특정 파일을 포함한 커밋 & 수정 카운트 필터링 [2] file 이파란 2021.08.22 343
65 [커널 프로그래밍] 열심히 공부한 커널 코어 서브시스템 활용! [2] 이파란 2022.05.16 246
64 [QEMU] 보드 없이 ARM64 리눅스 가상 환경 구성하기 이파란 2022.05.29 213
63 [오픈소스] 성당과 시장 : 우연한 혁명으로 일어난 리눅스와 오픈소스에 대한 생각 이파란 2022.05.29 61
62 [과기부,NIPA] 2022년 인공지능 온라인 경진대회 참가자 모집합니다. [1] file ai.nipa2022 2022.05.19 77
61 Linux Kernel Network 관련 포스팅중입니다. pr0gr4m 2021.07.25 907
60 [Linux Kernel] Kernel history archaeologist file 이파란 2021.07.11 252
59 스터디 모집 공고 언제올라오나요? [3] eubl 2021.04.07 282
58 짧은 책소개, The Art of Multiprocessor Programming 빵먹고싶다 2021.04.26 278
57 [Parallel Computing] 슈퍼 클러스터? 이파란 2021.04.18 134
56 [Git] 함수의 변천사 확인하기 [1] 이파란 2021.01.23 326
55 스터디 가입문의 드립니다. [1] h388lee 2021.03.30 124
54 IUP. RISC-V 컴퓨터 구조 및 SoC 교육 프로그램 및 자료 file AndyLee 2021.03.24 930
53 init_pg_dir 도입 패치 분석 [2] DEWH 2020.12.31 234
» Barrier 가 꼭 필요한지 질문드립니다. [7] 콤퓨타 2020.11.15 1722
51 스터디 모임 질문 [3] 살길바라냐 2019.10.25 1201
50 2020년 스터디 모집 기간 문의 [1] 흰둥흰둥 2019.11.02 741
49 VIM에서 CONFIG_ 설정 확인하기 [19] pororo 2013.07.18 8512
XE Login