Linux 5.11 ์ปค๋„ ๋ฆด๋ฆฌ์Šค

๋‘ ๋‹ฌ๊ฐ„์˜ ๊ฐœ๋ฐœ ๋์— Linus Torvalds๋Š” Linux ์ปค๋„ 5.11์˜ ์ถœ์‹œ๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ฃผ๋ชฉํ• ๋งŒํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ๋Š” Intel SGX ์—”ํด๋ ˆ์ด๋ธŒ ์ง€์›, ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ๊ฐ€๋กœ์ฑ„๋Š” ์ƒˆ๋กœ์šด ๋ฉ”์ปค๋‹ˆ์ฆ˜, ๊ฐ€์ƒ ๋ณด์กฐ ๋ฒ„์Šค, MODULE_LICENSE() ์—†์ด ๋ชจ๋“ˆ ์กฐ๋ฆฝ ๊ธˆ์ง€, seccomp์—์„œ ์‹œ์Šคํ…œ ํ˜ธ์ถœ์— ๋Œ€ํ•œ ๋น ๋ฅธ ํ•„ํ„ฐ๋ง ๋ชจ๋“œ, ia64 ์•„ํ‚คํ…์ฒ˜, WiMAX ๊ธฐ์ˆ ์„ "์Šคํ…Œ์ด์ง•" ์ง€์ ์œผ๋กœ ์ด์ „, UDP์—์„œ SCTP๋ฅผ ์บก์Šํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ.

์ƒˆ ๋ฒ„์ „์—๋Š” 15480๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ˆ˜์ •ํ•œ 1991๊ฐœ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ ํŒจ์น˜ ํฌ๊ธฐ๋Š” 72MB์ž…๋‹ˆ๋‹ค(๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ 12090๊ฐœ ํŒŒ์ผ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ณ  868025์ค„์˜ ์ฝ”๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์œผ๋ฉฐ 261456์ค„์ด ์‚ญ์ œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค). 46์— ๋„์ž…๋œ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์˜ ์•ฝ 5.11%๋Š” ์žฅ์น˜ ๋“œ๋ผ์ด๋ฒ„์™€ ๊ด€๋ จ์ด ์žˆ๊ณ , ์•ฝ 16%๋Š” ํ•˜๋“œ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ๊ด€๋ จ ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ์™€ ๊ด€๋ จ์ด ์žˆ์œผ๋ฉฐ, 13%๋Š” ๋„คํŠธ์›Œํฌ ์Šคํƒ๊ณผ ๊ด€๋ จ์ด ์žˆ๊ณ , 3%๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ ๊ด€๋ จ์ด ์žˆ์œผ๋ฉฐ, 4%๋Š” ๋‚ด๋ถ€ ์ปค๋„ ํ•˜์œ„ ์‹œ์Šคํ…œ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ํ˜์‹ :

  • ๋””์Šคํฌ ํ•˜์œ„ ์‹œ์Šคํ…œ, I/O ๋ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ
    • ์†์ƒ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์›ํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋งˆ์šดํŠธ ์˜ต์…˜์ด Btrfs์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ๋ฃจํŠธ ํŠธ๋ฆฌ(extent, uuid, ๋ฐ์ดํ„ฐ reloc, ์žฅ์น˜, csum, ์—ฌ์œ  ๊ณต๊ฐ„)์˜ ์†์ƒ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋งˆ์šดํŠธ๋ฅผ ์œ„ํ•œ "rescue=ignorebadroots", " "rescue=ignoredatacsums"๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์ฒดํฌ์„ฌ ๊ฒ€์‚ฌ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๊ณ  "rescue=all"์€ 'ignorebadroots', 'ignoredatacsums' ๋ฐ 'nologreplay' ๋ชจ๋“œ๋ฅผ ๋™์‹œ์— ํ™œ์„ฑํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์— ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์•˜๋˜ "inode_cache" ๋งˆ์šดํŠธ ์˜ต์…˜์€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŽ˜์ด์ง€ ํฌ๊ธฐ(PAGE_SIZE)๋ณด๋‹ค ์ž‘์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋ฐ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋œ ๋ธ”๋ก์— ๋Œ€ํ•œ ์ง€์›๊ณผ ๊ตฌ์—ญํ™”๋œ ๊ณต๊ฐ„ ํ• ๋‹น ๋ชจ๋“œ์— ๋Œ€ํ•œ ์ง€์›์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์ฝ”๋“œ๊ฐ€ ์ค€๋น„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„ํผ๋ง๋˜์ง€ ์•Š์€(์ง์ ‘ IO) ์š”์ฒญ์ด iomap ์ธํ”„๋ผ๋กœ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์ž‘์—…์˜ ์„ฑ๋Šฅ์ด ์ตœ์ ํ™”๋˜์—ˆ์œผ๋ฉฐ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๊ฐ€์†๋„๊ฐ€ ์ˆ˜์‹ญ ํผ์„ผํŠธ์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • XFS๋Š” ๋ณต๊ตฌ๊ฐ€ ํ•„์š”ํ•จ์„ ์•Œ๋ฆฌ๋Š” "needsrepair" ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”Œ๋ž˜๊ทธ๊ฐ€ ์„ค์ •๋˜๋ฉด xfs_repair ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ์˜ํ•ด ํ”Œ๋ž˜๊ทธ๊ฐ€ ์žฌ์„ค์ •๋  ๋•Œ๊นŒ์ง€ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๋งˆ์šดํŠธํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
    • Ext4๋Š” ๋ฒ„๊ทธ ์ˆ˜์ •, ์ตœ์ ํ™”, ์ฝ”๋“œ ์ •๋ฆฌ๋งŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • NFS๋ฅผ ํ†ตํ•ด ๋งˆ์šดํŠธ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๋‹ค์‹œ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, NFS๋ฅผ ํ†ตํ•ด ๋งˆ์šดํŠธ๋œ ํŒŒํ‹ฐ์…˜์„ ์ด์ œ NFS๋ฅผ ํ†ตํ•ด ๋‚ด๋ณด๋‚ด๊ณ  ์ค‘๊ฐ„ ์บ์‹œ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์—ด๋ฆฐ ํŒŒ์ผ ์„ค๋ช…์ž์˜ ์ „์ฒด ๋ฒ”์œ„๋ฅผ ํ•œ ๋ฒˆ์— ๋‹ซ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” close_range() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์— ์‹คํ–‰ ์‹œ ๋‹ซ๊ธฐ ๋ชจ๋“œ์—์„œ ์„ค๋ช…์ž๋ฅผ ๋‹ซ๋Š” CLOSE_RANGE_CLOEXEC ์˜ต์…˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • F2FS ํŒŒ์ผ ์‹œ์Šคํ…œ์€ ์ƒˆ๋กœ์šด ioctl() ํ˜ธ์ถœ์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์–ด๋–ค ํŒŒ์ผ์ด ์••์ถ•๋œ ํ˜•์‹์œผ๋กœ ์ €์žฅ๋˜๋Š”์ง€์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„ ์ œ์–ด๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์••์ถ• ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์ปค๋„ ์ธก์— ๋ฐฐ์น˜ํ• ์ง€ ์•„๋‹ˆ๋ฉด ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์— ๋ฐฐ์น˜ํ• ์ง€ ์„ ํƒํ•˜๋Š” "compress_mode=" ๋งˆ์šดํŠธ ์˜ต์…˜์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • ๋ณ„๋„์˜ ์‚ฌ์šฉ์ž ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ถŒํ•œ์ด ์—†๋Š” ํ”„๋กœ์„ธ์Šค๋กœ Overlayfs๋ฅผ ๋งˆ์šดํŠธํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋ณด์•ˆ ๋ชจ๋ธ ๊ตฌํ˜„์˜ ์ค€์ˆ˜ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์ „์ฒด ์ฝ”๋“œ ๊ฐ์‚ฌ๊ฐ€ ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Overlayfs๋Š” ๋˜ํ•œ ์„ ํƒ์ ์œผ๋กœ UUID ๊ฒ€์‚ฌ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ ํŒŒ์ผ ์‹œ์Šคํ…œ ์ด๋ฏธ์ง€์˜ ๋ณต์‚ฌ๋ณธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    • Ceph ํŒŒ์ผ ์‹œ์Šคํ…œ์—๋Š” ์•”ํ˜ธํ™”๋œ ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ๋•Œ AES-GCM ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” msgr2.1 ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • dm-multipath ๋ชจ๋“ˆ์€ I/O ์š”์ฒญ ๊ฒฝ๋กœ๋ฅผ ์„ ํƒํ•  ๋•Œ CPU ์„ ํ˜ธ๋„(โ€œIO ์„ ํ˜ธ๋„โ€)๋ฅผ ๊ณ ๋ คํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์‹œ์Šคํ…œ ์„œ๋น„์Šค
    • prctl()์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์ƒˆ๋กœ์šด ์‹œ์Šคํ…œ ํ˜ธ์ถœ ์ฐจ๋‹จ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํŠน์ • ์‹œ์Šคํ…œ ํ˜ธ์ถœ์— ์•ก์„ธ์Šคํ•˜๊ณ  ํ•ด๋‹น ์‹คํ–‰์„ ์—๋ฎฌ๋ ˆ์ด์…˜ํ•  ๋•Œ ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ์˜ˆ์™ธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ Wine๊ณผ Proton์—์„œ Windows ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ์—๋ฎฌ๋ ˆ์ด์…˜ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Windows API๋ฅผ ์šฐํšŒํ•˜์—ฌ ์‹œ์Šคํ…œ ํ˜ธ์ถœ์„ ์ง์ ‘ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒŒ์ž„ ๋ฐ ํ”„๋กœ๊ทธ๋žจ๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ๋ฌด๋‹จ ์‚ฌ์šฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด).
    • ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ํŽ˜์ด์ง€ ์˜ค๋ฅ˜(ํ• ๋‹น๋˜์ง€ ์•Š์€ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์•ก์„ธ์Šค)๋ฅผ ์ฒ˜๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋œ userfaultfd() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์—๋Š” ์ด์ œ ์ปค๋„ ์ˆ˜์ค€์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ ํŠน์ • ์ทจ์•ฝ์ ์„ ์•…์šฉํ•˜๊ธฐ ์–ด๋ ต๊ฒŒ ๋งŒ๋“œ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • BPF ํ•˜์œ„ ์‹œ์Šคํ…œ์—๋Š” ํŠน์ • BPF ํ•ธ๋“ค๋Ÿฌ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์„ ์ œ๊ณตํ•˜๋Š” ์ž‘์—… ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • BPF ํ”„๋กœ๊ทธ๋žจ์˜ ๋ฉ”๋ชจ๋ฆฌ ์†Œ๋น„ ๊ณ„์‚ฐ์ด ์™„์ „ํžˆ ์žฌ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. BPF ๊ฐ์ฒด์—์„œ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด memlock rlimit ๋Œ€์‹  cgroup ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ œ์•ˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • BPF ์˜์‚ฌ ์ฝ”๋“œ์—์„œ ์œ ํ˜• ๊ฒ€์‚ฌ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” BTF(BPF ์œ ํ˜• ํ˜•์‹) ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ์ปค๋„ ๋ชจ๋“ˆ์— ๋Œ€ํ•œ ์ง€์›์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • io_uring ๋น„๋™๊ธฐ I/O ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ shutdown(), renameat2() ๋ฐ unlinkat() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. io_uring_enter()๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(IORING_FEAT_EXT_ARG ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋ฅผ ์ง€์ •ํ•˜๋Š” ์ธ์ˆ˜์— ๋Œ€ํ•œ ์ง€์›์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).
    • Intel Itanium ํ”„๋กœ์„ธ์„œ์— ์‚ฌ์šฉ๋˜๋Š” ia64 ์•„ํ‚คํ…์ฒ˜๋Š” ๊ณ ์•„ ๋ฒ”์ฃผ๋กœ ์ด๋™๋˜์—ˆ์œผ๋ฉฐ, ์ด๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Hewlett Packard Enterprise๋Š” ์ƒˆ๋กœ์šด Itanium ์žฅ๋น„์— ๋Œ€ํ•œ ์ฃผ๋ฌธ ์ ‘์ˆ˜๋ฅผ ์ค‘๋‹จํ–ˆ์œผ๋ฉฐ Intel์€ ์ž‘๋…„์— ๊ทธ๋ ‡๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • MMU(๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ ์žฅ์น˜)๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์€ MicroBlaze ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์€ ์˜ค๋žซ๋™์•ˆ ์ผ์ƒ์ƒํ™œ์—์„œ ๋ณผ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.
    • MIPS ์•„ํ‚คํ…์ฒ˜์˜ ๊ฒฝ์šฐ gcov ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ์ ์šฉ ๋ฒ”์œ„ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๋‹ค์–‘ํ•œ ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๊ฒฐํ•ฉํ•˜๋Š” ๋‹ค๊ธฐ๋Šฅ ์žฅ์น˜(์˜ˆ: ์ด๋”๋„ท ๋ฐ RDMA๋ฅผ ์ง€์›ํ•˜๋Š” ๋„คํŠธ์›Œํฌ ์นด๋“œ)์™€ ์ธํ„ฐํŽ˜์ด์Šคํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ€์ƒ ๋ณด์กฐ ๋ฒ„์Šค์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์Šค๋Š” MFD(๋‹ค๊ธฐ๋Šฅ ์žฅ์น˜) ํ•˜์œ„ ์‹œ์Šคํ…œ ์‚ฌ์šฉ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ์ƒํ™ฉ์—์„œ ์žฅ์น˜์— ๊ธฐ๋ณธ ๋ฐ ๋ณด์กฐ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • RISC-V ์•„ํ‚คํ…์ฒ˜์˜ ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ ํŽ˜์ด์ง€ ์ด๋™ ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋Œ€๊ทœ๋ชจ ์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์„ ํ• ๋‹นํ•˜๋Š” ๋ฐ ์ตœ์ ํ™”๋œ CMA(์—ฐ์† ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ž) ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. RISC-V์˜ ๊ฒฝ์šฐ /dev/mem์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œํ•œํ•˜๊ณ  ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์„ ๊ณ ๋ คํ•˜๋Š” ๋„๊ตฌ๋„ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค.
    • 32๋น„ํŠธ ARM ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ ์ž‘์—… ์‹œ ์˜ค๋ฅ˜๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” KASan(Kernel Address Sanitizer) ๋””๋ฒ„๊น… ๋„๊ตฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. 64๋น„ํŠธ ARM์˜ ๊ฒฝ์šฐ KASan ๊ตฌํ˜„์ด MTE ํƒœ๊ทธ(MemTag)๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€ํ™˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ๋‚˜๋…ธ์ดˆ ์ •๋ฐ€๋„๋กœ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋ฅผ ํ—ˆ์šฉํ•˜๋Š” epoll_pwait2() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(epoll_wait ํ˜ธ์ถœ์€ ๋ฐ€๋ฆฌ์ดˆ๋ฅผ ์กฐ์ž‘ํ•ฉ๋‹ˆ๋‹ค).
    • ์ด์ œ MODULE_LICENSE() ๋งคํฌ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ ๋ผ์ด์„ผ์Šค๊ฐ€ ์ •์˜๋˜์ง€ ์•Š์€ ๋กœ๋“œ ๊ฐ€๋Šฅํ•œ ์ปค๋„ ๋ชจ๋“ˆ์„ ๋นŒ๋“œํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๋นŒ๋“œ ์‹œ์Šคํ…œ์—์„œ ์˜ค๋ฅ˜๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ๋ถ€ํ„ฐ ์ •์  ํ•จ์ˆ˜์— EXPORT_SYMBOL() ๋งคํฌ๋กœ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋นŒ๋“œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
    • I/O์— ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์—์„œ GEM ๊ฐœ์ฒด ๋งคํ•‘์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์–ด ์ผ๋ถ€ ์•„ํ‚คํ…์ฒ˜์—์„œ ํ”„๋ ˆ์ž„ ๋ฒ„ํผ ์ž‘์—… ์†๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • Kconfig๋Š” Qt4์— ๋Œ€ํ•œ ์ง€์›์„ ์ค‘๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค(Qt5, GTK ๋ฐ Ncurses์— ๋Œ€ํ•œ ์ง€์›์€ ์œ ์ง€ํ•จ).
  • ๊ฐ€์ƒํ™” ๋ฐ ๋ณด์•ˆ
    • ๋น ๋ฅธ ์‘๋‹ต ๋ชจ๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด seccomp() ์‹œ์Šคํ…œ ํ˜ธ์ถœ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‹คํ–‰์ด ํ•„์š”ํ•˜์ง€ ์•Š์€ ํ”„๋กœ์„ธ์Šค์— ์—ฐ๊ฒฐ๋œ ์ง€์†์ ์ธ ์ž‘์—… ๋น„ํŠธ๋งต์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํŠน์ • ์‹œ์Šคํ…œ ํ˜ธ์ถœ์ด ํ—ˆ์šฉ๋˜๊ฑฐ๋‚˜ ๊ธˆ์ง€๋˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. BPF ํ•ธ๋“ค๋Ÿฌ.
    • Intel SGX(Software Guard eXtensions) ๊ธฐ์ˆ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์—”ํด๋ ˆ์ด๋ธŒ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํ†ตํ•ฉ ์ปค๋„ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹œ์Šคํ…œ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์ด ์•ก์„ธ์Šค๋ฅผ ์ œํ•œํ•˜๋Š” ๊ฒฉ๋ฆฌ๋œ ์•”ํ˜ธํ™”๋œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์—์„œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ MSR(๋ชจ๋ธ๋ณ„ ๋ ˆ์ง€์Šคํ„ฐ)์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œํ•œํ•˜๋Š” ๊ณ„ํš์˜ ์ผํ™˜์œผ๋กœ MSR_IA32_ENERGY_PERF_BIAS ๋ ˆ์ง€์Šคํ„ฐ์— ๊ธฐ๋กํ•˜์—ฌ ํ”„๋กœ์„ธ์„œ ์—๋„ˆ์ง€ ํšจ์œจ ๋ชจ๋“œ("์ผ๋ฐ˜", "์„ฑ๋Šฅ", "์ ˆ์ „")๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. , ๊ธˆ์ง€๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
    • CPU ๊ฐ„์˜ ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ์ž‘์—… ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์‹ค์‹œ๊ฐ„ ์‹œ์Šคํ…œ์šฉ kernel-rt ๋ถ„๊ธฐ์—์„œ ์ด๋™๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ARM64 ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ ์‹ ํ˜ธ ์ฒ˜๋ฆฌ๊ธฐ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— MTE ํƒœ๊ทธ(MemTag, Memory Tagged Extension)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. MTE ์‚ฌ์šฉ์€ sigaction()์—์„œ SA_EXPOSE_TAGBITS ์˜ต์…˜์„ ์ง€์ •ํ•˜์—ฌ ํ™œ์„ฑํ™”๋˜๋ฉฐ ํฌ์ธํ„ฐ์˜ ์˜ฌ๋ฐ”๋ฅธ ์‚ฌ์šฉ์„ ํ™•์ธํ•˜์—ฌ ์ด๋ฏธ ํ•ด์ œ๋œ ๋ฉ”๋ชจ๋ฆฌ ๋ธ”๋ก ์•ก์„ธ์Šค, ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ, ์ดˆ๊ธฐํ™” ์ „ ์•ก์„ธ์Šค ๋ฐ ์™ธ๋ถ€ ์‚ฌ์šฉ์œผ๋กœ ์ธํ•œ ์ทจ์•ฝ์  ์•…์šฉ์„ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์ƒํ™ฉ.
    • dm-verity ํ•˜์œ„ ์‹œ์Šคํ…œ์ด ๋ณด์กฐ ํ‚ค๋ง์— ๋ฐฐ์น˜๋œ ์ธ์ฆ์„œ์˜ ํ•ด์‹œ ์„œ๋ช…์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก "DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING" ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์„ค์ •์„ ์‚ฌ์šฉํ•˜๋ฉด ์ปค๋„์— ๋‚ด์žฅ๋œ ์ธ์ฆ์„œ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž‘์—… ์ค‘์— ๋กœ๋“œ๋œ ์ธ์ฆ์„œ๋„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ „์ฒด ์ปค๋„์„ ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š๊ณ ๋„ ์ธ์ฆ์„œ๋ฅผ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์‚ฌ์šฉ์ž ๋ชจ๋“œ Linux์—๋Š” ์ผ์‹œ ์ค‘์ง€-์œ ํœด ๋ชจ๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ™˜๊ฒฝ์„ ์ •์ง€ํ•˜๊ณ  SIGUSR1 ์‹ ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ ˆ์ „ ๋ชจ๋“œ์—์„œ ๊นจ์–ด๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ๊ฐ€์ƒ ๋จธ์‹ ์— ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ซํ”Œ๋Ÿฌ๊ทธํ•˜๊ฑฐ๋‚˜ ์—ฐ๊ฒฐ์„ ๋Š์„ ์ˆ˜ ์žˆ๋Š” virtio-mem ๋ฉ”์ปค๋‹ˆ์ฆ˜์— ์ปค๋„ ๋ฉ”๋ชจ๋ฆฌ ํฌ๊ธฐ๋ณด๋‹ค ํฐ ๋ธ”๋ก์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ „์†กํ•˜๊ฑฐ๋‚˜ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” BBM(๋น… ๋ธ”๋ก ๋ชจ๋“œ)์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. QEMU์—์„œ VFIO๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ธ”๋ก์ž…๋‹ˆ๋‹ค.
    • CHACHA20-POLY1305 ์•”ํ˜ธํ™”์— ๋Œ€ํ•œ ์ง€์›์ด TLS์˜ ์ปค๋„ ๊ตฌํ˜„์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๋„คํŠธ์›Œํฌ ํ•˜์œ„ ์‹œ์Šคํ…œ
    • 802.1Q(VLAN)์˜ ๊ฒฝ์šฐ ์—ฐ๊ฒฐ ์‹คํŒจ ๊ด€๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜(CFM, Connectivity Fault Management)์ด ๊ตฌํ˜„๋˜์–ด ๊ฐ€์ƒ ๋ธŒ๋ฆฌ์ง€(Virtual Bridged Networks)๊ฐ€ ์žˆ๋Š” ๋„คํŠธ์›Œํฌ์˜ ์˜ค๋ฅ˜๋ฅผ ์‹๋ณ„, ํ™•์ธ ๋ฐ ๊ฒฉ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, CFM์„ ์‚ฌ์šฉํ•˜๋ฉด ์ง์›์ด ์ž์‹ ์˜ ์žฅ๋น„์—๋งŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ๋…๋ฆฝ ์กฐ์ง์— ๊ฑธ์ณ ์žˆ๋Š” ๋„คํŠธ์›Œํฌ์˜ ๋ฌธ์ œ๋ฅผ ๊ฒฉ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • UDP ํŒจํ‚ท(RFC 6951)์— SCTP ํ”„๋กœํ† ์ฝœ ํŒจํ‚ท์„ ์บก์Šํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด SCTP๋ฅผ ์ง์ ‘ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์ด์ „ ์ฃผ์†Œ ๋ณ€ํ™˜๊ธฐ๊ฐ€ ์žˆ๋Š” ๋„คํŠธ์›Œํฌ์—์„œ SCTP๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ IP์— ๋Œ€ํ•œ ์ง์ ‘ ์•ก์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ์‹œ์Šคํ…œ์—์„œ SCTP๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธต.
    • WiMAX ๊ธฐ์ˆ  ๊ตฌํ˜„์€ ์Šคํ…Œ์ด์ง• ๋‹จ๊ณ„๋กœ ์˜ฎ๊ฒจ์กŒ์œผ๋ฉฐ WiMAX๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ํ–ฅํ›„ ์ œ๊ฑฐ๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. WiMAX๋Š” ๋” ์ด์ƒ ๊ณต์šฉ ๋„คํŠธ์›Œํฌ์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉฐ ์ปค๋„์—์„œ WiMAX์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๋“œ๋ผ์ด๋ฒ„๋Š” ์˜ค๋ž˜๋œ Intel 2400m ๋“œ๋ผ์ด๋ฒ„์ž…๋‹ˆ๋‹ค. WiMAX ์ง€์›์€ 2015๋…„์— NetworkManager ๋„คํŠธ์›Œํฌ ๊ตฌ์„ฑ๊ธฐ์—์„œ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ WiMax๋Š” LTE, HSPA+, Wi-Fi 802.11n๊ณผ ๊ฐ™์€ ๊ธฐ์ˆ ๋กœ ๊ฑฐ์˜ ์™„์ „ํžˆ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์ œ๋กœ์นดํ”ผ ๋ชจ๋“œ์—์„œ ๋“ค์–ด์˜ค๋Š” TCP ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์ด ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ๋ฒ„ํผ์— ์ถ”๊ฐ€๋กœ ๋ณต์‚ฌํ•˜์ง€ ์•Š๊ณ . ์ˆ˜์‹ญ ๋˜๋Š” ์ˆ˜๋ฐฑ ํ‚ฌ๋กœ๋ฐ”์ดํŠธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ค‘๊ฐ„ ๊ทœ๋ชจ ํŠธ๋ž˜ํ”ฝ์˜ ๊ฒฝ์šฐ, recvmsg() ๋Œ€์‹  zerocopy๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ˆˆ์— ๋„๊ฒŒ ๋” ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ตฌํ˜„๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ†ตํ•ด zerocopy๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ 32KB ๋ฉ”์‹œ์ง€๋กœ RPC ์Šคํƒ€์ผ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํšจ์œจ์„ฑ์„ 60~70% ๋†’์ผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์—ฌ๋Ÿฌ PPP ๋งํฌ์— ๊ฑธ์ณ ์žˆ๋Š” ๋„คํŠธ์›Œํฌ ๋ธŒ๋ฆฌ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ์šด ioctl() ํ˜ธ์ถœ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ œ์•ˆ๋œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋ ˆ์ž„์ด ํ•œ ์ฑ„๋„์—์„œ ๋‹ค๋ฅธ ์ฑ„๋„๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: PPPoE์—์„œ PPPoL2TP ์„ธ์…˜์œผ๋กœ).
    • ์„œ๋กœ ๋‹ค๋ฅธ IP ์ฃผ์†Œ์™€ ์—ฐ๊ฒฐ๋œ ์„œ๋กœ ๋‹ค๋ฅธ ๋„คํŠธ์›Œํฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ๊ฒฝ๋กœ๋ฅผ ๋”ฐ๋ผ ๋™์‹œ์— ํŒจํ‚ท์„ ์ „๋‹ฌํ•˜๋Š” TCP ์—ฐ๊ฒฐ ์ž‘์—…์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ TCP ํ”„๋กœํ† ์ฝœ์˜ ํ™•์žฅ์ธ MPTCP(MultiPath TCP)์˜ ํ•ต์‹ฌ์— ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ๊ธฐ์กด MPTCP ์—ฐ๊ฒฐ์— ์ƒˆ ํ๋ฆ„์„ ์ถ”๊ฐ€ํ•  ๋•Œ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ IP ์ฃผ์†Œ๋ฅผ ์•Œ๋ฆฌ๋Š” ADD_ADDR ์˜ต์…˜์— ๋Œ€ํ•œ ์ง€์›์ด ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ์—ฐ๊ฒฐ ํด๋ง ์˜ˆ์‚ฐ์ด ์ดˆ๊ณผ๋œ ๊ฒฝ์šฐ(์‚ฌ์šฉ ์ค‘ ํด๋ง) ์ž‘์—…์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์— ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ SO_BUSY_POLL ๋ชจ๋“œ๋Š” ์˜ˆ์‚ฐ์ด ์†Œ์ง„๋˜๋ฉด Softirq๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ–ˆ์Šต๋‹ˆ๋‹ค. ํด๋ง์„ ๊ณ„์† ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ ์ƒˆ๋กœ์šด ์˜ต์…˜ SO_PREFER_BUSY_POLL์ด ์ œ์•ˆ๋ฉ๋‹ˆ๋‹ค.
    • IPv6์€ ๋‹ค์ค‘ ์‚ฌ์šฉ์ž IPv6 L4 VPN ๋ฐ VRF(๊ฐ€์ƒ ๋ผ์šฐํŒ… ๋ฐ ์ „๋‹ฌ) ์žฅ์น˜๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” SRv6 End.DT4 ๋ฐ End.DT3 ๋ชจ๋“œ์— ๋Œ€ํ•œ ์ง€์›์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
    • Netfilter๋Š” ์ง‘ํ•ฉ ํ‘œํ˜„์‹์˜ ๊ตฌํ˜„์„ ํ†ตํ•ฉํ•˜์—ฌ ์ง‘ํ•ฉ ๋ชฉ๋ก์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ํ‘œํ˜„์‹์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.
    • SAR ์ „๋ ฅ ์ œํ•œ์€ ๋ฌผ๋ก  AE PWE ๋ฐ HE MCS ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด API๊ฐ€ 802.11 ๋ฌด์„  ์Šคํƒ์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Intel iwlwifi ๋“œ๋ผ์ด๋ฒ„์—๋Š” 6GHz(Ultra High Band) ๋ฒ”์œ„์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Qualcomm Ath11k ๋“œ๋ผ์ด๋ฒ„์—๋Š” FILS(Fast ์ดˆ๊ธฐ ๋งํฌ ์„ค์ •, IEEE 802.11ai๋กœ ํ‘œ์ค€ํ™”๋จ) ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์–ด ํ•œ ์•ก์„ธ์Šค ํฌ์ธํŠธ์—์„œ ๋‹ค๋ฅธ ์•ก์„ธ์Šค ํฌ์ธํŠธ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๋™์•ˆ ๋กœ๋ฐ ์ง€์—ฐ์„ ์—†์•จ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ะžะฑะพั€ัƒะดะพะฒะฐะฝะธะต
    • amdgpu ๋“œ๋ผ์ด๋ฒ„๋Š” AMD "Green Sardine" APU(Ryzen 5000) ๋ฐ "Dimgrey Cavefish" GPU(Navi 2)์— ๋Œ€ํ•œ ์ง€์›์€ ๋ฌผ๋ก  Zen 2 ์ฝ”์–ด ๋ฐ RDNA 2 GPU(Navi 2)๊ฐ€ ํฌํ•จ๋œ AMD Van Gogh APU์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ง€์›๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด Renoir APU ์‹๋ณ„์ž์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค(Zen 2 CPU ๋ฐ Vega GPU ๊ธฐ๋ฐ˜).
    • Intel ๋น„๋””์˜ค ์นด๋“œ์šฉ i915 ๋“œ๋ผ์ด๋ฒ„๋Š” ๋ˆ„๋ฝ๋œ ํ”ฝ์…€์˜ ์ƒ‰์ƒ์„ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ธ์ ‘ ํ”ฝ์…€์˜ ์ƒํƒœ(์ตœ๊ทผ์ ‘ ์ด์›ƒ ๋ณด๊ฐ„)๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ์Šค์ผ€์ผ์„ ๋Š˜๋ฆฌ๋Š” ํ•„ํ„ฐ ๊ตฌํ˜„์„ ํ†ตํ•ด IS(์ •์ˆ˜ ์Šค์ผ€์ผ๋ง) ๊ธฐ์ˆ ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ณ„ Intel DG1 ์นด๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ํ™•์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Ice Lake/Gen11 ์นฉ๋ถ€ํ„ฐ ์กด์žฌํ–ˆ๋˜ "Big Joiner" ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ์ง€์›์ด ๊ตฌํ˜„๋˜์—ˆ์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ํ•˜๋‚˜์˜ ํŠธ๋žœ์Šค์ฝ”๋”๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ๊ฐœ์˜ ์ŠคํŠธ๋ฆผ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: ํ•˜๋‚˜์˜ DisplayPort๋ฅผ ํ†ตํ•ด 8K ํ™”๋ฉด์œผ๋กœ ์ถœ๋ ฅ). ๋น„๋””์˜ค ๋ฉ”๋ชจ๋ฆฌ์˜ ๋‘ ๋ฒ„ํผ ์‚ฌ์ด๋ฅผ ๋น„๋™๊ธฐ์ ์œผ๋กœ ์ „ํ™˜ํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“œ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค(๋น„๋™๊ธฐ ํ”Œ๋ฆฝ).
    • nouveau ๋“œ๋ผ์ด๋ฒ„๋Š” Ampere ๋งˆ์ดํฌ๋กœ์•„ํ‚คํ…์ฒ˜(GA100, GeForce RTX 30xx) ๊ธฐ๋ฐ˜ NVIDIA GPU์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ์ง€์›์„ ์ถ”๊ฐ€ํ–ˆ์œผ๋ฉฐ ์ง€๊ธˆ๊นŒ์ง€๋Š” ๋น„๋””์˜ค ๋ชจ๋“œ ์ œ์–ด ๋„๊ตฌ๋กœ ์ œํ•œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • LCD ํŒจ๋„์— ์‚ฌ์šฉ๋˜๋Š” 3WIRE ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. novatek nt36672a, TDO tl070wsh30, Innolux N125HCE-GN1 ๋ฐ ABT Y030XX067A 3.0 ํŒจ๋„์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์™€ ๋ณ„๋„๋กœ OnePlus 6 ๋ฐ 6T ์Šค๋งˆํŠธํฐ ํŒจ๋„์— ๋Œ€ํ•œ ์ง€์›์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด ์žฅ์น˜์— ์ˆ˜์ •๋˜์ง€ ์•Š์€ ์ปค๋„ ๋กœ๋“œ๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
    • Intel ์ตœ์ดˆ์˜ ๊ฐœ๋ณ„ USB4 ํ˜ธ์ŠคํŠธ ์ปจํŠธ๋กค๋Ÿฌ์ธ Maple Ridge์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • Allwinner H6 I2S, Analog Devices ADAU1372, Intel Alderlake-S, GMediatek MT8192, NXP i.MX HDMI ๋ฐ XCVR, Realtek RT715 ๋ฐ Qualcomm SM8250 ์˜ค๋””์˜ค ์ฝ”๋ฑ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
    • ARM ๋ณด๋“œ, ์žฅ์น˜ ๋ฐ ํ”Œ๋žซํผ์— ๋Œ€ํ•œ ์ง€์› ์ถ”๊ฐ€: Galaxy Note 10.1, Microsoft Lumia 950 XL, NanoPi R1, FriendlyArm ZeroPi, Elimo Initium SBC, Broadcom BCM4908, Mediatek MT8192/MT6779/MT8167, MStar Infinity2M, Nuvoton NPCM730, Marvell Armada 382, โ€‹โ€‹โ€‹Marvell Prestera 98DX3236 ๊ธฐ๋ฐ˜์˜ Mikrotik, Nuvoton NPCM750 BMC, Kontron i.MX8M Mini, Espressobin Ultra, "Trogdor" Chromebook, Kobol Helios64, Engicam PX30.Core๋ฅผ ๊ฐ–์ถ˜ ์„œ๋ฒ„.
    • NVIDIA Tegra 3 ๊ธฐ๋ฐ˜ Ouya ๊ฒŒ์ž„ ์ฝ˜์†”์— ๋Œ€ํ•œ ์ง€์›์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋™์‹œ์— ๋ผํ‹ด ์•„๋ฉ”๋ฆฌ์นด ์ž์œ  ์†Œํ”„ํŠธ์›จ์–ด ์žฌ๋‹จ(Latin American Free Software Foundation)์€ ์™„์ „ ๋ฌด๋ฃŒ 5.11 ์ปค๋„ ๋ฒ„์ „์ธ Linux-libre 5.11-gnu๋ฅผ ๊ตฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฒ„์ „์—๋Š” ์ž์œ ๋กญ์ง€ ์•Š์€ ๊ตฌ์„ฑ ์š”์†Œ๋‚˜ ์ฝ”๋“œ ์„น์…˜์ด ํฌํ•จ๋œ ํŽŒ์›จ์–ด ๋ฐ ๋“œ๋ผ์ด๋ฒ„ ์š”์†Œ๊ฐ€ ์ œ๊ฑฐ๋˜์–ด ์žˆ์œผ๋ฉฐ ๋ฒ”์œ„๊ฐ€ ์ œํ•œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ์กฐ์—…์ฒด์— ์˜ํ•ด. ์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” qat_4xxx(crypto), lt9611uxcm(dsi/hdmi ๋ธŒ๋ฆฌ์ง€), ccs/smia++(์„ผ์„œ), ath11k_pci, nxp ์˜ค๋””์˜ค ํŠธ๋žœ์‹œ๋ฒ„ ๋ฐ mhi pci ์ปจํŠธ๋กค๋Ÿฌ์šฉ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋“œ๋ผ์ด๋ฒ„ ๋ฐ ํ•˜์œ„ ์‹œ์Šคํ…œ amdgpu, btqca, btrtl, btusb, i915 csr์˜ Blob ์ •๋ฆฌ ์ฝ”๋“œ๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. m3 rproc, idt82p33 ptp clock ๋ฐ qualcomm arm64์—์„œ ์ƒˆ blob์„ ๋น„ํ™œ์„ฑํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€