๋ ๋ฌ๊ฐ์ ๊ฐ๋ฐ ๋์ Linus Torvalds๋ Linux ์ปค๋ 5.15์ ์ถ์๋ฅผ ๋ฐํํ์ต๋๋ค. ์ฃผ๋ชฉํ ๋งํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค: ์ฐ๊ธฐ ์ง์์ด ํฌํจ๋ ์๋ก์ด NTFS ๋๋ผ์ด๋ฒ, SMB ์๋ฒ ๊ตฌํ์ด ํฌํจ๋ ksmbd ๋ชจ๋, ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค ๋ชจ๋ํฐ๋ง์ ์ํ DAMON ํ์ ์์คํ , ์ค์๊ฐ ์ ๊ธ ํ๋ฆฌ๋ฏธํฐ๋ธ, Btrfs์ fs-verity ์ง์, ๊ธฐ์ ์๋ต ์์คํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ํ process_mrelease ์์คํ ํธ์ถ, ์๊ฒฉ ์ธ์ฆ ๋ชจ๋ dm-ima.
์ ๋ฒ์ ์๋ 13499๋ช ์ ๊ฐ๋ฐ์๊ฐ ์์ ํ 1888๊ฐ๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ ํจ์น ํฌ๊ธฐ๋ 42MB์ ๋๋ค(๋ณ๊ฒฝ ์ฌํญ์ 10895๊ฐ ํ์ผ์ ์ํฅ์ ๋ฏธ์น๊ณ 632522์ค์ ์ฝ๋๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ 299966์ค์ด ์ญ์ ๋์์ต๋๋ค). 45์ ๋์ ๋ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ฝ 5.15%๋ ์ฅ์น ๋๋ผ์ด๋ฒ์ ๊ด๋ จ์ด ์๊ณ , ์ฝ 14%๋ ํ๋์จ์ด ์ํคํ ์ฒ ๊ด๋ จ ์ฝ๋ ์ ๋ฐ์ดํธ์ ๊ด๋ จ์ด ์์ผ๋ฉฐ, 14%๋ ๋คํธ์ํน ์คํ๊ณผ ๊ด๋ จ์ด ์๊ณ , 6%๋ ํ์ผ ์์คํ ๊ณผ ๊ด๋ จ์ด ์์ผ๋ฉฐ, 3%๋ ๋ด๋ถ ์ปค๋ ํ์ ์์คํ ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
์ฃผ์ ํ์ :
- ๋์คํฌ ํ์ ์์คํ
, I/O ๋ฐ ํ์ผ ์์คํ
- ์ปค๋์ Paragon Software์์ ๊ณต๊ฐํ NTFS ํ์ผ ์์คํ ์ ์๋ก์ด ๊ตฌํ์ ์ฑํํ์ต๋๋ค. ์ ๋๋ผ์ด๋ฒ๋ ์ฐ๊ธฐ ๋ชจ๋์์ ์๋ํ ์ ์์ผ๋ฉฐ ํ์ฅ๋ ํ์ผ ์์ฑ, ์ก์ธ์ค ๋ชฉ๋ก(ACL), ๋ฐ์ดํฐ ์์ถ ๋ชจ๋, ํ์ผ์ ๋น ๊ณต๊ฐ์ ๋ํ ํจ๊ณผ์ ์ธ ์์ (ํฌ์) ๋ฐ ๋ณ๊ฒฝ ๋ด์ฉ ์ฌ์์ ํฌํจํ์ฌ ํ์ฌ ๋ฒ์ NTFS 3.1์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค. ์คํจ ํ ๋ฌด๊ฒฐ์ฑ์ ๋ณต์ํ๊ธฐ ์ํ ๋ก๊ทธ์ ๋๋ค.
- Btrfs ํ์ผ ์์คํ
์ ๋ฉํ๋ฐ์ดํฐ ์์ญ์ ์ ์ฅ๋ ํ์ผ๊ณผ ๊ด๋ จ๋ ์ํธํ ํด์ ๋๋ ํค๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋ณ ํ์ผ์ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ ๋ขฐ์ฑ์ ํฌ๋ช
ํ๊ฒ ์ ์ดํ๋ โโ๋ฐ ์ฌ์ฉ๋๋ fs-verity ๋ฉ์ปค๋์ฆ์ ์ง์ํฉ๋๋ค. ์ด์ ์๋ fs-verity๋ฅผ โโExt4 ๋ฐ F2fs ํ์ผ ์์คํ
์์๋ง ์ฌ์ฉํ ์ ์์์ต๋๋ค.
Btrfs๋ ๋ํ ๋ง์ดํธ๋ ํ์ผ ์์คํ ์ ๋ํ ์ฌ์ฉ์ ID ๋งคํ ์ง์์ ์ถ๊ฐํฉ๋๋ค(์ด์ ์๋ FAT, ext4 ๋ฐ XFS ํ์ผ ์์คํ ์์ ์ง์๋จ). ์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๋ง์ดํธ๋ ์ธ๋ถ ํํฐ์ ์ ์๋ ํน์ ์ฌ์ฉ์์ ํ์ผ์ ํ์ฌ ์์คํ ์ ์๋ ๋ค๋ฅธ ์ฌ์ฉ์์ ๋น๊ตํ ์ ์์ต๋๋ค.
Btrfs์ ๋ํ ๋ค๋ฅธ ๋ณ๊ฒฝ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ํ์ผ ์์ฑ ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ๋๋ ํฐ๋ฆฌ ์ธ๋ฑ์ค์ ํค๋ฅผ ๋ ๋น ๋ฅด๊ฒ ์ถ๊ฐํฉ๋๋ค. ํ๋์ ์ฅ์น๋ก raid0์ ์๋ํ๊ณ ๋ ๊ฐ์ ์ฅ์น๋ก raid10์ ์๋ํ๋ ๊ธฐ๋ฅ(์: ์ด๋ ์ด ์ฌ๊ตฌ์ฑ ํ๋ก์ธ์ค ์ค) ์๋ชป๋ ๋ฒ์ ํธ๋ฆฌ๋ฅผ ๋ฌด์ํ๋ ค๋ฉด "rescue=ibadroots" ์ต์ ์ ์ฌ์ฉํ์ธ์. "๋ณด๋ด๊ธฐ" ์์ ์ ๊ฐ์ํ; ์ด๋ฆ ๋ณ๊ฒฝ ์์ ์ค ์ ๊ธ ์ถฉ๋ ๊ฐ์; 4K ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง ํฌ๊ธฐ๋ฅผ ๊ฐ์ง ์์คํ ์์ 64K ์นํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ.
- XFS์์๋ ํ์ผ ์์คํ ์์ 2038๋ ์ดํ ๋ ์ง๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ด ์์ ํ๋์์ต๋๋ค. ์ง์ฐ๋ inode ๋นํ์ฑํ๋ฅผ ์ํ ๋ฉ์ปค๋์ฆ๊ณผ ์ง์ฐ๋ ์ค์น ๋ฐ ํ์ผ ์์ฑ ์ ๊ฑฐ ์ง์์ ๊ตฌํํ์ต๋๋ค. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ด๋ฏธ ๋ง์ดํธ๋ ํํฐ์ ์ ๋ํ ๋์คํฌ ํ ๋น๋์ ๋นํ์ฑํํ๋ ๊ธฐ๋ฅ์ด ์ ๊ฑฐ๋์์ต๋๋ค(ํ ๋น๋์ ๊ฐ์ ๋ก ๋นํ์ฑํํ ์ ์์ง๋ง ํ ๋น๋๊ณผ ๊ด๋ จ๋ ๊ณ์ฐ์ ๊ณ์๋๋ฏ๋ก ์์ ํ ๋นํ์ฑํํ๋ ค๋ฉด ๋ค์ ๋ง์ดํธํด์ผ ํฉ๋๋ค).
- EXT4์์๋ delalloc ๋ฒํผ ์ฐ๊ธฐ ์ฑ๋ฅ์ ๋์ด๊ณ ์ด๋ ค ์์ง๋ง ๋๋ ํฐ๋ฆฌ์ ์ฐ๊ฒฐ๋์ง ์๊ธฐ ๋๋ฌธ์ ๊ณ์ ์กด์ฌํ๋ ๊ณ ์ ํ์ผ์ ์ฒ๋ฆฌํ๋ ์์ ์ด ์ํ๋์์ต๋๋ค. ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ ์์ ์ฐจ๋จ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ญ์ ์์ ์ฒ๋ฆฌ๊ฐ jbd2 kthread ์ค๋ ๋ ์ธ๋ถ๋ก ์ด๋๋์์ต๋๋ค.
- F2FS๋ ํ๊ธฐ ์์ (๋ ์ด์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ์ฅ๋์ง ์์ ์ ์๋ ํด์ ๋ ๋ธ๋ก ํ์)์ ๋ธ๋ก, ์นํฐ, ์ธ๊ทธ๋จผํธ ๋๋ ์น์ ๊ณผ ๊ด๋ จ๋ ์ ๋ ฌ์ ๋ฐ์ธ๋ฉํ๊ธฐ ์ํด "discard_unit=block|segment|section" ์ต์ ์ ์ถ๊ฐํ์ต๋๋ค. I/O ๋๊ธฐ ์๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ๊ธฐ ์ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- EROFS(ํ์ฅ ๊ฐ๋ฅํ ์ฝ๊ธฐ ์ ์ฉ ํ์ผ ์์คํ ) ํ์ผ ์์คํ ์ fiemap ์ง์๋ฟ๋ง ์๋๋ผ ์์ถ ์์ด ์ ์ฅ๋ ํ์ผ์ ๋ํ ์ง์ I/O ์ง์์ ์ถ๊ฐํฉ๋๋ค.
- OverlayFS๋ "immutable", "append-only", "sync" ๋ฐ "noatime" ๋ง์ดํธ ํ๋๊ทธ์ ์ฌ๋ฐ๋ฅธ ์ฒ๋ฆฌ๋ฅผ ๊ตฌํํฉ๋๋ค.
- NFS๋ NFS ์๋ฒ๊ฐ ์์ฒญ์ ๋ํ ์๋ต์ ์ค์งํ๋ ์ํฉ ์ฒ๋ฆฌ๋ฅผ ๊ฐ์ ํ์ต๋๋ค. ์ด๋ฏธ ์ฌ์ฉ ์ค์ด์ง๋ง ๋ค๋ฅธ ๋คํธ์ํฌ ์ฃผ์๋ฅผ ํตํด ์ก์ธ์คํ ์ ์๋ ์๋ฒ์์ ๋ง์ดํธํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- FSCACHE ํ์ ์์คํ ์ ๋ค์ ์์ฑํ๊ธฐ ์ํ ์ค๋น๊ฐ ์์๋์์ต๋๋ค.
- GPT ํ ์ด๋ธ์ ๋นํ์ค ๋ฐฐ์น๋ก EFI ํํฐ์ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- fanotify ๋ฉ์ปค๋์ฆ์ ๋ฐํ๋ ๋ฉํ๋ฐ์ดํฐ์ pidfd๊ฐ ํฌํจ๋๋๋ก ํ๋ ์๋ก์ด ํ๋๊ทธ FAN_REPORT_PIDFD๋ฅผ ๊ตฌํํฉ๋๋ค. Pidfd๋ PID ์ฌ์ฌ์ฉ ์ํฉ์ ์ฒ๋ฆฌํ์ฌ ๋ชจ๋ํฐ๋ง๋ ํ์ผ์ ์ก์ธ์คํ๋ ํ๋ก์ธ์ค๋ฅผ ๋ณด๋ค ์ ํํ๊ฒ ์๋ณํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค(pidfd๋ ํน์ ํ๋ก์ธ์ค์ ์ฐ๊ฒฐ๋์ด ๋ณ๊ฒฝ๋์ง ์๋ ๋ฐ๋ฉด, PID๋ ํด๋น PID์ ์ฐ๊ฒฐ๋ ํ์ฌ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋ ํ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ฐ๊ฒฐ๋ ์ ์์ต๋๋ค).
- ๊ธฐ์กด ๊ณต์ ๊ทธ๋ฃน์ ๋ง์ดํธ ์ง์ ์ move_mount() ์์คํ ํธ์ถ์ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค. ์ด๋ ๊ฒฉ๋ฆฌ๋ ์ปจํ ์ด๋์ ๊ณต์ ๋ ๋ง์ดํธ ๊ณต๊ฐ์ด ์ฌ๋ฌ ๊ฐ ์๋ ๊ฒฝ์ฐ CRIU์์ ํ๋ก์ธ์ค ์ํ๋ฅผ ์ ์ฅํ๊ณ ๋ณต์ํ๋ ๋ฐ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
- ํ์ผ์ ๊ณต๋ฐฑ์ ์ฒ๋ฆฌํ๋ ๋์ ์บ์ ์ฝ๊ธฐ๋ฅผ ์ํํ ๋ ์ ์ฌ์ ์ผ๋ก ํ์ผ ์์์ ์ผ์ผํฌ ์ ์๋ ์จ๊ฒจ์ง ๊ฒฝ์ ์กฐ๊ฑด์ ๋ํ ๋ณดํธ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ํ์ผ ๋ณ๊ฒฝ์ผ๋ก ์ด์ด์ง๋ ์์คํ ํธ์ถ ์ฐจ๋จ์ ํตํด ๊ตฌํ๋ ํ์(mandatory) ํ์ผ ์ ๊ธ ์ง์์ด ์ค๋จ๋์์ต๋๋ค. ๊ฐ๋ฅํ ๊ฒฝ์ ์กฐ๊ฑด์ผ๋ก ์ธํด ์ด๋ฌํ ์ ๊ธ์ ์ ๋ขฐํ ์ ์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋์ด ์๋ ์ ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
- LightNVM ํ์ ์์คํ ์ด ์ ๊ฑฐ๋์ด ์๋ฎฌ๋ ์ด์ ๊ณ์ธต์ ์ฐํํ์ฌ SSD ๋๋ผ์ด๋ธ์ ์ง์ ์ก์ธ์คํ ์ ์์์ต๋๋ค. LightNVM์ ๊ตฌ์ญํ(ZNS, ๊ตฌ์ญํ๋ ๋ค์์คํ์ด์ค)๋ฅผ ์ ๊ณตํ๋ NVMe ํ์ค์ ์ถํ ์ดํ ๊ทธ ์๋ฏธ๋ฅผ ์์์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์์คํ
์๋น์ค
- DAMON(Data Access MONitor) ํ์ ์์คํ ์ด ๊ตฌํ๋์ด ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์คํ ์ค์ธ ์ ํ๋ ํ๋ก์ธ์ค์ ๊ด๋ จํ์ฌ RAM์ ๋ฐ์ดํฐ ์ก์ธ์ค์ ๊ด๋ จ๋ ํ๋์ ๋ชจ๋ํฐ๋งํ ์ ์์ต๋๋ค. ํ์ ์์คํ ์ ์ฌ์ฉํ๋ฉด ์ ์ฒด ์์ ์ค์ ํ๋ก์ธ์ค๊ฐ ์ก์ธ์คํ ๋ฉ๋ชจ๋ฆฌ ์์ญ๊ณผ ์์ฒญ๋์ง ์์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ถ์ํ ์ ์์ต๋๋ค. DAMON์ ํฌ๊ธฐ์ ๊ด๊ณ์์ด ๋ฎ์ CPU ๋ก๋, ๋ฎ์ ๋ฉ๋ชจ๋ฆฌ ์๋น, ๋์ ์ ํ์ฑ ๋ฐ ์์ธก ๊ฐ๋ฅํ ์ผ์ ํ ์ค๋ฒํค๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ํ์ ์์คํ ์ ์ปค๋์์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ต์ ํํ๊ณ ์ฌ์ฉ์ ๊ณต๊ฐ์ ์ ํธ๋ฆฌํฐ์์ ํ๋ก์ธ์ค๊ฐ ์ํํ๋ ์์ ์ ์ ํํ ์ดํดํ๊ณ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์ ์ต์ ํํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค(์: ์์คํ ์ ๊ณผ๋ํ ๋ฉ๋ชจ๋ฆฌ ํ๋ณด).
- ์คํ์ด ์๋ฃ๋ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ๋ ๊ณผ์ ์ ์๋๋ฅผ ๋์ด๊ธฐ ์ํด process_mrelease ์์คํ ํธ์ถ์ด ๊ตฌํ๋์์ต๋๋ค. ์ ์์ ์ธ ์ํฉ์์ ๋ฆฌ์์ค ํด์ ๋ฐ ํ๋ก์ธ์ค ์ข ๋ฃ๋ ์ฆ๊ฐ์ ์ด์ง ์์ผ๋ฉฐ ๋ค์ํ ์ด์ ๋ก ์ง์ฐ๋ ์ ์์ผ๋ฉฐ, ์ด๋ก ์ธํด oomd(systemd์์ ์ ๊ณต) ๋ฐ lmkd(Android์์ ์ฌ์ฉ)์ ๊ฐ์ ์ฌ์ฉ์ ๊ณต๊ฐ ๋ฉ๋ชจ๋ฆฌ ์กฐ๊ธฐ ์๋ต ์์คํ ์ ๋ฐฉํดํ ์ ์์ต๋๋ค. process_mrelease๋ฅผ ํธ์ถํ๋ฉด ์ด๋ฌํ ์์คํ ์ ๊ฐ์ ํ๋ก์ธ์ค์์ ๋ฉ๋ชจ๋ฆฌ ํ์๋ฅผ ๋์ฑ ์์ธก ๊ฐ๋ฅํ๊ฒ ํธ๋ฆฌ๊ฑฐํ ์ ์์ต๋๋ค.
- ์ค์๊ฐ ์์ ์ ๋ํ ์ง์์ ๊ฐ๋ฐํ๋ PREEMPT_RT ์ปค๋ ๋ธ๋์น์์ RT-Mutex ํ์ ์์คํ ์ ๊ธฐ๋ฐ์ผ๋ก ์ ๊ธ mutex, ww_mutex, rw_semaphore, spinlock ๋ฐ rwlock์ ๊ตฌ์ฑํ๊ธฐ ์ํ ๊ธฐ๋ณธ ํ์์ ๋ณํ์ด ์ ์ก๋์์ต๋๋ค. PREEMPT_RT ๋ชจ๋์ ์๋์ ๊ฐ์ ํ๊ณ ์ธํฐ๋ฝํธ์ ๋ํ ์ํฅ์ ์ค์ด๊ธฐ ์ํด SLUB ์ฌ๋ฉ ํ ๋น์์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- SCHED_IDLE ์์ ์ค์ผ์ค๋ฌ ์์ฑ์ ๋ํ ์ง์์ด cgroup์ ์ถ๊ฐ๋์ด ํน์ cgroup์ ํฌํจ๋ ๊ทธ๋ฃน์ ๋ชจ๋ ํ๋ก์ธ์ค์ ์ด ์์ฑ์ ์ ๊ณตํ ์ ์์ต๋๋ค. ์ ๊ฒ๋ค. ์ด๋ฌํ ํ๋ก์ธ์ค๋ ์์คํ ์์ ์คํ ๋๊ธฐ ์ค์ธ ๋ค๋ฅธ ์์ ์ด ์๋ ๊ฒฝ์ฐ์๋ง ์คํ๋ฉ๋๋ค. SCHED_IDLE ์์ฑ์ ๊ฐ ํ๋ก์ธ์ค์ ๊ฐ๋ณ์ ์ผ๋ก ์ค์ ํ๋ ๊ฒ๊ณผ ๋ฌ๋ฆฌ SCHED_IDLE์ cgroup์ ๋ฐ์ธ๋ฉํ ๋ ์คํํ ์์ ์ ์ ํํ ๋ ๊ทธ๋ฃน ๋ด ์์ ์ ์๋์ ๊ฐ์ค์น๊ฐ ๊ณ ๋ ค๋ฉ๋๋ค.
- cgroup์ ๋ฉ๋ชจ๋ฆฌ ์๋น๋ฅผ ๊ณ์ฐํ๋ ๋ฉ์ปค๋์ฆ์ ํด๋ง, ์ ํธ ์ฒ๋ฆฌ ๋ฐ ๋ค์์คํ์ด์ค๋ฅผ ์ํด ์์ฑ๋ ๊ฒ์ ํฌํจํ์ฌ ์ถ๊ฐ ์ปค๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ถ์ ํ๋ ๊ธฐ๋ฅ์ผ๋ก ํ์ฅ๋์์ต๋๋ค.
- ์ผ๋ถ CPU๊ฐ 32๋นํธ ์์ ์คํ์ ํ์ฉํ๊ณ ์ผ๋ถ CPU๊ฐ 64๋นํธ ๋ชจ๋(์: ARM)์์๋ง ์๋ํ๋ ์ํคํ ์ฒ์ ํ๋ก์ธ์ ์ฝ์ด์ ๋ํ ์์ ๋ฐ์ธ๋ฉ์ ๋น๋์นญ ์ค์ผ์ค๋ง์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ฉด 32๋นํธ ์์ ์ ์์ฝํ ๋ 32๋นํธ ์์ ์ ์ง์ํ๋ CPU๋ง ๊ณ ๋ คํ ์ ์์ต๋๋ค.
- io_uring ๋น๋๊ธฐ I/O ์ธํฐํ์ด์ค๋ ์ด์ ํ์ผ ์ค๋ช
์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๊ณ ์ ํ์ผ ์ธ๋ฑ์ค ํ
์ด๋ธ์์ ์ง์ ํ์ผ์ ์ด ์ ์๋๋ก ์ง์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ผ๋ถ ์ ํ์ ์์
์๋๋ฅผ ํฌ๊ฒ ๋์ผ ์ ์์ง๋ง ํ์ผ ์ค๋ช
์๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ์กด Unix ํ๋ก์ธ์ค์ ์ด๊ธ๋ฉ๋๋ค. ํ์ผ์ ์ด๋ ค๋ฉด.
BIO(Block I/O Layer) ํ์ ์์คํ ์ฉ io_uring์ ์๋ก์ด ์ฌํ์ฉ ๋ฉ์ปค๋์ฆ(โBIO ์ฌํ์ฉโ)์ ๊ตฌํํ์ฌ ๋ด๋ถ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ณผ์ ์์ ์ค๋ฒํค๋๋ฅผ ์ค์ด๊ณ ์ด๋น ์ฒ๋ฆฌ๋๋ I/O ์์ ์๋ฅผ ์ฝ 10% ๋๋ฆฝ๋๋ค. . io_uring์ mkdirat(), Symlinkat() ๋ฐ linkat() ์์คํ ํธ์ถ์ ๋ํ ์ง์๋ ์ถ๊ฐํฉ๋๋ค.
- BPF ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ ํ์ด๋จธ ์ด๋ฒคํธ๋ฅผ ์์ฒญํ๊ณ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค. UNIX ์์ผ์ฉ ๋ฐ๋ณต์๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ, setockopt์ ๋ํ ์์ผ ์ต์ ์ ๊ฐ์ ธ์ค๊ณ ์ค์ ํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค. BTF ๋คํผ๋ ์ด์ ์ ๋ ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ง์ํฉ๋๋ค.
- ์ฑ๋ฅ์ด ๋ค๋ฅธ ์ฌ๋ฌ ์ ํ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ NUMA ์์คํ ์์ ์ฌ์ ๊ณต๊ฐ์ด ์์ง๋๋ฉด ์ ๊ฑฐ๋ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง๋ ํด๋น ํ์ด์ง๋ฅผ ์ญ์ ํ๋ ๋์ ๋์ ๋ฉ๋ชจ๋ฆฌ(DRAM)์์ ๋๋ฆฐ ์๊ตฌ ๋ฉ๋ชจ๋ฆฌ(์๊ตฌ ๋ฉ๋ชจ๋ฆฌ)๋ก ์ ์ก๋ฉ๋๋ค. ํ ์คํธ ๊ฒฐ๊ณผ์ ๋ฐ๋ฅด๋ฉด ์ด๋ฌํ ์ ์ ์ ์ผ๋ฐ์ ์ผ๋ก ํด๋น ์์คํ ์ ์ฑ๋ฅ์ ํฅ์์ํค๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. NUMA๋ ๋ํ ์ ํ๋ NUMA ๋ ธ๋ ์ธํธ์์ ํ๋ก์ธ์ค์ ๋ํ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง๋ฅผ ํ ๋นํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ARC ์ํคํ ์ฒ์ ๊ฒฝ์ฐ 64๋ ๋ฒจ ๋ฐ XNUMX๋ ๋ฒจ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง ํ ์ด๋ธ์ ๋ํ ์ง์์ด ๊ตฌํ๋์ด XNUMX๋นํธ ARC ํ๋ก์ธ์์ ๋ํ ์ง์์ด ๋์ฑ ํ์ฑํ๋ฉ๋๋ค.
- s390 ์ํคํ ์ฒ์ ๊ฒฝ์ฐ KFENCE ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์์ ์ ์ค๋ฅ๋ฅผ ๊ฐ์งํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ผ๋ฉฐ KCSAN ๊ฒฝ์ ์กฐ๊ฑด ๊ฐ์ง๊ธฐ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- printk()๋ฅผ ํตํด ์ถ๋ ฅ๋ ๋ฉ์์ง ๋ชฉ๋ก์ ์์ธํ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์ด ์ด๋ฌํ ๋ชจ๋ ๋ฉ์์ง๋ฅผ ํ ๋ฒ์ ๊ฒ์ํ๊ณ ์ฌ์ฉ์ ๊ณต๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ถ์ ํ ์ ์์ต๋๋ค.
- mmap()์ VM_DENYWRITE ์ต์ ์ ๋ํ ์ง์์ ์ ๊ฑฐํ์ผ๋ฉฐ ์ปค๋ ์ฝ๋๋ MAP_DENYWRITE ๋ชจ๋ ์ฌ์ฉ์์ ์ ๊ฑฐ๋์์ต๋๋ค. ์ด๋ ETXTBSY ์ค๋ฅ๋ก ์ธํด ํ์ผ ์ฐ๊ธฐ๊ฐ ์ฐจ๋จ๋๋ ์ํฉ์ ์๋ฅผ ์ค์์ต๋๋ค.
- ์๋ก์ด ์ ํ์ ๊ฒ์ฌ์ธ "์ด๋ฒคํธ ํ๋ก๋ธ"๊ฐ ์ถ์ ํ์ ์์คํ ์ ์ถ๊ฐ๋์์ต๋๋ค. ์ด ์์คํ ์ ๊ธฐ์กด ์ถ์ ์ด๋ฒคํธ์ ์ฐ๊ฒฐํ์ฌ ๊ณ ์ ํ ์ถ๋ ฅ ํ์์ ์ ์ํ ์ ์์ต๋๋ค.
- Clang ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ปค๋์ ๋น๋ํ ๋ ์ด์ LLVM ํ๋ก์ ํธ์ ๊ธฐ๋ณธ ์ด์ ๋ธ๋ฌ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- ์ปดํ์ผ๋ฌ์์ ๊ฒฝ๊ณ ๋ฅผ ์ถ๋ ฅํ๊ฒ ๋ง๋๋ ์ฝ๋ ์ปค๋์ ์ ๊ฑฐํ๊ธฐ ์ํ ํ๋ก์ ํธ์ ์ผํ์ผ๋ก, ์ปดํ์ผ๋ฌ ๊ฒฝ๊ณ ๊ฐ ์ค๋ฅ๋ก ์ฒ๋ฆฌ๋๋ "-Werror" ๋ชจ๋๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํํ ์ํ์์ ์คํ์ ์ํํ์ต๋๋ค. 5.15 ๋ฆด๋ฆฌ์ค๋ฅผ ์ค๋นํ๋ฉด์ Linus๋ ์ปค๋์ ๋น๋ํ ๋ ๊ฒฝ๊ณ ๊ฐ ๋ฐ์ํ์ง ์๊ณ "-Werror"๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋๋ฅผ ํ์ฑํํ ๋ณ๊ฒฝ ์ฌํญ๋ง ์๋ฝํ๊ธฐ ์์ํ์ง๋ง ๊ทธ๋ฐ ๊ฒฐ์ ์ ์๊ธฐ์์กฐ์ด๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก "-Werror" ํ์ฑํ๊ฐ ์ง์ฐ๋๋ค๋ ๋ฐ ๋์ํ์ต๋๋ค. . ์ด์ ๋ธ๋ฆฌ ์ค "-Werror" ํ๋๊ทธ์ ํฌํจ์ ๊ธฐ๋ณธ์ ์ผ๋ก COMPILE_TEST๋ก ์ค์ ๋๋ WERROR ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ด๋ฉ๋๋ค. ํ์ฌ๋ ํ ์คํธ ๋น๋์๋ง ํ์ฑํ๋์ด ์์ต๋๋ค.
- ๊ฐ์ํ ๋ฐ ๋ณด์
- IMA(๋ฌด๊ฒฐ์ฑ ์ธก์ ์ํคํ ์ฒ) ํ์ ์์คํ ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์๊ฒฉ ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ ๊ตฌํํ์ฌ DM(Device Mapper)์ ์๋ก์ด dm-ima ํธ๋ค๋ฌ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ธ๋ถ ์๋น์ค์์ ์ปค๋ ํ์ ์์คํ ์ ์ํ๋ฅผ ํ์ธํ์ฌ ์ง์ ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. . ์ค์ ๋ก dm-ima๋ฅผ ์ฌ์ฉํ๋ฉด ์ธ๋ถ ํด๋ผ์ฐ๋ ์์คํ ์ ์ฐ๊ฒฐ๋ Device Mapper๋ฅผ ์ฌ์ฉํ์ฌ ์คํ ๋ฆฌ์ง๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ, ์ฌ๊ธฐ์ ์์๋ DM ๋์ ๊ตฌ์ฑ์ ์ ํจ์ฑ์ IMA๋ฅผ ์ฌ์ฉํ์ฌ ํ์ธ๋ฉ๋๋ค.
- prctl()์ ์๋ก์ด ์ต์ PR_SPEC_L1D_FLUSH๋ฅผ ๊ตฌํํฉ๋๋ค. ์ด ์ต์ ์ ํ์ฑํํ๋ฉด ์ปจํ ์คํธ ์ ํ์ด ๋ฐ์ํ ๋๋ง๋ค ์ปค๋์ด ์ฒซ ๋ฒ์งธ ์์ค(L1D) ์บ์์ ๋ด์ฉ์ ํ๋ฌ์ํ๊ฒ ๋ฉ๋๋ค. ์ด ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ์ฅ ์ค์ํ ํ๋ก์ธ์ค์ ๋ํด ์ ํ์ ์ผ๋ก CPU ๋ช ๋ น์ ์ถ์ธก ์คํ์ผ๋ก ์ธํ ์ทจ์ฝ์ ์ผ๋ก ์ธํด ์บ์์ ์ ์ฐฉ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๊ธฐ ์ํด ์ํ๋๋ ๋ถ์ฑ๋ ๊ณต๊ฒฉ์ ์ฌ์ฉ์ ๋ํ ์ถ๊ฐ ๋ณดํธ๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค. PR_SPEC_L1D_FLUSH(๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ง ์์)๋ฅผ ํ์ฑํํ๋ ๋ฐ ๋๋ ๋น์ฉ์ ์๋นํ ์ฑ๋ฅ ์ ํ์ ๋๋ค.
- GCC์ "-fzero-call-used-regs=used-gpr" ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ์ฌ ์ปค๋์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ์ด๋ ํจ์์์ ์ ์ด๋ฅผ ๋ฐํํ๊ธฐ ์ ์ ๋ชจ๋ ๋ ์ง์คํฐ๊ฐ 20์ผ๋ก ์ฌ์ค์ ๋๋๋ก ๋ณด์ฅํฉ๋๋ค. ์ด ์ต์ ์ ์ฌ์ฉํ๋ฉด ํจ์์์ ์ ๋ณด ์ ์ถ์ ๋ฐฉ์งํ๊ณ ์ต์คํ๋ก์์์ ROP(๋ฐํ ์งํฅ ํ๋ก๊ทธ๋๋ฐ) ๊ฐ์ ฏ์ ๊ตฌ์ถํ๋ ๋ฐ ์ ํฉํ ๋ธ๋ก ์๋ฅผ XNUMX% ์ค์ผ ์ ์์ต๋๋ค.
- Hyper-V ํ์ดํผ๋ฐ์ด์ ์ฉ ํด๋ผ์ด์ธํธ ํํ๋ก ARM64 ์ํคํ ์ฒ์ฉ ์ปค๋์ ๊ตฌ์ถํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค.
- ์ฌ์ฉ์ ๊ณต๊ฐ์์ ๊ฐ์ ๋ธ๋ก ์ฅ์น๋ฅผ ๊ตฌํํ๊ณ Virtio๋ฅผ ๊ฒ์คํธ ์์คํ ์์ ์ก์ธ์คํ๊ธฐ ์ํ ์ ์ก ์๋จ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ์๋ก์ด ๋๋ผ์ด๋ฒ ๊ฐ๋ฐ ํ๋ ์์ํฌ์ธ "VDUSE"๊ฐ ์ ์๋์์ต๋๋ค.
- I2C ๋ฒ์ค์ฉ Virtio ๋๋ผ์ด๋ฒ๊ฐ ์ถ๊ฐ๋์ด ๋ณ๋์ ๋ฐฑ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ๊ฐ์ํ ๋ชจ๋์์ I2C ์ปจํธ๋กค๋ฌ๋ฅผ ์๋ฎฌ๋ ์ด์ ํ ์ ์์ต๋๋ค.
- ๊ฒ์คํธ๊ฐ ํธ์คํธ ์์คํ ์์ ์ ๊ณตํ๋ GPIO ํ์ ์ ์ก์ธ์คํ ์ ์๋๋ก Virtio ๋๋ผ์ด๋ฒ gpio-virtio๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- I/O MMU(๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ฅ์น)๊ฐ ์๋ ์์คํ ์์ DMA๋ฅผ ์ง์ํ๋ ์ฅ์น ๋๋ผ์ด๋ฒ์ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ํํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- KVM ํ์ดํผ๋ฐ์ด์ ์๋ ์ ํ ๋ฐ ๋ก๊ทธ ํ์คํ ๊ทธ๋จ ํ์์ผ๋ก ํต๊ณ๋ฅผ ํ์ํ๋ ๊ธฐ๋ฅ์ด ์์ต๋๋ค.
- ๋คํธ์ํฌ ํ์ ์์คํ
- ksmbd ๋ชจ๋์ SMB3 ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ํ์ผ ์๋ฒ ๊ตฌํ๊ณผ ํจ๊ป ์ปค๋์ ์ถ๊ฐ๋์์ต๋๋ค. ์ด ๋ชจ๋์ ์ด์ ์ ์ปค๋์์ ์ฌ์ฉํ ์ ์์๋ SMB ํด๋ผ์ด์ธํธ ๊ตฌํ์ ๋ณด์ํ๋ฉฐ ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์คํ๋๋ SMB ์๋ฒ์ ๋ฌ๋ฆฌ ์ฑ๋ฅ, ๋ฉ๋ชจ๋ฆฌ ์๋น ๋ฐ ๊ณ ๊ธ ์ปค๋ ๊ธฐ๋ฅ๊ณผ์ ํตํฉ ์ธก๋ฉด์์ ๋ ํจ์จ์ ์ ๋๋ค. Ksmbd๋ ํ์์ ๋ฐ๋ผ Samba ๋๊ตฌ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํตํฉ๋๋ ๊ณ ์ฑ๋ฅ ๋ด์ฅํ Samba ํ์ฅ ํ๋ก๊ทธ๋จ์ผ๋ก ์๋ ค์ ธ ์์ต๋๋ค. ksmbd์ ๊ธฐ๋ฅ์๋ ๋ก์ปฌ ์์คํ ์ ๋ถ์ฐ ํ์ผ ์บ์ฑ ๊ธฐ์ (SMB ์๋)์ ๋ํ ํฅ์๋ ์ง์์ด ํฌํจ๋์ด ์์ด ํธ๋ํฝ์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค. ์์ผ๋ก๋ ๋์งํธ ์๋ช ์ ์ฌ์ฉํ ์ํธํ ๋ฐ ๊ฒ์ฆ์ ์ ๋ขฐ์ฑ ํฅ์๊ณผ ๊ด๋ จ๋ RDMA("smbdirect") ๋ฐ ํ๋กํ ์ฝ ํ์ฅ์ ๋ํ ์ง์์ ์ถ๊ฐํ ๊ณํ์ ๋๋ค.
- CIFS ํด๋ผ์ด์ธํธ๋ ๋ ์ด์ NTLM ๋ฐ SMB1 ํ๋กํ ์ฝ์ ์ฌ์ฉ๋๋ ๋ณด๋ค ์ฝํ DES ๊ธฐ๋ฐ ์ธ์ฆ ์๊ณ ๋ฆฌ์ฆ์ ์ง์ํ์ง ์์ต๋๋ค.
- ๋ฉํฐ์บ์คํธ ์ง์์ VLAN์ ๋ํ ๋คํธ์ํฌ ๋ธ๋ฆฌ์ง ๊ตฌํ์์ ๊ตฌํ๋ฉ๋๋ค.
- ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ฅผ ์ง๊ณํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ณธ๋ฉ ๋๋ผ์ด๋ฒ์๋ XDP(eXpress Data Path) ํ์ ์์คํ ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ฅผ ํตํด Linux ์ปค๋ ๋คํธ์ํฌ ์คํ์์ ์ฒ๋ฆฌ๋๊ธฐ ์ ๋จ๊ณ์์ ๋คํธ์ํฌ ํจํท์ ์กฐ์ํ ์ ์์ต๋๋ค.
- mac80211 ๋ฌด์ ์คํ์ LPI, SP ๋ฐ VLP ๋ชจ๋์์ 6GHZ STA(Special Temporary Authorization)๋ฅผ ์ง์ํ๊ณ ์ก์ธ์ค ํฌ์ธํธ ๋ชจ๋์์ ๊ฐ๋ณ TWT(Target Wake Time)๋ฅผ ์ค์ ํ๋ ๊ธฐ๋ฅ๋ ์ง์ํฉ๋๋ค.
- ๊ด๋ฆฌ ์ปจํธ๋กค๋ฌ์ ๊ด๋ จ ์ฅ์น(ํธ์คํธ ํ๋ก์ธ์, ์ฃผ๋ณ ์ฅ์น ๋ฑ) ๊ฐ์ ์ํธ ์์ฉ์ ์ฌ์ฉ๋๋ MCTP(๊ด๋ฆฌ ๊ตฌ์ฑ ์์ ์ ์ก ํ๋กํ ์ฝ)์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์๋ก ๋ค๋ฅธ IP ์ฃผ์์ ์ฐ๊ฒฐ๋ ์๋ก ๋ค๋ฅธ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ฌ๋ฌ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ๋์์ ํจํท์ ์ ๋ฌํ๋ TCP ์ฐ๊ฒฐ ์์ ์ ๊ตฌ์ฑํ๊ธฐ ์ํ TCP ํ๋กํ ์ฝ์ ํ์ฅ์ธ MPTCP(MultiPath TCP)์ ํต์ฌ์ ํตํฉ๋ฉ๋๋ค. ์ ๋ฆด๋ฆฌ์ค์๋ ํ๋ฉ์ ๋ชจ๋์ ์ฃผ์์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- SRv6(์ธ๊ทธ๋จผํธ ๋ผ์ฐํ IPv6) ํ๋กํ ์ฝ๋ก ์บก์ํ๋ ๋คํธ์ํฌ ์คํธ๋ฆผ์ ๋ํ ํธ๋ค๋ฌ๊ฐ netfilter์ ์ถ๊ฐ๋์์ต๋๋ค.
- Unix ์คํธ๋ฆฌ๋ฐ ์์ผ์ ๋ํ ์๋ง๋งต ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ะะฑะพััะดะพะฒะฐะฝะธะต
- amdgpu ๋๋ผ์ด๋ฒ๋ Cyan Skillfish APU(Navi 1x GPU ์ฅ์ฐฉ)๋ฅผ ์ง์ํฉ๋๋ค. Yellow Carp APU๋ ์ด์ ๋น๋์ค ์ฝ๋ฑ์ ์ง์ํฉ๋๋ค. ์๋ฐ๋ฐ๋ GPU ์ง์์ด ํฅ์๋์์ต๋๋ค. GPU Navi 24 "Beige Goby" ๋ฐ RDNA2๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์๋ก์ด ์ง๋ ์๋ณ์๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ํฅ์๋ ๊ฐ์ ํ๋ฉด ๊ตฌํ(VKMS)์ด ์ ์๋์์ต๋๋ค. AMD Zen 3 ์นฉ์ ์จ๋ ๋ชจ๋ํฐ๋ง ์ง์์ด ๊ตฌํ๋์์ต๋๋ค.
- amdkfd ๋๋ผ์ด๋ฒ(Polaris์ ๊ฐ์ ๊ฐ๋ณ GPU์ฉ)๋ HMM(์ด๊ธฐ์ข ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ) ํ์ ์์คํ ์ ๊ธฐ๋ฐ์ผ๋ก ๊ณต์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์(SVM, ๊ณต์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ)๋ฅผ ๊ตฌํํฉ๋๋ค. ์ด๋ฅผ ํตํด ์์ฒด ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ฅ์น(MMU)๊ฐ ์๋ ์ฅ์น๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. , ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ฅ์น), ์ฃผ ๋ฉ๋ชจ๋ฆฌ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ํนํ, HMM์ ์ฌ์ฉํ๋ฉด GPU์ CPU ์ฌ์ด์ ๊ณต์ ์ฃผ์ ๊ณต๊ฐ์ ๊ตฌ์ฑํ ์ ์์ผ๋ฉฐ, ์ฌ๊ธฐ์ GPU๋ ํ๋ก์ธ์ค์ ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
- Intel ๋น๋์ค ์นด๋์ฉ i915 ๋๋ผ์ด๋ฒ๋ TTM ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ์์ ์ฌ์ฉ์ ํ์ฅํ๊ณ GuC(๊ทธ๋ํฝ ๋ง์ดํฌ๋ก ์ปจํธ๋กค๋ฌ)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ๋ ฅ ์๋น๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ์ ํฌํจํฉ๋๋ค. Intel ARC Alchemist ๊ทธ๋ํฝ ์นด๋ ๋ฐ Intel Xe-HP GPU์ ๋ํ ์ง์ ๊ตฌํ์ ์ํ ์ค๋น๊ฐ ์์๋์์ต๋๋ค.
- nouveau ๋๋ผ์ด๋ฒ๋ DPCD(DisplayPort ๊ตฌ์ฑ ๋ฐ์ดํฐ)๋ฅผ ์ฌ์ฉํ์ฌ eDP ํจ๋์ ๋ํ ๋ฐฑ๋ผ์ดํธ ์ ์ด๋ฅผ ๊ตฌํํฉ๋๋ค.
- msm ๋๋ผ์ด๋ฒ์ Adreno 7c Gen 3 ๋ฐ Adreno 680 GPU์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- IOMMU ๋๋ผ์ด๋ฒ๋ Apple M1 ์นฉ์ฉ์ผ๋ก ๊ตฌํ๋์์ต๋๋ค.
- AMD Van Gogh APU ๊ธฐ๋ฐ ์์คํ ์ฉ ์ฌ์ด๋ ๋๋ผ์ด๋ฒ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- Realtek R8188EU ๋๋ผ์ด๋ฒ๊ฐ ์คํ ์ด์ง ๋ถ๊ธฐ์ ์ถ๊ฐ๋์ด Realtek RTL8188EU 8188 b/g/n ๋ฌด์ ์นฉ์ฉ ๋๋ผ์ด๋ฒ(rtl802.11eu)์ ์ด์ ๋ฒ์ ์ ๋์ฒดํ์ต๋๋ค.
- ocp_pt ๋๋ผ์ด๋ฒ๋ ์ํ ์์์๊ณ์ GNSS ์์ ๊ธฐ๋ฅผ ๊ตฌํํ Meta(Facebook)์์ ๊ฐ๋ฐํ PCIe ๋ณด๋์ฉ์ผ๋ก ํฌํจ๋์ด ์์ผ๋ฉฐ, ์ด๋ ๋ณ๋์ ์ ํํ ์๊ฐ ๋๊ธฐํ ์๋ฒ์ ์๋์ ๊ตฌ์ฑํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- Sony Xperia 10II(Snapdragon 665), Xiaomi Redmi 2(Snapdragon MSM8916), Samsung Galaxy S3(Snapdragon MSM8226), Samsung Gavini/Codina/Kyle ์ค๋งํธํฐ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ARM Soะก ๋ฐ NVIDIA Jetson TX2 NX ๊ฐ๋ฐ์ ํคํธ, Sancloud BBE Lite, PicoITX, DRC02, SolidRun SolidSense, SKOV i.MX6, Nitrogen8, Traverse Ten64, GW7902, Microchip SAMA7, ualcomm Snapdragon SDM636/SM8150, Renesas R-Car H3e์ ๋ํ ์ง์ ์ถ๊ฐ ๋ณด๋ -2G/M3e-2G, Marvell CN913x, ASpeed โโโโAST2600 (Facebook Cloudripper, Elbert ๋ฐ Fuji ์๋ฒ ๋ณด๋), 4KOpen STiH418-b2264.
- Gopher 2b LCD ํจ๋, EDT ETM0350G0DH6/ETMV570G2DHU, LOGIC Technologies LTTD800480070-L6WH-RT, Multi-Innotechnology MI1010AIT-1CP1, Innolux EJ030NA 3.0, ilitek ili9341, E Ink VB3300-KCA, Samsung ATNA33XC20์ ๋ํ ์ง์ ์ถ๊ฐ 7430, ์ผ์ฑ DB2401, WideChips WSXNUMX .
- LiteX ์ํํธ์จ์ด SoC(FPGA์ฉ)์ ์ฌ์ฉ๋๋ ์ด๋๋ท ์ปจํธ๋กค๋ฌ๋ฅผ ์ง์ํ๋ LiteETH ๋๋ผ์ด๋ฒ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ์ต์ ๋๊ธฐ ์๊ฐ ๋ชจ๋์์์ ์์ ํฌํจ์ ์ ์ดํ๊ธฐ ์ํด ์ ์ง์ฐ ์ต์ ์ด USB ์ค๋์ค ๋๋ผ์ด๋ฒ์ ์ถ๊ฐ๋์์ต๋๋ค. ๋ํ ์ฅ์น๋ณ ์ค์ ์ ์ ๋ฌํ๊ธฐ ์ํด quirk_flags ์ต์ ์ด ์ถ๊ฐ๋์์ต๋๋ค.
๋์์ ๋ผํด ์๋ฉ๋ฆฌ์นด ์์ ์ํํธ์จ์ด ์ฌ๋จ์ ์์ ๋ฌด๋ฃ ์ปค๋ 5.15 ๋ฒ์ ์ธ Linux-libre 5.15-gnu๋ฅผ ๋ง๋ค์์ต๋๋ค. ์ด ๋ฒ์ ์๋ ์์ ๋กญ์ง ์์ ๊ตฌ์ฑ ์์๋ ์ฝ๋ ์น์
์ด ํฌํจ๋ ํ์จ์ด ๋ฐ ๋๋ผ์ด๋ฒ ์์๊ฐ ์ ๊ฑฐ๋์ด ์์ผ๋ฉฐ ๋ฒ์๊ฐ ์ ํ๋์ด ์์ต๋๋ค. ์ ์กฐ์
์ฒด์ ์ํด. ์ ๋ฆด๋ฆฌ์ค์์๋ ์ฒญ์ ์๋ฃ์ ๋ํ ๋ฉ์์ง ์ถ๋ ฅ์ ๋ก๊ทธ์ ๊ตฌํํฉ๋๋ค. mkspec์ ์ฌ์ฉํ์ฌ ํจํค์ง๋ฅผ ์์ฑํ ๋ ๋ฐ์ํ๋ ๋ฌธ์ ๊ฐ ์์ ๋์์ผ๋ฉฐ, ์ค๋
ํจํค์ง์ ๋ํ ์ง์์ด ๊ฐ์ ๋์์ต๋๋ค. ํ์จ์ด.h ํค๋ ํ์ผ์ ์ฒ๋ฆฌํ ๋ ํ์๋๋ ์ผ๋ถ ๊ฒฝ๊ณ ๋ฅผ ์ ๊ฑฐํ์ต๋๋ค. "-Werror" ๋ชจ๋์์ ๋น๋ํ ๋ ์ผ๋ถ ์ ํ์ ๊ฒฝ๊ณ ("format-extra-args", ์ฃผ์, ์ฌ์ฉ๋์ง ์๋ ํจ์ ๋ฐ ๋ณ์) ์ถ๋ ฅ์ด ํ์ฉ๋์์ต๋๋ค. gehc-achc ๋๋ผ์ด๋ฒ ์ ๋ฆฌ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ๋๋ผ์ด๋ฒ ๋ฐ ํ์ ์์คํ
adreno, btusb, btintel, brcmfmac, aarch64 qcom์ Blob ์ ๋ฆฌ ์ฝ๋๊ฐ ์
๋ฐ์ดํธ๋์์ต๋๋ค. ๋๋ผ์ด๋ฒ prism54(์ ๊ฑฐ๋จ) ๋ฐ rtl8188eu(r8188eu๋ก ๋์ฒด) ์ฒญ์๊ฐ ์ค์ง๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru