로그인 해주세요.

미니기기 / 음향 게시판 *스마트폰과 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 117697 13
핫글 미니 구매했습니다 [16] file 샐리 15:12 588 11
핫글 미니 버즈3프로 한국 출시 근황.. [6] updatefile Stellist 15:07 815 9
핫글 미니 DC Rainmaker 갤럭시 워치 울트라 리뷰 file Mint 16:25 363 8
73077 미니 적응형 노이즈 캔슬링이 원래 이런 건가요? [2] Alternative 24.07.27 602 1
73076 미니 OS18 베타4 핫픽스 나왔나 보네요 [6] file aleji 24.07.27 817 1
73075 미니 갤럭시 워치 FE 국내 정발! 가마 24.07.28 720 1
73074 미니 써멀 그리즐리, 페이즈시트 PTM 출시 file PatGelsinger 24.07.28 151 1
73073 미니 가격 인상의 전조 드러난 엔비디아, GPU 공급량 대폭 감축! RTX 4070 이상은 더욱 타이트하게! PatGelsinger 24.07.28 456 1
73072 미니 갤럭시 A06 사양 및 렌더링 유출 [3] file PatGelsinger 24.07.28 723 1
73071 음향 버즈3프로 교환 받아봐야 할 거 같습니다.... [3] 허쉬 24.07.28 588 1
73070 미니 이미지 영상 작업할 땐 역시 메모리가 커야하는군요 [6] file 숨겨진오징어 24.07.28 539 1
73069 미니 광축 틀어짐 고질병같은데 갤럭시에만 생기는건가요? [4] gaida 24.07.28 921 1
73068 미니 루머: 샤오미 15 시리즈 디자인? file Section31 24.07.28 558 1
73067 미니 충전 시 에 좋은, 나쁜전기가 있나요? 노트북에 연결해서 충전하니까 [8] flair 24.07.29 570 1
73066 미니 새로운 아이콘이 적용된 인터넷과 시계가 APKMirror에 업로드 됐네요. [9] file 웽웽 24.07.29 904 1
73065 미니 잡담: (외부 펌) 스트릭트 포인트 다이샷 공개 [3] file Section31 24.07.29 375 1
73064 미니 갤럭시에서 파이어폭스 쓰는 분 계십니까? [7] Genoc1de 24.07.29 404 1
73063 미니 notebookcheck.net 라이젠 HX370 종합 게임 성능 [15] file PatGelsinger 24.07.29 489 1
73062 미니 독일 놋북체크에서 HX370 iGPU분석을 상세히했네요 [1] file 스퀴니 24.07.29 356 1
73061 미니 폴드3 방수 능력 확실하네요 [1] file 닉포토 24.07.29 560 1
73060 미니 전력별 Ally X vs HX370 게임성능 [6] file PatGelsinger 24.07.29 587 1
73059 미니 소니 PS 포탈 국내 출시일은 9월 4일 BarryWhite 24.07.29 176 1
73058 미니 갤럭시 버튼이 빠르긴 빨라요 [11] Kanata 24.07.29 1358 1
73057 미니 아이폰 SE4 BOE 단독 패널 공급이 아니였군요. ㄷㄷ [2] 요트맨 24.07.29 891 1
73056 미니 관짝에 넣기 싫은 플립을 살리는 중입니다 [2] file 헤페바이쎄 24.07.29 443 1
73055 미니 삼성 스마트모니터가 저절로 자꾸 켜집니다. [2] 심플리 24.07.29 510 1
73054 미니 사실 삼파가 못해도 됩니다 [14] 갠냑시 24.07.29 1161 1
73053 미니 유독 중국쪽 앱들이 백그라운드 잡아먹네요 [4] Beoplay31 24.07.29 723 1

추천 IT 소식 [1/]

스킨 기본정보

colorize02 board
2017-03-02
colorize02 게시판

사용자 정의

1. 게시판 기본 설정

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

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

2. 글 목록

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

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

썸네일 게시판만 해당

3. 갤러리 설정

4. 글 읽기 화면

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

5. 댓글 설정

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

6. 글 쓰기 화면 설정

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

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