로그인 해주세요.

미니기기 / 음향 게시판 *스마트폰과 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 117714 13
핫글 미니 애플 디자인 경향이 좋은지는 모르겠습니다 [13] file peekaboob 24.08.02 1339 14
핫글 미니 왔습니다 ㅎㅎ [3] file 샐리 24.08.02 661 12
핫글 미니 아이폰16 시리즈 한국 출시일정 썰 [4] update Stellist 24.08.02 1030 11
30146 미니 S25 시리즈부턴 퀄콤칩도... [17] 흡혈귀왕 23.03.08 1193 5
30145 미니 잡담: 2400관련 & RDNA2 클럭 vs 파워 소모량 그래프 [1] file Section31 23.03.08 624 1
30144 미니 방정리하다 고대유물 몇 개 건졌습니다 [5] file 크나앙 23.03.08 556 3
30143 미니 중국발 Zen4 모바일 전성비자료.jpg [3] file 스퀴니 23.03.08 738 1
30142 미니 라이젠 8천번대, 인텔14세대 cpu 성능 크게올라갈까요? [6] 출사표 23.03.08 1266 0
30141 미니 이번 아이폰 14의 노란색을 보니까 [6] file 숨겨진오징어 23.03.08 834 3
30140 미니 인텔 "팬서 레이크"는 3세대 Xe GPU를 탑재합니다 file PatGelsinger 23.03.08 299 2
30139 미니 갤럭시 M14 5G 공개 [1] file 운김 23.03.08 523 3
30138 미니 MX의 최종 목포는 과거 애플의 역할일걸요 [7] 갠냑시 23.03.08 946 1
30137 미니 엔비디아 Game Ready 531.26 핫픽스 드라이버 [2] PatGelsinger 23.03.08 416 1
30136 미니 라이젠 3d캐시가 [8] 출사표 23.03.08 537 0
30135 미니 S23U 쓰면 쓸수록 만족스럽네요 [29] 하나림 23.03.08 1606 14
30134 미니 갬성있는척 [29] file 통장잔고풀잔고 23.03.08 1337 28
30133 미니 갤럭시S23+ 8기가램이 게임하다가 홈 복귀할때 체감이 확되네요. [4] daystory 23.03.08 916 1
30132 미니 S23U 오늘자 음식샷 [6] file 흡혈귀왕 23.03.08 566 8
30131 미니 결국 외이도염에 걸렸습니다 [3] 마키세크리스 23.03.08 974 3
30130 미니 요즘 로아와 사랑에 빠져버렸습니다. [4] 도저히못참겠다 23.03.08 709 0
30129 미니 라이젠7천번대, 인텔13세대가 하스웰cpu, 라이젠1천번대와 비교시 성능향상이 어느정도 된거에요? [3] 출사표 23.03.08 500 0
30128 미니 성수 갤럭시 s23 체험 존 사진들 [3] file S.R 23.03.08 1239 14
30127 미니 그러고보니 Zen4 APU의 780m 클럭이 너프되었더군요 [6] 흡혈귀왕 23.03.08 542 3
30126 미니 일단 자체칩인 2500에 딱히 RDNA3 고집할 필요 없어보입니다. [8] 흡혈귀왕 23.03.08 861 5
30125 미니 갤럭시 내 인스타그램에서도 고화질모드 생겼나봅니다! [14] file medicine 23.03.08 3591 26
30124 미니 굿노트 안드로이드 써보려고 했더니.. [2] AurA 23.03.08 778 1
30123 미니 S23 시리즈 배터리 보면.. [4] AurA 23.03.08 1196 8
30122 미니 갤북3 민팃 추가보상금 2주만에 받았네요 [4] file LG산흑우 23.03.08 622 7

추천 IT 소식 [1/]

스킨 기본정보

colorize02 board
2017-03-02
colorize02 게시판

사용자 정의

1. 게시판 기본 설정

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

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

2. 글 목록

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

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

3. 갤러리 설정

4. 글 읽기 화면

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

5. 댓글 설정

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

6. 글 쓰기 화면 설정

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

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