๋ ๋ฌ ๊ฐ์ ๊ฐ๋ฐ ๋์ Linus Torvalds๋ ๋์ ๋ ์ปค๋ ๋ฆด๋ฆฌ์ค Linux 5.14. ๊ฐ์ฅ ์ฃผ๋ชฉํ ๋งํ ๋ณ๊ฒฝ ์ฌํญ์ผ๋ก๋ ์๋ก์ด quotactl_fd() ๋ฐ memfd_secret() ์์คํ ํธ์ถ, ide ๋ฐ ์์ ๋๋ผ์ด๋ฒ ์ ๊ฑฐ, cgroup์ ์ํ ์๋ก์ด I/O ์ฐ์ ์์ ์ปจํธ๋กค๋ฌ, SCHED_CORE ์์ ์์ฝ ๋ชจ๋, ๊ฒ์ฆ๋ BPF ํ๋ก๊ทธ๋จ ๋ก๋ ์์ฑ์ ์ํ ์ธํ๋ผ๊ฐ ์์ต๋๋ค.
์ ๋ฒ์ ์๋ 15883๋ช ์ ๊ฐ๋ฐ์๊ฐ ์์ ํ 2002๊ฐ๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ ํจ์น ํฌ๊ธฐ๋ 69MB์ ๋๋ค(๋ณ๊ฒฝ ์ฌํญ์ 12580๊ฐ ํ์ผ์ ์ํฅ์ ๋ฏธ์น๊ณ 861501์ค์ ์ฝ๋๊ฐ ์ถ๊ฐ๋์์ผ๋ฉฐ 321654์ค์ด ์ญ์ ๋์์ต๋๋ค). 47์ ๋์ ๋ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ ์ค ์ฝ 5.14%๋ ์ฅ์น ๋๋ผ์ด๋ฒ์ ๊ด๋ จ์ด ์๊ณ , ์ฝ 14%๋ ํ๋์จ์ด ์ํคํ ์ฒ ๊ด๋ จ ์ฝ๋ ์ ๋ฐ์ดํธ์ ๊ด๋ จ์ด ์์ผ๋ฉฐ, 13%๋ ๋คํธ์ํน ์คํ๊ณผ ๊ด๋ จ์ด ์๊ณ , 3%๋ ํ์ผ ์์คํ ๊ณผ ๊ด๋ จ์ด ์์ผ๋ฉฐ, 3%๋ ๋ด๋ถ ์ปค๋ ํ์ ์์คํ ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
- ๋์คํฌ ํ์ ์์คํ
, ์
๋ ฅ/์ถ๋ ฅ ๋ฐ ํ์ผ ์์คํ
:
- cgroup์ ๊ฒฝ์ฐ ๊ตฌํ ์๋ก์ด I/O ์ฐ์ ์์ ์ปจํธ๋กค๋ฌ - rq-qos๋ ๊ฐ cgroup์ ๊ตฌ์ฑ์์ด ์์ฑํ ๋ธ๋ก ์ฅ์น์ ๋ํ ์์ฒญ์ ์ฒ๋ฆฌ ์ฐ์ ์์๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค. mq-deadline I/O ์ค์ผ์ค๋ฌ์ ์๋ก์ด ์ฐ์ ์์ ์ปจํธ๋กค๋ฌ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ext4 ํ์ผ ์์คํ ์์ ๊ตฌํ ์๋ก์ด ioctl ๋ช ๋ น EXT4_IOC_CHECKPOINT๋ ๋ณด๋ฅ ์ค์ธ ๋ชจ๋ ํธ๋์ญ์ ์ ๋ก๊ทธ ๋ฐ ๊ด๋ จ ๋ฒํผ์์ ๋์คํฌ๋ก ๊ฐ์ ์คํํ๊ณ ๋ก๊ทธ์ธ ์คํ ๋ฆฌ์ง์์ ์ฌ์ฉํ๋ ์์ญ์ ๋ฎ์ด์๋๋ค. ์ด๋ฒ ๋ณ๊ฒฝ์ ํ์ผ ์์คํ ์ ์ ๋ณด ์ ์ถ์ ๋ฐฉ์งํ๊ธฐ ์ํ ์กฐ์น์ ์ผํ์ผ๋ก ์ค๋น๋์์ต๋๋ค.
- Btrfs์์ ์ ๋ ฅ ์ฑ๋ฅ ์ต์ ํ: fsync ์คํ ์ค ํ์ฅ ์์ฑ์ ๋ถํ์ํ ๋ก๊น ์ ์ ๊ฑฐํจ์ผ๋ก์จ ํ์ฅ ์์ฑ์ ์ฌ์ฉํ๋ ์ง์ฝ์ ์ธ ์์ ์ ์ฑ๋ฅ์ด ์ต๋ 17% ํฅ์๋์์ต๋๋ค. ๋ํ ์ต์คํ ํธ์ ์ํฅ์ ์ฃผ์ง ์๋ ํธ๋ฆผ ์์ ์ ์ํํ ๋ ์ ์ฒด ๋๊ธฐํ๊ฐ ๋นํ์ฑํ๋์ด ์์ ์๊ฐ์ด 12% ๋จ์ถ๋์์ต๋๋ค. FS๋ฅผ ํ์ธํ ๋ I/O ๋์ญํญ์ ์ ํํ๋ ์ค์ ์ด sysfs์ ์ถ๊ฐ๋์์ต๋๋ค. ์ฅ์น ์์ ํฌ๊ธฐ ์กฐ์ ๋ฐ ์ญ์ ๋ฅผ ์ทจ์ํ๊ธฐ ์ํ ioctl ํธ์ถ์ด ์ถ๊ฐ๋์์ต๋๋ค.
- XFS์์ ์ฌ ์์ ๋ฐฐ์น ๋ชจ๋์์ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง ํ ๋น์ผ๋ก ์ ์ก๋๋ ๋ฒํผ ์บ์ ๊ตฌํ. ํฅ์๋ ์บ์ ํจ์จ์ฑ;
- F2FS๋ ์ฝ๊ธฐ ์ ์ฉ ๋ชจ๋๋ก ์๋ํ๋ ์ต์ ์ ์ถ๊ฐํ๊ณ ์์ถ๋ ๋ธ๋ก ์บ์ฑ ๋ชจ๋(compress_cache)๋ฅผ ๊ตฌํํ์ฌ ์์ ์ฝ๊ธฐ ์ฑ๋ฅ์ ํฅ์์์ผฐ์ต๋๋ค. mmap() ์์ ์ ์ฌ์ฉํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ๋งคํ๋ ํ์ผ์ ์์ถํ๊ธฐ ์ํ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค. ๋ง์คํฌ๋ฅผ ํตํ ํ์ผ ์์ถ์ ์ ํ์ ์ผ๋ก ๋นํ์ฑํํ๊ธฐ ์ํด ์๋ก์ด ๋ง์ดํธ ์ต์ nocompress๊ฐ ์ ์๋์์ต๋๋ค.
- ์ผ๋ถ ๋์งํธ ์นด๋ฉ๋ผ์ ์คํ ๋ฆฌ์ง์์ ํธํ์ฑ์ ํฅ์์ํค๊ธฐ ์ํด exFAT ๋๋ผ์ด๋ฒ์์ ์์ ์ด ์ํ๋์์ต๋๋ค.
- ์ถ๊ฐ๋ ์์คํ ํธ์ถ quotactl_fd(), ํน์ ์ฅ์น ํ์ผ์ ํตํ์ง ์๊ณ ํ ๋น๋์ด ์ ์ฉ๋๋ ํ์ผ ์์คํ ๊ณผ ์ฐ๊ด๋ ํ์ผ ์ค๋ช ์๋ฅผ ์ง์ ํ์ฌ ํ ๋น๋์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- IDE ์ธํฐํ์ด์ค๊ฐ ์๋ ๋ธ๋ก ์ฅ์น์ฉ ์ด์ ๋๋ผ์ด๋ฒ๋ ์ปค๋์์ ์ ๊ฑฐ๋์์ผ๋ฉฐ ์ค๋ซ๋์ libata ํ์ ์์คํ ์ผ๋ก ๋์ฒด๋์์ต๋๋ค. ์ด์ ์ฅ์น์ ๋ํ ์ง์์ ์์ ํ ์ ์ง๋์์ผ๋ฉฐ, ๋ณ๊ฒฝ ์ฌํญ์ /dev/sd*๊ฐ ์๋ /dev/hd*๋ผ๊ณ ๋ถ๋ฆฌ๋ ๋๋ผ์ด๋ธ๋ฅผ ์ฌ์ฉํ ๋ ์ด์ ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์๋ง ๊ด๋ จ๋ฉ๋๋ค.
- "raw" ๋๋ผ์ด๋ฒ๊ฐ ์ปค๋์์ ์ ๊ฑฐ๋์ด /dev/raw ์ธํฐํ์ด์ค๋ฅผ ํตํด ๋ธ๋ก ์ฅ์น์ ๋ํ ๋ฒํผ๋ง๋์ง ์์ ์ก์ธ์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ค๋ซ๋์ O_DIRECT ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๊ตฌํ๋์์ต๋๋ค.
- ๋ฉ๋ชจ๋ฆฌ ๋ฐ ์์คํ
์๋น์ค:
- ์์ ์ค์ผ์ค๋ฌ์ ์๋ก์ด ์ค์ผ์ค๋ง ๋ชจ๋๊ฐ ๊ตฌํ๋์์ต๋๋ค. SCHED_CORE, ๋์ผํ CPU ์ฝ์ด์์ ์ด๋ค ํ๋ก์ธ์ค๊ฐ ํจ๊ป ์คํ๋ ์ ์๋์ง ์ ์ดํ ์ ์์ต๋๋ค. ๊ฐ ํ๋ก์ธ์ค์๋ ํ๋ก์ธ์ค ๊ฐ์ ์ ๋ขฐ ๋ฒ์(์: ๋์ผํ ์ฌ์ฉ์ ๋๋ ์ปจํ ์ด๋์ ์ํจ)๋ฅผ ์ ์ํ๋ ์ฟ ํค ์๋ณ์๊ฐ ํ ๋น๋ ์ ์์ต๋๋ค. ์ฝ๋ ์คํ์ ๊ตฌ์ฑํ ๋ ์ค์ผ์ค๋ฌ๋ ํ๋์ CPU ์ฝ์ด๊ฐ ๋์ผํ ์์ ์์ ์ฐ๊ฒฐ๋ ํ๋ก์ธ์ค ๊ฐ์๋ง ๊ณต์ ๋๋๋ก ํ ์ ์์ต๋๋ค. ์ด๋ ์ ๋ขฐํ ์ ์๋ ์์ ๊ณผ ์ ๋ขฐํ ์ ์๋ ์์ ์ด ๋์ผํ SMT(ํ์ดํผ ์ค๋ ๋ฉ) ์ค๋ ๋์์ ์คํ๋๋ ๊ฒ์ ๋ฐฉ์งํ์ฌ ์ผ๋ถ Spectre ๊ณต๊ฒฉ์ ์ฐจ๋จํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. ;
- cgroup ๋ฉ์ปค๋์ฆ์ ๊ฒฝ์ฐ, ๊ฐ์ ํ์ผ cgroup.kill์ "1"์ ์จ์ ๊ทธ๋ฃน๊ณผ ๊ด๋ จ๋ ๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ํ ๋ฒ์ ์ข ๋ฃ(SIGKILL ์ ์ก)ํ ์ ์๋ ์ข ๋ฃ ์์ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค.
- ์์์ ๋ช ๋ น์ ์คํํ ๋ ๋ฐ์ดํฐ๊ฐ ๋ ๊ฐ์ CPU ์บ์ ๋ผ์ธ์ ํต๊ณผํ๋ค๋ ์ฌ์ค๋ก ์ธํด ๋ฉ๋ชจ๋ฆฌ์์ ์ ๋ ฌ๋์ง ์์ ๋ฐ์ดํฐ์ ์ก์ธ์คํ ๋ ๋ฐ์ํ๋ ๋ถํ ์ ๊ธ("๋ถํ ์ ๊ธ") ๊ฐ์ง์ ๋ํ ์๋ต๊ณผ ๊ด๋ จ๋ ๊ธฐ๋ฅ์ด ํ์ฅ๋์์ต๋๋ค. ์ด๋ฌํ ์ฐจ๋จ์ ์ฑ๋ฅ ์ ํ๋ก ์ด์ด์ง๋ฏ๋ก ์ด์ ์๋ ์ฐจ๋จ์ ์ ๋ฐํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ์ ์ข ๋ฃํ๋ ๊ฒ์ด ๊ฐ๋ฅํ์ต๋๋ค. ์ ๋ฆด๋ฆฌ์ค์๋ ์ปค๋ ๋ช ๋ น์ค ๋งค๊ฐ๋ณ์ "split_lock_Detect=ratelimit:N"์ด ์ถ๊ฐ๋์ด ์ด๋น ์ ๊ธ ์์ ์๋์ ๋ํ ์์คํ ์ ์ฒด ์ ํ์ ์ ์ํ ์ ์์ต๋๋ค. ์ข ๋ฃํ๋ ๋์ 20ms ๋์ ๊ฐ์ ๋ก ์ค์งํด์ผ ํฉ๋๋ค.
- ๊ฐ cgroup์ ์ผ๋ง๋ ๋ง์ ํ๋ก์ธ์ ์๊ฐ์ ํ ๋นํ ์ ์๋์ง ๊ฒฐ์ ํ๋ cgroup ๋์ญํญ ์ปจํธ๋กค๋ฌ CFS(CFS ๋์ญํญ ์ปจํธ๋กค๋ฌ)์๋ ์ง์ ๋ ์์ ๊ธฐ๊ฐ์ผ๋ก ์ ํ๋๋ ์ ํ์ ์ ์ํ๋ ๊ธฐ๋ฅ์ด ์์ด ์ง์ฐ ์๊ฐ์ ๋ฏผ๊ฐํ ๋ก๋๋ฅผ ๋ ์ ์กฐ์ ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, cpu.cfs_quota_us๋ฅผ 50000์ผ๋ก ์ค์ ํ๊ณ cpu.cfs_๊ธฐ๊ฐ_us๋ฅผ 100000์ผ๋ก ์ค์ ํ๋ฉด ํ๋ก์ธ์ค ๊ทธ๋ฃน์ด 100ms๋ง๋ค 50ms์ CPU ์๊ฐ์ ๋ญ๋นํ ์ ์์ต๋๋ค.
- ์ถ๊ฐ ์ ๋ขฐํ ์ ์๋ ๋์งํธ ํค๋ก ์๋ช ๋ BPF ํ๋ก๊ทธ๋จ๋ง ๋ค์ด๋ก๋ํ ์ ์๋๋ก ํ๋ BPF ํ๋ก๊ทธ๋จ ๋ก๋ ์์ฑ์ ์ํ ์ด๊ธฐ ์ธํ๋ผ
- ๋จ์กฐ ํ์ด๋จธ๋ฅผ ์ฌ์ฉํ์ฌ ์๊ฐ ์ ํ์ ๊ณ์ฐํ๋ ์๋ก์ด futex ์์ FUTEX_LOCK_PI2๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ์ด๋ ์์คํ ์ด ์ ์ ๋ชจ๋์์ ์๋นํ ์๊ฐ์ ๊ณ ๋ คํฉ๋๋ค.
- RISC-V ์ํคํ ์ฒ์ ๊ฒฝ์ฐ ๋์ฉ๋ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง(Transparent Huge-Pages) ์ง์ ๋ฐ Kํ์ค ๋ฉ๋ชจ๋ฆฌ ์์ ์ ์ค๋ฅ๋ฅผ ์๋ณํฉ๋๋ค.
- ํ๋ก์ธ์ค ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ฅผ ์ต์ ํํ๋ ์๋จ์ ์ ๊ณตํ๋ madvise() ์์คํ ํธ์ถ์ ์ถ๊ฐ MADV_POPULATE_READ ๋ฐ MADV_POPULATE_WRITE ํ๋๊ทธ๋ ์ค์ ์ฝ๊ธฐ ๋๋ ์ฐ๊ธฐ๋ฅผ ์ํํ์ง ์๊ณ ์ฝ๊ธฐ ๋๋ ์ฐ๊ธฐ ์์ ์ ์ํด ๋งคํ๋ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง์์ "ํ์ด์ง ํดํธ"๋ฅผ ์์ฑํฉ๋๋ค(๊ธฐ๋ณธ๊ฐ). ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ๋ฉด ์ค์ ์ก์ธ์ค๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ํ ๋น๋์ง ์์ ๋ชจ๋ ํ์ด์ง์ ๋ํด "ํ์ด์ง ์ค๋ฅ" ์ฒ๋ฆฌ๊ธฐ๋ฅผ ํ ๋ฒ์ ์ฌ์ ์คํํ๋ฏ๋ก ํ๋ก๊ทธ๋จ ์คํ ์ง์ฐ์ ์ค์ด๋ ๋ฐ ์ ์ฉํ ์ ์์ต๋๋ค.
- ๋จ์ ํ ์คํธ ์์คํ ์์ ์ฟ ๋ํธ ์ถ๊ฐ QEMU ํ๊ฒฝ์์ ํ ์คํธ ์คํ ์ง์
- ์๋ก์ด ์ถ์ ์๊ฐ ์ถ๊ฐ๋์์ต๋๋ค: "์ผํฌ ์์"์ธํฐ๋ฝํธ ์ฒ๋ฆฌ๋ก ์ธํ ์ ํ๋ฆฌ์ผ์ด์ ์ง์ฐ์ ์ถ์ ํ๊ณ "timelat"์ ์ฌ์ฉํ์ฌ ํ์ด๋จธ ์ ํธ์์ ๊นจ์ด๋ ๋ ์ง์ฐ์ ๋ํ ์์ธํ ์ ๋ณด๋ฅผ ํ์ํฉ๋๋ค.
- ๊ฐ์ํ ๋ฐ ๋ณด์:
- ์ถ๊ฐ ์์คํ ํธ์ถ memfd_secret(), ์์ ์ ํ๋ก์ธ์ค์๋ง ํ์๋๊ณ ๋ค๋ฅธ ํ๋ก์ธ์ค์๋ ๋ฐ์๋์ง ์์ผ๋ฉฐ ์ปค๋์ ์ง์ ์ก์ธ์คํ ์ ์๋ ๊ฒฉ๋ฆฌ๋ ์ฃผ์ ๊ณต๊ฐ์ ๊ฐ์ธ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ์์ฑํ ์ ์์ต๋๋ค.
- seccomp ์์คํ ํธ์ถ ํํฐ๋ง ์์คํ ์์ ์ ๊ธ ํธ๋ค๋ฌ๋ฅผ ์ฌ์ฉ์ ๊ณต๊ฐ์ผ๋ก ์ด๋ํ ๋ ๋จ์ผ ์์ ์ฐ์ฐ์ ์ฌ์ฉํ์ฌ ๊ฒฉ๋ฆฌ๋ ์์ ์ ๋ํ ํ์ผ ์ค๋ช ์๋ฅผ ์์ฑํ๊ณ ์์คํ ํธ์ถ์ ์ฒ๋ฆฌํ ๋ ์ด๋ฅผ ๋ฐํํ๋ ๊ฒ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ ์๋ ์์ ์ผ๋ก ํด๊ฒฐ ๋ฌธ์ ์ ํธ๊ฐ ๋์ฐฉํ๋ฉด ์ฌ์ฉ์ ๊ณต๊ฐ์์ ํธ๋ค๋ฌ๊ฐ ์ค๋จ๋ฉ๋๋ค.
- ์ถ๊ฐ ์๋ก์ด ๋ฉ์ปค๋์ฆ ๊ฐ๋ณ rlimit ์นด์ดํฐ๋ฅผ "์ฌ์ฉ์ ๋ค์์คํ์ด์ค"์ ์ฌ์ฉ์์ ๋ฐ์ธ๋ฉํ๋ ์ฌ์ฉ์ ID ๋ค์์คํ์ด์ค์ ๋ฆฌ์์ค ์ ํ์ ๊ด๋ฆฌํฉ๋๋ค. ์ด ๋ณ๊ฒฝ ์ฌํญ์ ํ ์ฌ์ฉ์๊ฐ ๋ค๋ฅธ ์ปจํ ์ด๋์์ ํ๋ก์ธ์ค๋ฅผ ์คํํ ๋ ๊ณตํต ๋ฆฌ์์ค ์นด์ดํฐ ์ฌ์ฉ๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
- ARM64 ์์คํ ์ฉ KVM ํ์ดํผ๋ฐ์ด์ ๋ ๊ฒ์คํธ ์์คํ ์์ MTE(MemTag, Memory Tagged Extension) ํ์ฅ์ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ ๋ฉ๋ชจ๋ฆฌ ํ ๋น ์์ ์ ํ๊ทธ๋ฅผ ๋ฐ์ธ๋ฉํ๊ณ ํฌ์ธํฐ์ ์ฌ๋ฐ๋ฅธ ์ฌ์ฉ์ ๊ฒ์ฌํ์ฌ ์ ์ฉ์ ์ฐจ๋จํ ์ ์์ต๋๋ค. ์ด๋ฏธ ํด์ ๋ ๋ฉ๋ชจ๋ฆฌ ๋ธ๋ก ์ก์ธ์ค, ๋ฒํผ ์ค๋ฒํ๋ก, ์ด๊ธฐํ ์ ์ก์ธ์ค ๋ฐ ํ์ฌ ์ปจํ ์คํธ ์ธ๋ถ ์ฌ์ฉ์ผ๋ก ์ธํด ๋ฐ์ํ๋ ์ทจ์ฝ์
- ์ด์ ARM64 ํ๋ซํผ์์ ์ ๊ณตํ๋ ํฌ์ธํฐ ์ธ์ฆ์ ์ปค๋ ๋ฐ ์ฌ์ฉ์ ๊ณต๊ฐ์ ๋ํด ๋ณ๋๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ์ด ๊ธฐ์ ์ ์ฌ์ฉํ๋ฉด ํน์ ARM64 ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ฌ ํฌ์ธํฐ ์์ฒด์ ์ฌ์ฉ๋์ง ์์ ์์ โโ๋นํธ์ ์ ์ฅ๋ ๋์งํธ ์๋ช ์ ์ฌ์ฉํ์ฌ ๋ฐํ ์ฃผ์๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์ ๋ชจ๋ Linux์์ ์ถ๊ฐ PCI-over-virtio ๋๋ผ์ด๋ฒ์ ์ํด ๊ตฌํ๋๋ ๊ฐ์ PCI ๋ฒ์ค๊ฐ ์๋ PCI ์ฅ์น์ฉ ๋๋ผ์ด๋ฒ ์ฌ์ฉ ์ง์
- x86 ์์คํ ์ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ ํ์ด์ง ํ ์ด๋ธ์ ์๋ฎฌ๋ ์ด์ ํ์ง ์๊ณ virtio ์ ์ก์ ํตํด ATTACH, DETACH, MAP ๋ฐ UNMAP๊ณผ ๊ฐ์ IOMMU ์์ฒญ์ ๋ณด๋ผ ์ ์๋ virtio-iommu ๋ฐ๊ฐ์ํ ์ฅ์น์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- Skylake ์ ํ๊ตฐ๋ถํฐ Coffee Lake๊น์ง Intel CPU์ ๊ฒฝ์ฐ ๋ถํ์ํ ๋๊ธฐํ ์์ ์ ๋์ ์ผ๋ก ์ ๊ฑฐํ์ฌ ๋ฉํฐ ์ค๋ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ํฅ์์ํค๋ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ Intel TSX(TransactionalSynchronization Extensions) ์ฌ์ฉ์ด ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋์ด ์์ต๋๋ค. ๊ณต๊ฒฉ ๊ฐ๋ฅ์ฑ์ผ๋ก ์ธํด ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๋นํ์ฑํ๋์์ต๋๋ค. ์ข๋น๋ก๋, ๋น๋๊ธฐ ์์ ์ค๋จ(TAA, TSX Asynchronous Abort) ๋ฉ์ปค๋์ฆ ์๋ ์ค์ ๋ฐ์ํ๋ ์ XNUMX์ ์ฑ๋์ ํตํ ์ ๋ณด ์ ์ถ์ ์กฐ์ํฉ๋๋ค.
- ๋คํธ์ํฌ ํ์ ์์คํ
:
- MPTCP(MultiPath TCP)์ ํต์ฌ์ผ๋ก์ ์ง์์ ์ธ ํตํฉ์ ์๋ก ๋ค๋ฅธ IP ์ฃผ์์ ์ฐ๊ฒฐ๋ ์๋ก ๋ค๋ฅธ ๋คํธ์ํฌ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ฌ๋ฌ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ๋์์ ํจํท์ ์ ๋ฌํ๋ TCP ์ฐ๊ฒฐ ์์ ์ ๊ตฌ์ฑํ๊ธฐ ์ํ TCP ํ๋กํ ์ฝ์ ํ์ฅ์ ๋๋ค. ์๋ก์ด ๋ฌธ์ ์์๋ ์ถ๊ฐ IPv4 ๋ฐ IPv6(๋ค์ค ๊ฒฝ๋ก ํด์ ์ ์ฑ )์ ๋ํ ์์ฒด ํธ๋ํฝ ํด์ฑ ์ ์ฑ ์ ์ค์ ํ๋ ๋ฉ์ปค๋์ฆ์ผ๋ก, ๊ฒฝ๋ก ์ ํ์ ๊ฒฐ์ ํ๋ ํด์๋ฅผ ๊ณ์ฐํ ๋ ์บก์ํ๋ ํ๋๋ฅผ ํฌํจํ์ฌ ํจํท์ ์ด๋ค ํ๋๋ฅผ ์ฌ์ฉํ ์ง ์ฌ์ฉ์ ๊ณต๊ฐ์์ ๊ฒฐ์ ํ ์ ์์ต๋๋ค. ํจํท์ ๊ฒฝ์ฐ;
- ๊ฐ์ ์ ์ก virtio์ ์์ผ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. SOCK_SEQPACKET (๋ฐ์ดํฐ๊ทธ๋จ์ ์ง์ ์๊ณ ์์ ์ ์ธ ์ ์ก)
- SO_REUSEPORT ์์ผ ๋ฉ์ปค๋์ฆ์ ๊ธฐ๋ฅ์ด ํ์ฅ๋์ด ์ฌ๋ฌ ์ฒญ์ทจ ์์ผ์ด ํ ๋ฒ์ ํ๋์ ํฌํธ์ ์ฐ๊ฒฐ๋์ด SO_REUSEPORT๋ฅผ ํตํด ์ฐ๊ฒฐ๋ ๋ชจ๋ ์์ผ์ ๋ค์ด์ค๋ ์์ฒญ์ ๋์์ ๋ฐฐํฌํ์ฌ ์ฐ๊ฒฐ์ ์์ ํ ์ ์์ต๋๋ค. ์ด๋ ๋ค์ค ์ค๋ ๋ ์๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์์ฑ์ ๋จ์ํํฉ๋๋ค. . ์ ๋ฒ์ ์์๋ ์ถ๊ฐ ์ฒ์ ์ ํ๋ ์์ผ์ ์์ฒญ ์ฒ๋ฆฌ ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ๋ค๋ฅธ ์์ผ์ผ๋ก ์ ์ด๊ถ์ ์ ๋ฌํ๋ ์๋จ(์๋น์ค๋ฅผ ๋ค์ ์์ํ ๋ ๊ฐ๋ณ ์ฐ๊ฒฐ์ด ๋์ด์ง๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํจ)
- ์ฅ๋น:
- amdgpu ๋๋ผ์ด๋ฒ์์ ๊ตฌํ ์ฝ๋๋ช "Beige Goby"(Navi 6000) ๋ฐ "Yellow Carp"์ธ ์๋ก์ด AMD Radeon RX 24 GPU ์๋ฆฌ์ฆ๋ฅผ ์ง์ํ๊ณ Aldebaran GPU(gfx90a) ๋ฐ Van Gogh APU์ ๋ํ ํฅ์๋ ์ง์์ ์ ๊ณตํฉ๋๋ค. ์ฌ๋ฌ eDP ํจ๋์ ๋์์ ์์ ํ ์ ์๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋์์ต๋๋ค. APU Renoir์ ๊ฒฝ์ฐ ๋น๋์ค ๋ฉ๋ชจ๋ฆฌ(TMZ, Trusted Memory Zone)์ ์ํธํ๋ ๋ฒํผ ์์ ์ ๋ํ ์ง์์ด ๊ตฌํ๋์์ต๋๋ค. ํซ ์ธํ๋ฌ๊ทธ ๊ทธ๋ํฝ ์นด๋์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค. Radeon RX 6000(Navi 2x) GPU ๋ฐ ์ด์ AMD GPU์ ๊ฒฝ์ฐ ์ด์ ์๋ Navi 1x, Vega ๋ฐ Polaris GPU์์๋ง ํ์ฑํ๋์๋ ASPM(Active State Power Management) ์ ์ ๋ฉ์ปค๋์ฆ ์ง์์ด ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋ฉ๋๋ค.
- AMD ์นฉ์ ๊ฒฝ์ฐ HMM(์ด๊ธฐ์ข ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ) ํ์ ์์คํ ์ ๊ธฐ๋ฐ์ผ๋ก ๊ณต์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ(SVM, ๊ณต์ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ)์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์ด ์์ฒด ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ฅ์น(MMU, ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ์ฅ์น)๊ฐ ์๋ ์ฅ์น๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฉ์ธ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ ์ ์๋ ๊ฒ์ ๋๋ค. HMM ์ฌ์ฉ์ ํฌํจํ์ฌ GPU์ CPU ์ฌ์ด์ ๊ณต์ ์ฃผ์ ๊ณต๊ฐ์ ๊ตฌ์ฑํ ์ ์์ผ๋ฉฐ, ์ฌ๊ธฐ์ GPU๋ ํ๋ก์ธ์ค์ ๊ธฐ๋ณธ ๋ฉ๋ชจ๋ฆฌ์ ์ก์ธ์คํ ์ ์์ต๋๋ค.
- ์ด๊ธฐ ๊ธฐ์ ์ง์ ์ถ๊ฐ AMD ์ค๋งํธ ์ํํธ๋ ๊ฒ์, ๋น๋์ค ํธ์ง ๋ฐ 3D ๋ ๋๋ง ์ ์ฑ๋ฅ์ ๋์ด๊ธฐ ์ํด ์นฉ์ ๋ฐ AMD ๊ทธ๋ํฝ ์นด๋๊ฐ ์ฅ์ฐฉ๋ ๋ ธํธ๋ถ์์ CPU ๋ฐ GPU์ ์ ๋ ฅ ์๋น ๋งค๊ฐ๋ณ์๋ฅผ ๋์ ์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
- Intel ๋น๋์ค ์นด๋์ฉ i915 ๋๋ผ์ด๋ฒ ํฌํจ ๋ Intel Alderlake P ์นฉ ์ง์;
- Hyper-V ๊ฐ์ ๊ทธ๋ํฝ ์ด๋ํฐ์ฉ drm/hyperv ๋๋ผ์ด๋ฒ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ์ถ๊ฐ ์ถ๋ ฅ์ ์ํด UEFI ํ์จ์ด ๋๋ BIOS์์ ์ ๊ณตํ๋ EFI-GOP ๋๋ VESA ํ๋ ์ ๋ฒํผ๋ฅผ ์ฌ์ฉํ๋ simpledrm ๊ทธ๋ํฝ ๋๋ผ์ด๋ฒ์ ๋๋ค. ๋๋ผ์ด๋ฒ์ ์ฃผ์ ๋ชฉ์ ์ ์ ์ฒด DRM ๋๋ผ์ด๋ฒ๋ฅผ ์ฌ์ฉํ๊ธฐ ์ ๋ถํ ์ด๊ธฐ ๋จ๊ณ์์ ๊ทธ๋ํฝ ์ถ๋ ฅ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. ์ด ๋๋ผ์ด๋ฒ๋ ์์ง ๊ธฐ๋ณธ DRM ๋๋ผ์ด๋ฒ๊ฐ ์๋ ์ฅ๋น์ ๋ํ ์์ ์๋ฃจ์ ์ผ๋ก ์ฌ์ฉ๋ ์๋ ์์ต๋๋ค.
- ์ถ๊ฐ ์ฌ์ธ์ ์ปดํจํฐ ์ง์ ๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด 400;
- Dell ๋ ธํธ๋ถ์ ํฌํจ๋ ์นด๋ฉ๋ผ ๋ฐ ๋ง์ดํฌ ํ๋์จ์ด ์ค์์น๋ฅผ ์ง์ํ๊ธฐ ์ํด dell-wmi-privacy ๋๋ผ์ด๋ฒ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ๋ ๋ ธ๋ฒ ๋ ธํธ๋ถ์ ๊ฒฝ์ฐ ์ถ๊ฐ sysfs /sys/class/firmware-attributes/๋ฅผ ํตํด BIOS ๋งค๊ฐ๋ณ์๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ํ WMI ์ธํฐํ์ด์ค;
- ํผ์ง๋ USB4 ์ธํฐํ์ด์ค๋ฅผ ๊ฐ์ถ ์ฅ์น ์ง์;
- ์ถ๊ฐ ์ฌ์ด๋ ์นด๋ ๋ฐ ์ฝ๋ฑ AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 ๋ฐ Texas Instruments TAS2505๋ฅผ ์ง์ํฉ๋๋ค. HP ๋ฐ ASUS ๋ ธํธ๋ถ์ ์ค๋์ค ์ง์์ด ํฅ์๋์์ต๋๋ค. ์ถ๊ฐ๋จ USB ์ธํฐํ์ด์ค๊ฐ ์๋ ์ฅ์น์์ ์ค๋์ค ์ฌ์์ด ์์๋๊ธฐ ์ ์ ์ง์ฐ์ ์ค์ด๊ธฐ ์ํ ํจ์น์ ๋๋ค.
์ถ์ฒ โ opennet.ru.
์ถ์ฒ : linux.org.ru