미니기기 코리아

로그인 해주세요.

미니기기 / 음향

스마트폰과 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_고동빈
Apple A2217
Apple A2093
Apple A1639
Apple A1670
Apple A1990
Apple A2031/A2032 + Apple A1602
Samsung SM-N971N
Varmilo VA108Mac Cherry Red
댓글
2
BarryWhite
1등 BarryWhite
2019.09.17. 07:53

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

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

더 정확히 들어가면

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

[Score_고동빈]님의 댓글을 신고합니다. 취소 신고
취소
번호 분류 제목 글쓴이 날짜 조회 수
공지 공지 미니기기 게시판 이용수칙 190917 수정 file admin 18.08.04 6 8491
핫글 미니 우체국에서 주문도 안한 케이스가.. [10] updatefile aleji 19.10.19 2 644
핫글 미니 이상하게 전 v50s가 마렵네요... [15] update 멜로엘로 19.10.19 2 379
30120 미니 삼성 ANC 2019 이어폰 후기 [12] LG알바 19.09.17 1 792
30119 미니 [9] 요트마스터 19.09.17 0 794
30118 음향 삼성 노캔 불행회로 [22] 오토카모 19.09.17 0 520
30117 미니 딜 종료입니다. [10] file S.C 19.09.17 0 468
30116 미니 탑승완료 [2] file 서녘마리 19.09.17 0 396
30115 미니 일찍 일어나는 새가 [2] reador... 19.09.17 0 211
30114 미니 액티브2, 워치, 기어s3 [7] 타령총각 19.09.17 0 228
30113 미니 삼성 ANC 어플 받아 놓으세요 [2] file LG알바 19.09.17 0 905
30112 미니 자고 일어나니 노캔 핫하네요 [1] Admission 19.09.17 0 240
30111 미니 저도 노캔코인 탑승 [5] file asS9 19.09.17 0 667
30110 미니 픽셀이나 아이폰이나 카메라 위치를 저렇게 한건 [3] pigini 19.09.17 0 196
30109 미니 애플 이거가 혁신일까요? [2] 공대생은공대장 19.09.17 0 290
30108 미니 SK 편안... [9] file 바인더7CM 19.09.17 0 359
30107 미니 저도 ANC 코인 탑승 [2] 브니엘 19.09.17 0 286
30106 미니 애플 아케이드 열렸네요 [1] file Score_고동빈 19.09.17 0 343
30105 미니 갤럭시폴드 물량 이통사로 간건가요..? [7] Futuristics 19.09.17 0 268
30104 미니 노트9인데 Anc를 구입한 거시에요 [2] chromium 19.09.17 0 370
미니 리눅스 커널 근황: 패치로 인한 성능 향상이 너무나도 뛰어나서 롤백 [2] Score_고동빈 19.09.17 2 349
30102 미니 오늘 LG u+ 5G속도가 빠르네요 [2] file Futuristics 19.09.17 0 198
30101 미니 구매완료 file 노트노트 19.09.17 0 293

스킨 기본정보

colorize02 board
2017-03-02
colorize02 게시판

사용자 정의

1. 게시판 기본 설정

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

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

2. 글 목록

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

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

3. 갤러리 설정

4. 글 읽기 화면

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

5. 댓글 설정

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

6. 글 쓰기 화면 설정

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

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