로그인 해주세요.

미니기기 / 음향 게시판 *스마트폰과 PC, 카메라, 스피커 등 IT 미니기기와 음향기기에 관해 교류하는 게시판입니다.

Score_고동빈

미니 리눅스 커널 근황: 패치로 인한 성능 향상이 너무나도 뛰어나서 롤백

- 두 달 전에 커밋된 inode 관련 최적화 로 인해 리눅스 커널에서의 EXT4 읽기 속도가 비약적으로 향상

- 근데 해당 패치가 적용된 커널으로 아치 리눅스를 부팅하면 부팅 중 행(멈춤)이 걸리는 문제 발생, 이유를 살펴보니

  - 특정 아치 리눅스 버전에서 getrandom() 호출을 하는 systemd 데몬을 부팅 중에 실행 

  - 근데 해당 패치를 적용한 커널의 경우에는 부팅 속도가 너무 빨라서 엔트로피 풀이 채워지기도 전에 부팅 완료

  - 부팅 중의 getrandom()은 원래 /dev/urandom과 같이 non-block 콜이어야 하나, 특정 라이브러리(cryptsetup)와의 의존성 문제 때문에 block이 이루어짐

  - 결국 이게 해결될 때 까지 해당 커밋 롤백(...)

 

부가 설명:

- getrandom()은 말 그대로 랜덤한 숫자를 제공해 주는 함수입니다. 

근데 이 랜덤한 숫자라는 게, 사실 엔트로피 풀이라는 저장 공간 내에서 숫자를 하나 뽑아서 리턴 해 주는것이라 엔트로피 풀이 비어있으면 당연히 랜덤 넘버도 전달할 수 없습니다.

이 엔트로피 풀은 커널의 다양한 이벤트 발생으로 채워집니다 (https://stackoverflow.com/questions/19981189/how-does-the-kernel-entropy-pool-work 참고)

-  non-block 콜이어야 한다는 건, getrandom() 함수를 실행하는 게 다른 프로그램의 실행에 영향이 없어야 한다는 뜻이나... 그게 정상적으로 작동하지 않음으로 인해 데드락이 발현됩니다.

- getrandom()이 결과값을 리턴하려면 커널의 엔트로피 풀이 채워져야 되는데, 엔트로피 풀이 채워지려면 getrandom()이 끝나고 다른 이벤트들이 발생해야 하고, 그러려면 엔트로피 풀이 채워져야 하고... 무한 반복이 되는거죠.

 

Score_고동빈
2141 / 1260 / 2217 / 1864 / 2014 / 2093 / 1842 / 2190 / 2093 / 2094 / 1998
댓글
2
BarryWhite
1등 BarryWhite
2019.09.17. 07:53

신기하네요. 얼마나 빨라졌길래...

[BarryWhite]님의 댓글을 신고합니다. 취소 신고
Score_고동빈
글쓴이
Score_고동빈 BarryWhite 님께
2019.09.17. 08:01

더 정확히 들어가면

해당 패치가 쓸모없는 I/O 작업을 줄여주는건데, I/O 작업 갯수가 줄어드니까 엔트로피 풀도 덜 채워지고... 그래서 그런거죠.

[Score_고동빈]님의 댓글을 신고합니다. 취소 신고
취소
번호 분류 제목 글쓴이 날짜 조회 수
공지 공지 사이트 이용 수칙 230228 수정 file admin 18.08.04 114236 13
핫글 미니 삼성 공홈에서 액세서리 떨이하네요 [4] file MrGom™ 11:39 1360 12
핫글 미니 황회장님 픽셀 쓰시는 군요 [6] file 애갤삼아 10:30 1123 11
핫글 미니 갤럭시 워치7 충전 속도 15W [17] file BarryWhite 13:16 986 7
70289 미니 S11이 센서사이즈 키우면 [4] dlwlrma 19.05.29 354 2
70288 미니 루머] 새 시네 루믹스는 DC-S1H, 스펙유출 [2] file 팝카드있으세요 19.05.29 256 2
70287 미니 KBS에서 삼성 때리기 시전하는군요 [21] file 플래그쉽GU 19.05.29 829 2
70286 미니 애드가드 DNS는 사용 안하는걸 추천합니다 [2] 기븐 19.05.31 9047 2
70285 미니 여러분 스마트폰 기술 최초경쟁에 너무 집착하지 마세요 [6] Eidio 19.06.03 342 2
70284 미니 폴드가 미래에 노트를 대체하게 될까요? [7] Fernweh 19.06.03 301 2
70283 미니 iPadOS 멀티태스킹 테스트. [3] VentAzure 19.06.05 580 2
70282 미니 7nm EUV 관련 동향 기사... [8] ARMCC 19.06.05 705 2
70281 미니 놋10 렌더링 괜찮지 않나요 [6] file 팝카드있으세요 19.06.06 703 2
70280 미니 파나소닉, LUMIX S1 V-Log 펌웨어 예정 [1] 팝카드있으세요 19.06.06 157 2
70279 미니 2400G 브루스타 에디션.jpg [3] file BarryWhite 19.06.10 576 2
70278 미니 샀숑 ㅠㅠ [2] file Magyarország 19.06.10 326 2
70277 미니 디렘이 도착했습니다. [16] file VentAzure 19.06.12 694 2
70276 미니 찌라시)AMD 삼성 그래픽 협업 관련 [15] 다잊어야해욥 19.06.12 836 2
70275 미니 삼성 갤럭시폴드, 7월말 출시..물량 공급이 문제 [23] 으냥 19.06.13 682 2
70274 미니 불칸 비교 [6] file qazsdf 19.06.13 592 2
70273 미니 왔슈. [3] file 크로아츠 19.06.15 294 2
70272 미니 갓스비 갓전.. 삼성 감사합니다 [21] file 오토카모 19.06.16 1106 2
70271 미니 노트10 Pro/노트10 보호필름 [7] file 다잊어야해욥 19.06.18 617 2
70270 미니 슈피겐 전품목 30%+30% 중복 할인 행사합니다 [20] file Helix 19.06.24 711 2
70269 미니 3.5mm 이어폰 단자 제거 조건부 찬성합니다. [9] Stellist 19.06.25 422 2
70268 미니 화웨이, 중국군과 AI·무선통신 협력 사실 드러나 [4] 팝카드있으세요 19.06.27 363 2
70267 미니 결국 디렘 교환 이네요... [2] AriMoon 19.06.27 284 2
70266 미니 디램이 떡락했다기에 [4] file 갤러리별 19.06.27 665 2
70265 미니 노트10+ 유출 [27] file N935S 19.06.28 986 2

추천 IT 소식 [1/]

스킨 기본정보

colorize02 board
2017-03-02
colorize02 게시판

사용자 정의

1. 게시판 기본 설정

게시판 타이틀 하단에 출력 됩니다.

일반 게시판, 리스트 게시판, 갤러리 게시판에만 해당

2. 글 목록

기본 게시판, 일반 게시판, 썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

3. 갤러리 설정

4. 글 읽기 화면

기본 10명 (11명 일 경우, XXXXX 외 1명으로 표시)

5. 댓글 설정

일정 수 이상의 추천을 받은 댓글에 표시를 합니다.

6. 글 쓰기 화면 설정

글 쓰기 폼에 미리 입력해 놓을 문구를 설정합니다.

서버에 요청 중입니다. 잠시만 기다려 주십시오...