๋ ๋ฌ๊ฐ์ ๊ฐ๋ฐ ๋์ Linus Torvalds๋ Linux ์ปค๋ 5.18์ ์ถ์๋ฅผ ๋ฐํํ์ต๋๋ค. ๊ฐ์ฅ ์ฃผ๋ชฉํ ๋งํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค: ์ค๋๋ ๊ธฐ๋ฅ์ ๋๋์ ์ธ ์ ๋ฆฌ ์ํ, Reiserfs FS๊ฐ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ๊ฒ์ผ๋ก ์ ์ธ, ์ฌ์ฉ์ ํ๋ก์ธ์ค ์ถ์ ์ด๋ฒคํธ ๊ตฌํ, Intel IBT ์ต์คํ๋ก์ ์ฐจ๋จ ๋ฉ์ปค๋์ฆ์ ๋ํ ์ง์ ์ถ๊ฐ, ๋ฒํผ ์ค๋ฒํ๋ก ๊ฐ์ง ๋ชจ๋ ํ์ฑํ memcpy() ํจ์๋ฅผ ์ฌ์ฉํ์ฌ fprobe ํจ์ ํธ์ถ์ ์ถ์ ํ๋ ๋ฉ์ปค๋์ฆ์ด ์ถ๊ฐ๋์์ต๋๋ค. AMD Zen CPU์ ์์ ์ค์ผ์ค๋ฌ ์ฑ๋ฅ์ด ํฅ์๋์์ผ๋ฉฐ Intel CPU ๊ธฐ๋ฅ(SDS) ๊ด๋ฆฌ์ฉ ๋๋ผ์ด๋ฒ๊ฐ ํฌํจ๋์์ผ๋ฉฐ ์ผ๋ถ ํจ์น๊ฐ ํตํฉ๋์์ต๋๋ค. ํค๋ ํ์ผ ์ฌ๊ตฌ์ฑ์ ์ํด C11 ํ์ค ์ฌ์ฉ์ด ์น์ธ๋์์ต๋๋ค.
์ ๋ฒ์ ์๋ 16206๋ช ์ ๊ฐ๋ฐ์๊ฐ ์์ ํ 2127๊ฐ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค(์ง๋ ๋ฆด๋ฆฌ์ค์๋ 14203๋ช ์ ๊ฐ๋ฐ์๊ฐ 1995๊ฐ์ ์์ ์ด ์์์ต๋๋ค). ํจ์น ํฌ๊ธฐ๋ 108MB์ ๋๋ค(๋ณ๊ฒฝ ์ฌํญ์ 14235๊ฐ์ ํ์ผ์ ์ํฅ์ ๋ฏธ์น๊ณ 1340982์ค์ ์ฝ๋๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ 593836์ค์ด ์ญ์ ๋์์ต๋๋ค). 44์ ๋์ ๋ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ ์ค ์ฝ 5.18%๋ ์ฅ์น ๋๋ผ์ด๋ฒ์ ๊ด๋ จ์ด ์๊ณ , ์ฝ 16%๋ ํ๋์จ์ด ์ํคํ ์ฒ ๊ด๋ จ ์ฝ๋ ์ ๋ฐ์ดํธ์ ๊ด๋ จ์ด ์์ผ๋ฉฐ, 11%๋ ๋คํธ์ํน ์คํ๊ณผ ๊ด๋ จ์ด ์๊ณ , 3%๋ ํ์ผ ์์คํ ๊ณผ ๊ด๋ จ์ด ์์ผ๋ฉฐ, 3%๋ ๋ด๋ถ ์ปค๋ ํ์ ์์คํ ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
์ปค๋ 5.18์ ์ฃผ์ ํ์ :
- ๋์คํฌ ํ์ ์์คํ
, I/O ๋ฐ ํ์ผ ์์คํ
- Btrfs ํ์ผ ์์คํ
์๋ ๋ณด๋ด๊ธฐ ๋ฐ ๋ฐ๊ธฐ ์์
์ ์ํํ ๋ ์์ถ๋ ๋ฐ์ดํฐ ์ ๋ฌ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด์ ์๋ ๋ณด๋ด๊ธฐ/๋ฐ๊ธฐ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๋ ์์ถ๋ ํํ๋ก ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ์ชฝ์์ ์์ถ์ ํ๊ณ , ๋ฐ๋ ์ชฝ์์๋ ๋ค์ ์์ถํ ํ ์ฐ๋ ๋ฐฉ์์ ์ฌ์ฉํ์ต๋๋ค. 5.18 ์ปค๋์์๋ ๋ณด๋ด๊ธฐ/๋ฐ๊ธฐ ํธ์ถ์ ์ฌ์ฉํ๋ ์ฌ์ฉ์ ๊ณต๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ค์ ํจํค์งํ์ง ์๊ณ ๋ ์์ถ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋ ๊ธฐ๋ฅ์ด ์ ๊ณต๋์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์๋ก์ด ioctl ์์
BTRFS_IOC_ENCODED_READ ๋ฐ BTRFS_IOC_ENCODED_WRITE ๋๋ถ์ ๊ตฌํ๋์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ์ ๋ณด๋ฅผ ์ต์คํ
ํธ์ ์ง์ ์ฝ๊ณ ์ธ ์ ์์ต๋๋ค.
๋ํ Btrfs๋ fsync ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค. ๋ง์ดํธ ์ง์ ์ ๊ตญํ๋์ง ์๊ณ ์ ์ฒด ์คํ ๋ฆฌ์ง์ ๋ํด ์ค๋ณต์ ์ ๊ฑฐํ๊ณ ์ฐธ์กฐ ๋งํฌ(์ค์ ๋ก ๋ณต์ฌํ์ง ์๊ณ ๊ธฐ์กด ๋ฐ์ดํฐ์ ๋ํ ๋งํฌ๋ฅผ ์์ฑํ์ฌ ํ์ผ ๋ฉํ๋ฐ์ดํฐ ๋ณต์ )๋ฅผ ์ํํ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- Direct I/O ๋ชจ๋์์๋ fscrypt๊ฐ ์ปค๋์ด ์๋ ๋๋ผ์ด๋ธ ์ปจํธ๋กค๋ฌ์ ์ํด ์ํธํ ๋ฐ ์ํธ ํด๋ ์์ ์ด ์ํ๋๋ ์ธ๋ผ์ธ ์ํธํ๋ฅผ ์ฌ์ฉํ ๋ ์ํธํ๋ ํ์ผ์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ผ๋ฐ ์ปค๋ ์ํธํ๋ฅผ ์ฌ์ฉํ๋ฉด ์ปค๋์ ๋ฒํผ๋ง ๋ฉ์ปค๋์ฆ์ ์ฐํํ์ฌ ํ์ผ์ ์ก์ธ์คํ๋ฏ๋ก ์ง์ I/O๋ฅผ ์ฌ์ฉํ์ฌ ์ํธํ๋ ํ์ผ์ ์ก์ธ์คํ๋ ๊ฒ์ ์ฌ์ ํ โโ๋ถ๊ฐ๋ฅํฉ๋๋ค.
- NFS ์๋ฒ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก NFSv3 ํ๋กํ ์ฝ์ ๋ํ ์ง์์ด ํฌํจ๋์ด ์์ผ๋ฉฐ, ์ด์ ๋ณ๋์ ํ์ฑํ๊ฐ ํ์ํ์ง ์์ผ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก NFS๊ฐ ํ์ฑํ๋ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. NFSv3์ NFS์ ๊ธฐ๋ณธ ๋ฒ์ ์ด์ ํญ์ ์ง์๋๋ ๋ฒ์ ์ผ๋ก ๊ฐ์ฃผ๋๋ฉฐ NFSv2์ ๋ํ ์ง์์ ํฅํ ์ค๋จ๋ ์ ์์ต๋๋ค. ๋๋ ํ ๋ฆฌ ๋ด์ฉ ์ฝ๊ธฐ์ ํจ์จ์ฑ์ด ํฌ๊ฒ ํฅ์๋์์ต๋๋ค.
- ReiserFS ํ์ผ ์์คํ ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ 2025๋ ์ ์ ๊ฑฐ๋ ์์ ์ ๋๋ค. ReiserFS๋ฅผ ๋ ์ด์ ์ฌ์ฉํ์ง ์์ผ๋ฉด ๋ง์ดํ , iomap ๋ฐ tomes๋ฅผ ์ํ ์๋ก์ด API ์ง์๊ณผ ๊ด๋ จ๋ ํ์ผ ์์คํ ์ ์ฒด ๋ณ๊ฒฝ ์ฌํญ์ ์ ์งํ๋ ๋ฐ ํ์ํ ๋ ธ๋ ฅ์ด ์ค์ด๋ญ๋๋ค.
- F2FS ํ์ผ ์์คํ ์ ๊ฒฝ์ฐ ๋ง์ดํธ๋ ํ์ผ ์์คํ ์ ์ฌ์ฉ์ ID๋ฅผ ๋งคํํ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์์ต๋๋ค. ์ด๋ ๋ง์ดํธ๋ ์ธ๋ถ ํํฐ์ ์ ์๋ ํน์ ์ฌ์ฉ์์ ํ์ผ์ ํ์ฌ ์์คํ ์ ๋ค๋ฅธ ์ฌ์ฉ์์ ๋น๊ตํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- Device-mapper ํธ๋ค๋ฌ์์ ํต๊ณ๋ฅผ ๊ณ์ฐํ๋ ์ฝ๋๊ฐ ์ฌ์์ ๋์ด dm-crypt์ ๊ฐ์ ํธ๋ค๋ฌ์ ๊ณ์ฐ ์ ํ๋๊ฐ ํฌ๊ฒ ํฅ์๋์์ต๋๋ค.
- NVMe ์ฅ์น๋ ์ด์ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ๋ฅผ ์ํด 64๋นํธ ์ฒดํฌ์ฌ์ ์ง์ํฉ๋๋ค.
- exfat ํ์ผ ์์คํ ์ ๊ฒฝ์ฐ ํ์ผ ์ด๋ฆ ๋์ ์๋ ์ ์ง์ฐ๊ธฐ๋ฅผ ๋นํ์ฑํํ๋ ์๋ก์ด ๋ง์ดํธ ์ต์ "keep_last_dots"๊ฐ ์ ์๋์์ต๋๋ค(Windows์์๋ ํ์ผ ์ด๋ฆ ๋์ ์๋ ์ ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ฑฐ๋ฉ๋๋ค).
- EXT4๋ fast_commit ๋ชจ๋์ ์ฑ๋ฅ์ ํฅ์์ํค๊ณ ํ์ฅ์ฑ์ ๋์ ๋๋ค. ๋๊ท๋ชจ ํ์ผ ์์คํ ์กฐ๊ฐํ ์กฐ๊ฑด์์ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์๋ "mb_optimize_scan" ๋ง์ดํธ ์ต์ ์ ๋ฒ์๊ฐ ์๋ ํ์ผ ์์ ์ ์ ํฉํฉ๋๋ค.
- ๋ธ๋ก ์ฅ์น๋ฅผ ์ง์ํ๋ ํ์ ์์คํ ์ ์ฐ๊ธฐ ์คํธ๋ฆผ์ ๋ํ ์ง์์ด ์ค๋จ๋์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ SSD์ฉ์ผ๋ก ์ ์๋์์ง๋ง ๋๋ฆฌ ๋ณด๊ธ๋์ง ์์์ผ๋ฉฐ ํ์ฌ ์ด ๋ชจ๋๋ฅผ ์ง์ํ๋ ์ฅ์น๊ฐ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ์์ผ๋ก ๋ํ๋ ๊ฐ๋ฅ์ฑ์ ๊ฑฐ์ ์์ต๋๋ค.
- Btrfs ํ์ผ ์์คํ
์๋ ๋ณด๋ด๊ธฐ ๋ฐ ๋ฐ๊ธฐ ์์
์ ์ํํ ๋ ์์ถ๋ ๋ฐ์ดํฐ ์ ๋ฌ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด์ ์๋ ๋ณด๋ด๊ธฐ/๋ฐ๊ธฐ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๋ ์์ถ๋ ํํ๋ก ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ์ชฝ์์ ์์ถ์ ํ๊ณ , ๋ฐ๋ ์ชฝ์์๋ ๋ค์ ์์ถํ ํ ์ฐ๋ ๋ฐฉ์์ ์ฌ์ฉํ์ต๋๋ค. 5.18 ์ปค๋์์๋ ๋ณด๋ด๊ธฐ/๋ฐ๊ธฐ ํธ์ถ์ ์ฌ์ฉํ๋ ์ฌ์ฉ์ ๊ณต๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ค์ ํจํค์งํ์ง ์๊ณ ๋ ์์ถ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๋ ๊ธฐ๋ฅ์ด ์ ๊ณต๋์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์๋ก์ด ioctl ์์
BTRFS_IOC_ENCODED_READ ๋ฐ BTRFS_IOC_ENCODED_WRITE ๋๋ถ์ ๊ตฌํ๋์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ์ ๋ณด๋ฅผ ์ต์คํ
ํธ์ ์ง์ ์ฝ๊ณ ์ธ ์ ์์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์์คํ
์๋น์ค
- ํจ์น ์ธํธ์ ํตํฉ์ด ์์๋์ด ํค๋ ํ์ผ์ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ์ฌ๊ตฌ์ฑํ๊ณ ์ํธ ์ข ์์ฑ ์๋ฅผ ์ค์ฌ ์ปค๋์ ์ฌ๊ตฌ์ถํ๋ ์๊ฐ์ ํฌ๊ฒ ์ค์ผ ์ ์์ต๋๋ค. ์ปค๋ 5.18์๋ ์์ ์ค์ผ์ค๋ฌ ํค๋ ํ์ผ(kernel/sched)์ ๊ตฌ์กฐ๋ฅผ ์ต์ ํํ๋ ํจ์น๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์ด์ ๋ฆด๋ฆฌ์ค์ ๋น๊ตํ์ฌ ์ปค๋/sched/์ฝ๋๋ฅผ ์กฐ๋ฆฝํ ๋ CPU ์๊ฐ ์๋ชจ๊ฐ 61% ๊ฐ์ํ์ผ๋ฉฐ, ์ค์ ์๊ฐ์ 3.9%(2.95์ด์์ 2.84์ด๋ก) ๊ฐ์ํ์ต๋๋ค.
- ์ปค๋ ์ฝ๋๋ 11๋ ์ ๋ฐํ๋ C2011 ํ์ค์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด์ ์๋ ์ปค๋์ ์ถ๊ฐ๋ ์ฝ๋๊ฐ 89๋ ์ ํ์ฑ๋ ANSI C(C1989) ์ฌ์์ ์ค์ํด์ผ ํ์ต๋๋ค. 5.18 ์ปค๋ ๋น๋ ์คํฌ๋ฆฝํธ์์๋ 'โstd=gnu89' ์ต์ ์ด 'โstd=gnu11 -Wno-shift-negative-value'๋ก ๋์ฒด๋์์ต๋๋ค. C17 ํ์ค์ ์ฌ์ฉํ ๊ฐ๋ฅ์ฑ์ด ๊ณ ๋ ค๋์์ง๋ง ์ด ๊ฒฝ์ฐ GCC์ ์ต์ ์ง์ ๋ฒ์ ์ ๋๋ ค์ผ ํ๋ฉฐ C11 ์ง์ ํฌํจ์ GCC ๋ฒ์ (5.1)์ ํ์ฌ ์๊ตฌ ์ฌํญ์ ์ ํฉํฉ๋๋ค.
- ๋ก์ปฌ ๋ฉ๋ชจ๋ฆฌ ์ฑ๋์ด ์๋ ๊ฐ ๋ ธ๋์ ์ฌ๋ฌ ๊ฐ์ ๋ง์ง๋ง ๋ ๋ฒจ ์บ์(LLC)๋ฅผ ์ ๊ณตํ๋ Zen ๋ง์ดํฌ๋ก์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ AMD ํ๋ก์ธ์์ ์์ ์์ฝ ์ฑ๋ฅ์ด ํฅ์๋์์ต๋๋ค. ์ ๋ฒ์ ์ NUMA ๋ ธ๋ ๊ฐ์ LLC ๋ถ๊ท ํ์ ์ ๊ฑฐํ์ฌ ์ผ๋ถ ์ ํ์ ์ํฌ๋ก๋์ ๋ํ ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋์์ต๋๋ค.
- ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ถ์ ํ๋ ๋๊ตฌ๊ฐ ํ์ฅ๋์์ต๋๋ค. ์๋ก์ด ์ปค๋ ๋ฒ์ ์๋ ์ฌ์ฉ์ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉ์ ์ด๋ฒคํธ๋ฅผ ์์ฑํ๊ณ ์ถ์ ๋ฒํผ์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ ftrace ๋ฐ perf์ ๊ฐ์ ํ์ค ์ปค๋ ์ถ์ ์ ํธ๋ฆฌํฐ๋ฅผ ํตํด ๋ณผ ์ ์์ต๋๋ค. ์ฌ์ฉ์ ๊ณต๊ฐ ์ถ์ ์ด๋ฒคํธ๋ ์ปค๋ ์ถ์ ์ด๋ฒคํธ์ ๊ฒฉ๋ฆฌ๋ฉ๋๋ค. ์ด๋ฒคํธ ์ํ๋ /sys/kernel/debug/tracing/user_events_status ํ์ผ์ ํตํด ํ์ธํ ์ ์์ผ๋ฉฐ, ์ด๋ฒคํธ ๋ฑ๋ก ๋ฐ ๋ฐ์ดํฐ ๊ธฐ๋ก์ /sys/kernel/debug/tracing/user_events_data ํ์ผ์ ํตํด ํ์ธํ ์ ์์ต๋๋ค.
- ๋ชจ๋ํฐ๋ง(ํ๋ก๋ธ) ํจ์ ํธ์ถ์ ์ํ ๋ฉ์ปค๋์ฆ์ธ fprobe๋ฅผ ์ถ๊ฐํ์ต๋๋ค. fprobe API๋ ftrace๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ง๋ง ์ฝ๋ฐฑ ํธ๋ค๋ฌ๋ฅผ ํจ์ ์ง์ ์ ๊ณผ ํจ์ ์ข ๋ฃ์ ์ ์ฐ๊ฒฐํ๋ ๊ธฐ๋ฅ์ ์ํด์๋ง ์ ํ๋ฉ๋๋ค. kprobes ๋ฐ kretprobes์ ๋ฌ๋ฆฌ ์๋ก์ด ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ๋ฉด ํ ๋ฒ์ ์ฌ๋ฌ ๊ธฐ๋ฅ์ ๋ํด ํ๋์ ํธ๋ค๋ฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- MMU(๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ฅ์น)๊ฐ ์ฅ์ฐฉ๋์ง ์์ ์ด์ ARM ํ๋ก์ธ์(ARMv4 ๋ฐ ARMv5)์ ๋ํ ์ง์์ด ์ค๋จ๋์์ต๋๋ค. MMU๊ฐ ์๋ ARMv7-M ์์คํ ์ ๋ํ ์ง์์ ์ ์ง๋ฉ๋๋ค.
- Andes Technologies ํ๋ก์ธ์์ ์ฌ์ฉ๋๋ RISC์ ์ ์ฌํ NDS32 ์ํคํ ์ฒ์ ๋ํ ์ง์์ด ์ค๋จ๋์์ต๋๋ค. ์ ์ง ๊ด๋ฆฌ๊ฐ ๋ถ์กฑํ๊ณ ๊ธฐ๋ณธ Linux ์ปค๋์์ NDS32 ์ง์์ ๋ํ ์์๊ฐ ๋ถ์กฑํ์ฌ ์ฝ๋๊ฐ ์ ๊ฑฐ๋์์ต๋๋ค(๋๋จธ์ง ์ฌ์ฉ์๋ ํ๋์จ์ด ์ ์กฐ์ ์ฒด์ ํน์ ์ปค๋ ๋น๋๋ฅผ ์ฌ์ฉํจ).
- ๊ธฐ๋ณธ์ ์ผ๋ก a.out ์คํ ํ์ผ ํ์์ ์ง์ํ๋ ์ปค๋ ๋น๋๋ ์ด ํ์์ ๊ณ์ ์ฌ์ฉํ๋ alpha ๋ฐ m68k ์ํคํ ์ฒ์ ๋ํด ๋นํ์ฑํ๋ฉ๋๋ค. ๋ ๊ฑฐ์ a.out ํ์์ ๋ํ ์ง์์ด ๊ณง ์ปค๋์์ ์์ ํ ์ ๊ฑฐ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. a.out ํ์์ ์ ๊ฑฐํ๋ ค๋ ๊ณํ์ 2019๋ ๋ถํฐ ๋ ผ์๋์์ต๋๋ค.
- PA-RISC ์ํคํ ์ฒ๋ ์ปจํ ์คํธ ์ ํ ์์ด ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ํ๋ ์์คํ ํธ์ถ ์ธํธ๋ฅผ ์ ๊ณตํ๋ vDSO(๊ฐ์ ๋์ ๊ณต์ ๊ฐ์ฒด) ๋ฉ์ปค๋์ฆ์ ๋ํด ์ต์ํ์ ์ง์์ ์ ๊ณตํฉ๋๋ค. vDSO ์ง์์ ํตํด ์คํ ๋ถ๊ฐ๋ฅํ ์คํ์ผ๋ก ์คํํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์์์ต๋๋ค.
- Intel HFI(ํ๋์จ์ด ํผ๋๋ฐฑ ์ธํฐํ์ด์ค) ๋ฉ์ปค๋์ฆ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ฅผ ํตํด ํ๋์จ์ด๋ ๊ฐ CPU์ ํ์ฌ ์ฑ๋ฅ ๋ฐ ์๋์ง ํจ์จ์ฑ์ ๋ํ ์ ๋ณด๋ฅผ ์ปค๋์ ์ ์กํ ์ ์์ต๋๋ค.
- ํ๋ก์ธ์์ ์ถ๊ฐ ๊ธฐ๋ฅ(์: ํน์ ๋ช ๋ น ๋ฐ ์ถ๊ฐ ์บ์ ๋ฉ๋ชจ๋ฆฌ) ํฌํจ์ ์ ์ดํ ์ ์๋ Intel SDSi(์ํํธ์จ์ด ์ ์ ์ค๋ฆฌ์ฝ) ๋ฉ์ปค๋์ฆ์ฉ ๋๋ผ์ด๋ฒ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ๊ณ ๊ธ ๊ธฐ๋ฅ์ ์ ๊ธด ์ํ์์ ์นฉ์ ์ ๋ ดํ ๊ฐ๊ฒฉ์ ๊ณต๊ธํ ์ ์๋ค๋ ์์ด๋์ด์ ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์นฉ์ "๊ตฌ๋งค"ํ๊ณ ์นฉ์ ํ๋์จ์ด ๊ต์ฒด ์์ด ์ถ๊ฐ ๊ธฐ๋ฅ์ ํ์ฑํํ ์ ์์ต๋๋ค.
- Fam19h ์ธ๋๋ถํฐ AMD EPYC ์๋ฒ ํ๋ก์ธ์์ ๋ํ๋ ํน์ ๋ ์ง์คํฐ ์ธํธ๋ฅผ ํตํด ํ๋ก์ธ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ๋ AMD HSMP(ํธ์คํธ ์์คํ ๊ด๋ฆฌ ํฌํธ) ์ธํฐํ์ด์ค๋ฅผ ์ง์ํ๊ธฐ ์ํด amd_hsmp ๋๋ผ์ด๋ฒ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด, HSMP๋ฅผ ํตํด ์ ๋ ฅ ์๋น ๋ฐ ์จ๋์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ์ป๊ณ , ์ฃผํ์ ์ ํ์ ์ค์ ํ๊ณ , ๋ค์ํ ์ฑ๋ฅ ํฅ์ ๋ชจ๋๋ฅผ ํ์ฑํํ๊ณ , ๋ฉ๋ชจ๋ฆฌ ๋งค๊ฐ ๋ณ์๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- io_uring ๋น๋๊ธฐ I/O ์ธํฐํ์ด์ค๋ IORING_SETUP_SUBMIT_ALL ์ต์ ์ ๊ตฌํํ์ฌ ๋ง ๋ฒํผ์ ํ์ผ ์ค๋ช ์ ์งํฉ์ ๋ฑ๋กํ๊ณ IORING_OP_MSG_RING ์์ ์ ๊ตฌํํ์ฌ ํ ๋ง ๋ฒํผ์์ ๋ค๋ฅธ ๋ง ๋ฒํผ๋ก ์ ํธ๋ฅผ ๋ณด๋ ๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค ๋น๋๋ฅผ ๊ณ ๋ คํ์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํด์ ํ ์ ์๋ DAMOS(Data Access Monitoring-based Operation Schemes) ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉ์ ๊ณต๊ฐ์์ ๋ฉ๋ชจ๋ฆฌ ์์ ์ ๋ชจ๋ํฐ๋งํ๋ ๊ธฐ๋ฅ์ ํ์ฅํ์ต๋๋ค.
- ์ธ ๋ฒ์งธ ํจ์น ์๋ฆฌ์ฆ๋ ํ์ด์ง ํด๋ฆฌ์ค ๊ฐ๋ ๊ตฌํ๊ณผ ํตํฉ๋์์ต๋๋ค. ์ด๋ ๋ณตํฉ ํ์ด์ง์ ๋น์ทํ์ง๋ง ์๋ฏธ๊ฐ ๊ฐ์ ๋๊ณ ์์ ๊ตฌ์ฑ์ด ๋์ฑ ๋ช ํํด์ก์ต๋๋ค. ์ฑ ์ ์ฌ์ฉํ๋ฉด ์ผ๋ถ ์ปค๋ ํ์ ์์คํ ์์ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์๋๋ฅผ ๋์ผ ์ ์์ต๋๋ค. ์ ์๋ ํจ์น์์๋ get_user_pages() ํจ์์ ๋ณํ์ ํฌํจํ์ฌ ๋ด๋ถ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ด Folio๋ก ๋ณํ๋์์ต๋๋ค. ๋ฏธ๋ฆฌ ์ฝ๊ธฐ ์ฝ๋์์ ๋์ฉ๋ ์์ฑ์ ์ง์ํฉ๋๋ค.
- ์ด์ ์ด์ ๋ธ๋ฆฌ ์์คํ ์ USERCFLAGS ๋ฐ USERLDFLAGS ํ๊ฒฝ ๋ณ์๋ฅผ ์ง์ํ๋ฉฐ, ์ด๋ฅผ ํตํด ์ปดํ์ผ๋ฌ์ ๋ง์ปค์ ์ถ๊ฐ ํ๋๊ทธ๋ฅผ ์ ๋ฌํ ์ ์์ต๋๋ค.
- eBPF ์๋ธ์์คํ ์์ BPF ์์ฌ์ฝ๋๋ก ์ ํ ๊ฒ์ฌ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ BTF(BPF ์ ํ ํ์) ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉ์ ๊ณต๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์ฐธ์กฐํ๋ ๋ณ์์ ์ฃผ์์ ์ถ๊ฐํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฃผ์์ BPF ์ฝ๋ ํ์ธ ์์คํ ์ด ๋ฉ๋ชจ๋ฆฌ ์ก์ธ์ค๋ฅผ ๋ ์ ์๋ณํ๊ณ ํ์ธํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- ๋ก๋๋ BPF ํ๋ก๊ทธ๋จ์ ์ ์ฅํ๊ธฐ ์ํ ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ ํ ๋น ํธ๋ค๋ฌ๊ฐ ์ ์๋์์ต๋๋ค. ์ด๋ฅผ ํตํด ๋ง์ ์์ BPF ํ๋ก๊ทธ๋จ์ด ๋ก๋๋๋ ์ํฉ์์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ณด๋ค ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
- MADV_DONTNEED_LOCKED ํ๋๊ทธ๊ฐ madvise() ์์คํ ํธ์ถ์ ์ถ๊ฐ๋์์ต๋๋ค. ์ด ํ๋๊ทธ๋ ๊ธฐ์กด MADV_DONTNEED ํ๋๊ทธ๋ฅผ ๋ณด์ํ๋ ํ๋ก์ธ์ค ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ต์ ํ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก์ ์๋ฐํ ๋ฆด๋ฆฌ์ค์ ๋ํด ์ปค๋์ ๋ฏธ๋ฆฌ ์๋ฆด ์ ์์ต๋๋ค. ์ด ๋ธ๋ก์ ๋ ์ด์ ํ์ํ์ง ์์ผ๋ฉฐ ์ปค๋์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. MADV_DONTNEED์ ๋ฌ๋ฆฌ MADV_DONTNEED_LOCKED ํ๋๊ทธ์ ์ฌ์ฉ์ RAM์ ๊ณ ์ ๋ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง์ ํ์ฉ๋ฉ๋๋ค. madvise๊ฐ ํธ์ถ๋๋ฉด ๊ณ ์ ๋ ์ํ๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ์ ๊ฑฐ๋๋ฉฐ, ์ดํ์ ๋ธ๋ก์ ์ก์ธ์คํ๊ณ "ํ์ด์ง"๊ฐ โโ์์ฑ๋๋ ๊ฒฝ์ฐ ์ค๋ฅโ๋ ๋ฐ์ธ๋ฉ์ด ์ ์ง๋ ์ํ๋ก ๋ฐํ๋ฉ๋๋ค. ๋ํ, HugeTLB์ ๋์ฉ๋ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง์์ MADV_DONTNEED ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ๋ณ๊ฒฝ ์ฌํญ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๊ฐ์ํ ๋ฐ ๋ณด์
- x86 ์ํคํ ์ฒ์ ๊ฒฝ์ฐ Intel IBT(๊ฐ์ ๋ถ๊ธฐ ์ถ์ ) ๋ช ๋ น ํ๋ฆ ๋ณดํธ ๋ฉ์ปค๋์ฆ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ ๋ฐํ ์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ์ (ROP, Return-Oriented ํ๋ก๊ทธ๋๋ฐ)์ ์ฌ์ฉํ๋ ๊ณต๊ฒฉ ๊ตฌ์ฑ ๊ธฐ์ ์ ์ฌ์ฉ์ ๋ฐฉ์งํฉ๋๋ค. ์ ์ด ๋ฐํ ๋ช ๋ น์ผ๋ก ๋๋๋ ๊ธฐ๊ณ ๋ช ๋ น ์กฐ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ์ด๋ฏธ ์กด์ฌํ๋ ํธ์ถ ์ฒด์ธ ํํ๋ก ํ์ฑ๋ฉ๋๋ค(์ผ๋ฐ์ ์ผ๋ก ํจ์์ ๋์ ๋๋ค). ๊ตฌํ๋ ๋ณดํธ ๋ฐฉ๋ฒ์ ํต์ฌ์ ํจ์ ์์ ๋ถ๋ถ์ ํน์ ENDBR ๋ช ๋ น์ด๋ฅผ ์ถ๊ฐํ๊ณ ์ด ๋ช ๋ น์ด๋ก ์ ํ๋๋ ๊ฒฝ์ฐ์๋ง ๊ฐ์ ์ ํ ์คํ์ ํ์ฉํ์ฌ ํจ์ ๋ณธ๋ฌธ์ผ๋ก์ ๊ฐ์ ์ ํ์ ์ฐจ๋จํ๋ ๊ฒ์ ๋๋ค(๊ฐ์ ์ ํ). JMP๋ฅผ ํตํ ํธ์ถ ๋ฐ CALL์ ํญ์ ๋งจ ์ฒ์ ํจ์์ ๋ฐฐ์น๋๋ ENDBR ๋ช ๋ น์ ์ํด์ผ ํฉ๋๋ค.
- CONFIG_FORTIFY_SOURCE ๋ชจ๋๊ฐ ํ์ฑํ๋๋ฉด ์ปดํ์ผ ํ์์ ์ํ๋๋ memcpy(), memmove() ๋ฐ memset() ํจ์์์ ๋ฒํผ ๊ฒฝ๊ณ๋ฅผ ๋ณด๋ค ์๊ฒฉํ๊ฒ ๊ฒ์ฌํ ์ ์์ต๋๋ค. ์ถ๊ฐ๋ ๋ณ๊ฒฝ ์ฌํญ์ ํฌ๊ธฐ๊ฐ ์๋ ค์ง ๊ตฌ์กฐ ์์๊ฐ ๊ฒฝ๊ณ๋ฅผ ๋ฒ์ด๋๋์ง ํ์ธํ๋ ๊ฒ์ผ๋ก ์์ฝ๋ฉ๋๋ค. ๊ตฌํ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ์ ์ด๋ ์ง๋ 3๋ ๋์ ์๋ณ๋ ๋ชจ๋ memcpy() ๊ด๋ จ ์ปค๋ ๋ฒํผ ์ค๋ฒํ๋ก๋ฅผ ์ฐจ๋จํ ์ ์์ต๋๋ค.
- /dev/random ๋ฐ /dev/urandom ์ฅ์น์ ์๋์ ๋ด๋นํ๋ RDRAND ์์ฌ ๋์ ์์ฑ๊ธฐ์ ์ ๋ฐ์ดํธ๋ ๊ตฌํ์ ์ํด ์ฝ๋์ ๋ ๋ฒ์งธ ๋ถ๋ถ์ ์ถ๊ฐํ์ต๋๋ค. ์๋ก์ด ๊ตฌํ์ /dev/random ๋ฐ /dev/urandom์ ์์ ์ ํตํฉํ๊ณ , ๊ฐ์ ๋จธ์ ์ ์์ํ ๋ ๋์ ์คํธ๋ฆผ์ ์ค๋ณต์ด ๋ํ๋๋ ๊ฒ์ ๋ํ ๋ณดํธ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ณ , SHA2 ๋์ BLAKE1s ํด์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋๋ก ์ ํํ๋ ์ ์์ ์ฃผ๋ชฉํ ๋งํฉ๋๋ค. ์ํธ๋กํผ ํผํฉ ์์ . ์ด๋ฌํ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ๋ฌธ์ ๊ฐ ์๋ SHA1 ์๊ณ ๋ฆฌ์ฆ์ ์ ๊ฑฐํ๊ณ RNG ์ด๊ธฐํ ๋ฒกํฐ ๋ฎ์ด์ฐ๊ธฐ๋ฅผ ์ ๊ฑฐํ์ฌ ์์ฌ ๋์ ์์ฑ๊ธฐ์ ๋ณด์์ด ํฅ์๋์์ต๋๋ค. BLAKE2s ์๊ณ ๋ฆฌ์ฆ์ SHA1๋ณด๋ค ์ฑ๋ฅ์ด ์ฐ์ํ๋ฏ๋ก ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๋ ์ฑ๋ฅ์ ๊ธ์ ์ ์ธ ์ํฅ์ ๋ฏธ์ณค์ต๋๋ค.
- ARM64 ์ํคํ ์ฒ์ ๊ฒฝ์ฐ ์ ์ ํ ๋ณด์ ์์ค์ ์ ์งํ๋ฉด์ QARMA ์๊ณ ๋ฆฌ์ฆ๋ณด๋ค ๋น ๋ฅธ ์๋ก์ด ํฌ์ธํฐ ์ธ์ฆ ์๊ณ ๋ฆฌ์ฆ์ธ "QARMA3"์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด ๊ธฐ์ ์ ์ฌ์ฉํ๋ฉด ํน์ ARM64 ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ํฌ์ธํฐ ์์ฒด์ ์ฌ์ฉ๋์ง ์์ ์์ โโ๋นํธ์ ์ ์ฅ๋ ๋์งํธ ์๋ช ์ ์ฌ์ฉํ์ฌ ๋ฐํ ์ฃผ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ARM64 ์ํคํ ์ฒ์ ๊ฒฝ์ฐ ์คํ์์ ๋ฒํผ ์ค๋ฒํ๋ก๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ํจ์์ ๋ฐํ ์ฃผ์๋ฅผ ๋ฎ์ด์ฐ์ง ์๋๋ก ๋ณดํธ ๋ชจ๋๋ฅผ GCC 12์ ํฌํจํ์ฌ ์ด์ ๋ธ๋ฆฌ์ ๋ํ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค. ๋ณดํธ์ ๋ณธ์ง์ ์ ์ด๋ฅผ ํจ์๋ก ์ ์กํ๊ณ ํจ์๋ฅผ ์ข ๋ฃํ๊ธฐ ์ ์ ์ด ์ฃผ์๋ฅผ ๊ฒ์ํ ํ ๋ณ๋์ "์๋์ฐ" ์คํ์ ๋ฐํ ์ฃผ์๋ฅผ ์ ์ฅํ๋ ๊ฒ์ ๋๋ค.
- shim ๋ถํธ๋ก๋์์ ์ง์๋๋ ์์คํ ์์ ์ ํค(MOK, ๋จธ์ ์์ ์ ํค)๊ฐ ํฌํจ๋ ์๋ก์ด ํค๋ง์ธ "๋จธ์ "์ ์ถ๊ฐํ์ต๋๋ค. ์ด๋ฌํ ํค๋ ๋ถํ ํ ๋จ๊ณ์์ ๋ก๋๋ ์ปค๋ ๊ตฌ์ฑ ์์(์: ์ปค๋ ๋ชจ๋)์ ๋์งํธ ์๋ช ํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- TPM์ ๋ ๊ฑฐ์ ๋ฒ์ ์์ ์ ๊ณต๋๊ณ ์๋ ค์ง ๋ณด์ ๋ฌธ์ ๊ฐ ์์์ผ๋ฉฐ ์ค์ ๋ก ๋๋ฆฌ ์ฑํ๋์ง ์์ TPM์ ๋ํ ๋น๋์นญ ๊ฐ์ธ ํค์ ๋ํ ์ง์์ด ์ ๊ฑฐ๋์์ต๋๋ค.
- ์ ์ ์ค๋ฒํ๋ก๋ก๋ถํฐ size_t ์ ํ์ ๋ฐ์ดํฐ ๋ณดํธ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ฝ๋์๋ size_t ์ ํ์ผ๋ก ํฌ๊ธฐ๋ฅผ ์์ ํ๊ฒ ๊ณฑํ๊ณ , ๋ํ๊ณ , ๋บ ์ ์๋ ํธ๋ค๋ฌ size_mul(), size_add() ๋ฐ size_sub()๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
- ์ปค๋์ ๋น๋ํ ๋ "-Warray-bounds" ๋ฐ "-Wzero-length-bounds" ํ๋๊ทธ๊ฐ ํ์ฑํ๋์ด ์ธ๋ฑ์ค๊ฐ ๋ฐฐ์ด ๊ฒฝ๊ณ๋ฅผ ๋ฒ์ด๋๊ฑฐ๋ ๊ธธ์ด๊ฐ 0์ธ ๋ฐฐ์ด์ด ์ฌ์ฉ๋ ๋ ๊ฒฝ๊ณ ๋ฅผ ํ์ํฉ๋๋ค.
- virtio-crypto ์ฅ์น์๋ RSA ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ ์ํธํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋คํธ์ํฌ ํ์ ์์คํ
- ๋คํธ์ํฌ ๋ธ๋ฆฌ์ง ๊ตฌํ์๋ ์ฌ์ฉ์๊ฐ ์น์ธ๋ MAC ์ฃผ์์์๋ง ํฌํธ๋ฅผ ํตํด ํธ๋ํฝ์ ๋ณด๋ผ ์ ์๋ ํฌํธ ๋ฐ์ธ๋ฉ ๋ชจ๋(์ ๊ธ ๋ชจ๋)์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. STP(์คํจ๋ ํธ๋ฆฌ ํ๋กํ ์ฝ) ํ๋กํ ์ฝ์ ์ํ๋ฅผ ํ๊ฐํ๊ธฐ ์ํด ์ฌ๋ฌ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ๋ ์ถ๊ฐ๋์์ต๋๋ค. ์ด์ ์๋ VLAN์ STP(1:1)์๋ง ์ง์ ๋งคํํ ์ ์์๊ณ ๊ฐ VLAN์ ๋ ๋ฆฝ์ ์ผ๋ก ๊ด๋ฆฌ๋์์ต๋๋ค. ์ ๋ฒ์ ์๋ mst_enable ๋งค๊ฐ๋ณ์๊ฐ ์ถ๊ฐ๋์ด ํ์ฑํ๋๋ฉด VLAN ์ํ๊ฐ MST(๋ค์ค ์คํจ๋ ํธ๋ฆฌ) ๋ชจ๋์ ์ํด ์ ์ด๋๊ณ VLAN ๋ฐ์ธ๋ฉ์ด M:N ๋ชจ๋ธ์ ๋์ํ ์ ์์ต๋๋ค.
- ํจํท ์ญ์ ์ด์ (์ด์ ์ฝ๋)๋ฅผ ์ถ์ ํ๊ธฐ ์ํด ๋๊ตฌ๋ฅผ ๋คํธ์ํฌ ์คํ์ ํตํฉํ๋ ์์ ์ด ๊ณ์๋์์ต๋๋ค. ์ด์ ์ฝ๋๋ ํจํท๊ณผ ๊ด๋ จ๋ ๋ฉ๋ชจ๋ฆฌ๊ฐ ํด์ ๋ ๋ ์ ์ก๋๋ฉฐ ํค๋ ์ค๋ฅ๋ก ์ธํ ํจํท ์ญ์ , rp_filter ์คํธํ ๊ฐ์ง, ์๋ชป๋ ์ฒดํฌ์ฌ, ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ, IPSec XFRM ๊ท์น ํธ๋ฆฌ๊ฑฐ, ์๋ชป๋ ์ํ์ค ๋ฒํธ TCP ๋ฑ๊ณผ ๊ฐ์ ์ํฉ์ ํ์ฉํฉ๋๋ค.
- BPF_PROG_RUN ๋ชจ๋์์๋ BPF ํ๋ก๊ทธ๋จ์ด ์ปค๋์์ ์คํ๋์ง๋ง ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์ฌ์ฉ์ ๊ณต๊ฐ์ผ๋ก ๋ฐํํ๋ BPF_PROG_RUN ๋ชจ๋์์ ์ฌ์ฉ์ ๊ณต๊ฐ์์ ์์๋ BPF ํ๋ก๊ทธ๋จ์์ ๋คํธ์ํฌ ํจํท์ ์ ์กํ ์ ์์ต๋๋ค. ํจํท์ XDP(eXpress Data Path) ํ์ ์์คํ ์ ์ฌ์ฉํ์ฌ ์ ์ก๋ฉ๋๋ค. XDP ํ๋ก์ธ์๊ฐ ๋คํธ์ํฌ ํจํท์ ๋คํธ์ํฌ ์คํ์ด๋ ๋ค๋ฅธ ์ฅ์น๋ก ์ฆ์ ๋ฆฌ๋๋ ์ ํ ์ ์๋ ๋ผ์ด๋ธ ํจํท ์ฒ๋ฆฌ ๋ชจ๋๊ฐ ์ง์๋ฉ๋๋ค. ์ธ๋ถ ํธ๋ํฝ์ ์ํํธ์จ์ด ์์ฑ๊ธฐ๋ฅผ ์์ฑํ๊ฑฐ๋ ๋คํธ์ํฌ ํ๋ ์์ ๋คํธ์ํฌ ์คํ์ผ๋ก ๋์ฒดํ๋ ๊ฒ๋ ๊ฐ๋ฅํฉ๋๋ค.
- ๋คํธ์ํฌ cgroup์ ์ฐ๊ฒฐ๋ BPF ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ ์์คํ ํธ์ถ์ ๋ฐํ ๊ฐ์ ๋ช ์์ ์ผ๋ก ์ค์ ํ๊ธฐ ์ํด ๋์ฐ๋ฏธ ํจ์๊ฐ ์ ์๋์์ต๋๋ค. ์ด๋ฅผ ํตํด ์์คํ ํธ์ถ ์ฐจ๋จ ์ด์ ์ ๋ํ ๋ณด๋ค ์์ ํ ์ ๋ณด๋ฅผ ์ ๋ฌํ ์ ์์ต๋๋ค.
- XDP(eXpress Data Path) ํ์ ์์คํ ์๋ ์ฌ๋ฌ ๋ฒํผ์ ๋ฐฐ์น๋ ์กฐ๊ฐํ๋ ํจํท์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. ์ด๋ฅผ ํตํด XDP์์ ์ ๋ณด ํ๋ ์์ ์ฒ๋ฆฌํ๊ณ XDP_REDIRECT์ TSO/GRO(TCP Segmentation Offload/Generic Receiver Offload)๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ํธ๋ํฝ ์์ด ๋ง์ ์ผ๋ถ ๋ํ ์์คํ ์์ ์๊ตฌ๋๋ ๋คํธ์ํฌ ๋ค์์คํ์ด์ค ์ญ์ ํ๋ก์ธ์ค๊ฐ ํฌ๊ฒ ๊ฐ์ํ๋์์ต๋๋ค.
- ะะฑะพััะดะพะฒะฐะฝะธะต
- amdgpu ๋๋ผ์ด๋ฒ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก FreeSync ์ ์ํ ๋๊ธฐํ ๊ธฐ์ ์ด ํฌํจ๋์ด ์์ด ํ๋ฉด ์ ๋ณด์ ์๋ก ๊ณ ์นจ ๋น๋๋ฅผ ์กฐ์ ํ์ฌ ๊ฒ์์ ํ๊ฑฐ๋ ๋น๋์ค๋ฅผ ์์ฒญํ๋ ๋์ ๋ถ๋๋ฝ๊ณ ์๋ฆฌ๋ ํ์ ์๋ ์ด๋ฏธ์ง๋ฅผ ๋ณด์ฅํ ์ ์์ต๋๋ค. Aldebaran GPU ์ง์์ด ์์ ์ ์ผ๋ก ๋ฐํ๋์์ต๋๋ค.
- i915 ๋๋ผ์ด๋ฒ๋ Intel Alderlake N ์นฉ ๋ฐ Intel DG2-G12 ๊ฐ๋ณ ๊ทธ๋ํฝ ์นด๋(Arc Alchemist)์ ๋ํ ์ง์์ ์ถ๊ฐํฉ๋๋ค.
- nouveau ๋๋ผ์ด๋ฒ๋ DP/eDP ์ธํฐํ์ด์ค์ ๋ํ ๋ ๋์ ๋นํธ ์ ์ก๋ฅ ์ ์ง์ํ๊ณ lttprs(Link-Training Tunable PHY Repeaters) ์ผ์ด๋ธ ํ์ฅ๊ธฐ๋ฅผ ์ง์ํฉ๋๋ค.
- ๋๋ผ์ด๋ฒ armada, exynos, gma500, hyperv, imx, ingenic, mcde, mediatek, msm, omap, rcar-du, rockchip, sprd, sti, tegra, tilcdc, xen ๋ฐ vc4 ๋งค๊ฐ๋ณ์ ์ง์์ drm(Direct Rendering Manager) ํ์ ์์คํ ์์ ์ปค๋ ์์ค์์ ๋น๋์ค ๋ชจ๋ ์ ํ๊ณผ ํ๋์จ์ด ๋ ๋๋ง ๊ฐ์ ๋๊ตฌ ์ฌ์ฉ์ ๋นํ์ฑํํ๊ณ ์์คํ ํ๋ ์ ๋ฒํผ์ ๊ด๋ จ๋ ๊ธฐ๋ฅ๋ง ๋จ๊ฒจ๋ ์ ์๋ nomodeset๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ARM Soะก Qualcomm Snapdragon 625/632(LG Nexus 5X ๋ฐ Fairphone FP3 ์ค๋งํธํฐ์ ์ฌ์ฉ), Samsung Exynos 850, Samsung Exynos 7885(Samsung Galaxy A8์ ์ฌ์ฉ), Airoha(Mediatek/EcoNet) EN7523, Mediatek mt6582(Prestigio PMT5008)์ ๋ํ ์ง์ ์ถ๊ฐ ํ๋ธ๋ฆฟ 3G), Microchip Lan966, Renesas RZ/G2LC, RZ/V2L, Tesla FSD, TI K3/AM62 ๋ฐ i.MXRTxxxx.
- Broadcom(Raspberry Pi Zero 2 W), Qualcomm(Google Herobrine R1 Chromebook, SHIFT6mq, Samsung Galaxy Book2), Rockchip(Pine64 PineNote, Bananapi-R2-Pro, STM32 Emtrion emSBS, Samsung Galaxy Tab S์ ARM ์ฅ์น ๋ฐ ๋ณด๋์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. , Prestigio PMT5008 3G ํ๋ธ๋ฆฟ), Allwinner(A20-Marsboard), Amlogic(Amediatek X96-AIR, CYX A95XF3-AIR, Haochuangy H96-Max, Amlogic AQ222 ๋ฐ OSMC Vero 4K+), Aspeed(Quanta S6Q, ASRock ROMED8HM3), Marvell MVEBU / Armada(Ctera C200 V1 ๋ฐ V2 NAS), Mstar(DongShanPiOne, Miyoo Mini), NXP i.MX(Protonic PRT8MM, emCON-MX8M Mini, Toradex Verdin, Gateworks GW7903).
- ์ฌ์ด๋ ์์คํ ๋ฐ ์ฝ๋ฑ AMD PDM, Atmel PDMC, Awinic AW8738, i.MX TLV320AIC31xx, Intel CS35L41, ESSX8336, Mediatek MT8181, nVidia Tegra234, Qualcomm SC7280, Renesas RZ/V2L, Texas Instruments TAS585M์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. Intel AVS DSP ์นฉ์ฉ ์ฌ์ด๋ ๋๋ผ์ด๋ฒ์ ์ด๊ธฐ ๊ตฌํ์ด ์ถ๊ฐ๋์์ต๋๋ค. Intel ADL ๋ฐ Tegra234์ ๋ํ ๋๋ผ์ด๋ฒ ์ง์์ ์ ๋ฐ์ดํธํ๊ณ Dell, HP, Lenovo, ASUS, Samsung ๋ฐ Clevo ์ฅ์น์ ์ค๋์ค ์ง์์ ๊ฐ์ ํ๋๋ก ๋ณ๊ฒฝํ์ต๋๋ค.
๋์์ ๋ผํด ์๋ฉ๋ฆฌ์นด ์์ ์ํํธ์จ์ด ์ฌ๋จ์ ์์ ๋ฌด๋ฃ ์ปค๋ 5.18 ๋ฒ์ ์ธ Linux-libre 5.18-gnu๋ฅผ ๋ง๋ค์์ต๋๋ค. ์ด ๋ฒ์ ์๋ ์์ ๋กญ์ง ์์ ๊ตฌ์ฑ ์์๋ ์ฝ๋ ์น์ ์ด ํฌํจ๋ ํ์จ์ด ๋ฐ ๋๋ผ์ด๋ฒ ์์๊ฐ ์ ๊ฑฐ๋์ด ์์ผ๋ฉฐ ๋ฒ์๊ฐ ์ ํ๋์ด ์์ต๋๋ค. ์ ์กฐ์ ์ฒด์ ์ํด. ์ ๋ฆด๋ฆฌ์ค์์๋ MIPI DBI ํจ๋, VPU Amphion, WiFi MediaTek MT7986 WMAC, Mediatek MT7921U(USB) ๋ฐ Realtek 8852a/8852c, Intel AVS ๋ฐ Texas Instruments TAS5805M ์ฌ์ด๋ ์นฉ์ฉ ๋๋ผ์ด๋ฒ๋ฅผ ์ ๋ฆฌํฉ๋๋ค. AArch64 ์ํคํ ์ฒ ๊ธฐ๋ฐ ํ๋ก์ธ์๋ฅผ ์ฌ์ฉํ๋ ๋ค์ํ Qualcomm SoC์ ๋ํด DTS ํ์ผ๋ ์ ๋ฆฌ๋์์ต๋๋ค. AMD GPU, MediaTek MT7915, Silicon Labs WF200+ WiFi, Mellanox Spectru Ethernet, Realtek rtw8852c, Qualcomm Q6V5, Wolfson ADSP, MediaTek HCI UART์ ๋๋ผ์ด๋ฒ ๋ฐ ํ์ ์์คํ ์์ ๋ธ๋กญ ์ ๋ฆฌ ์ฝ๋๊ฐ ์ ๋ฐ์ดํธ๋์์ต๋๋ค.
์ถ์ฒ : opennet.ru