5.15 ãæã®éçºåŸãLinus Torvalds 㯠Linux ã«ãŒãã« XNUMX ã®ãªãªãŒã¹ãçºè¡šããŸããã 泚ç®ãã¹ãå€æŽç¹: æžã蟌ã¿ãµããŒããåããæ°ãã NTFS ãã©ã€ããŒãSMB ãµãŒããŒå®è£ ãåãã ksmbd ã¢ãžã¥ãŒã«ãã¡ã¢ãª ã¢ã¯ã»ã¹ç£èŠçšã® DAMON ãµãã·ã¹ãã ããªã¢ã«ã¿ã€ã ãã㯠ããªããã£ããBtrfs ã§ã® fs-verity ãµããŒãã飢é€å¿çã·ã¹ãã ã¡ã¢ãªçšã® process_mrelease ã·ã¹ãã ã³ãŒã«ããªã¢ãŒãèªèšŒã¢ãžã¥ãŒã«dm-ããŸã
æ°ããŒãžã§ã³ã«ã¯ã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 ã 10 å°ã®ããã€ã¹ã§åäœãããraid4 ã 64 å°ã®ããã€ã¹ã§åäœãããæ©èœ (ããšãã°ãã¢ã¬ã€ã®åæ§æããã»ã¹äž)ã ãªãã·ã§ã³ãrescue=ibadrootsãã¯ãäžæ£ãªãšã¯ã¹ãã³ã ããªãŒãç¡èŠããŸãã ãéä¿¡ãæäœã®é«éåã ååå€æŽæäœäžã®ããã¯ç«¶åã®åæžã XNUMXK ã¡ã¢ãª ããŒãž ãµã€ãºã®ã·ã¹ãã 㧠XNUMXK ã»ã¯ã¿ãŒã䜿çšã§ããæ©èœã
- XFS ã§ã¯ããã¡ã€ã« ã·ã¹ãã 㧠2038 幎以éã®æ¥ä»ã䜿çšã§ããæ©èœãå®å®ããŸããã i ããŒãã®é 延éã¢ã¯ãã£ãåã®ã¡ã«ããºã ãšããã¡ã€ã«å±æ§ã®é 延ã€ã³ã¹ããŒã«ããã³åé€ã®ãµããŒããå®è£ ããŸããã åé¡ã解決ããããã«ããã§ã«ããŠã³ããããŠããããŒãã£ã·ã§ã³ã®ãã£ã¹ã¯ ã¯ã©ãŒã¿ãç¡å¹ã«ããæ©èœãåé€ãããŸãã (ã¯ã©ãŒã¿ã匷å¶çã«ç¡å¹ã«ããããšã¯ã§ããŸãããã¯ã©ãŒã¿ã«é¢é£ä»ããããèšç®ã¯ç¶è¡ããããããå®å šã«ç¡å¹ã«ããã«ã¯åããŠã³ããå¿ èŠã§ã)ã
- EXT4 ã§ã¯ãdelalloc ãããã¡ã®æžã蟌ã¿ãšãéãããŸãŸã§ããããã£ã¬ã¯ããªã«é¢é£ä»ããããŠããªãããã«ååšãç¶ããå€ç«ãã¡ã€ã«ã®åŠçã®ããã©ãŒãã³ã¹ãåäžãããããã®äœæ¥ãè¡ãããŸããã ã¡ã¿ããŒã¿ã«ããæäœã®ãããã¯ãé¿ããããã«ãç Žæ£æäœã®åŠçã jbd2 kthread ã¹ã¬ããã®å€ã«ç§»åãããŸããã
- F2FS ã¯ããããã¯ãã»ã¯ã¿ãŒãã»ã°ã¡ã³ãããŸãã¯ã»ã¯ã·ã§ã³ã«é¢é£ããã¢ã©ã€ã¡ã³ãã«ç Žæ£æäœ (ç©ççã«æ ŒçŽãããªããªã£ãå¯èœæ§ã®ãã解æŸããããããã¯ãããŒã¯ãã) ããã€ã³ããããdiscard_unit=block|segment|sectionããªãã·ã§ã³ãè¿œå ããŸããã I/O ã¬ã€ãã³ã·ã®å€åã远跡ããããã®ãµããŒããè¿œå ãããŸããã
- EROFS (Extendable Read-Only File System) ãã¡ã€ã« ã·ã¹ãã ã§ã¯ãå§çž®ããã«ä¿åããããã¡ã€ã«ã«å¯ŸããçŽæ¥ I/O ãµããŒããšãfiemap ãµããŒããè¿œå ãããŠããŸãã
- OverlayFS ã¯ããimmutableãããappend-onlyãããsyncããããã³ãnoatimeãããŠã³ã ãã©ã°ã®æ£ããåŠçãå®è£ ããŸãã
- NFS ã§ã¯ãNFS ãµãŒããŒããªã¯ãšã¹ãã«å¿çããªããªã£ãå Žåã®åŠçââãæ¹åãããŸããã ãã§ã«äœ¿çšãããŠããããå¥ã®ãããã¯ãŒã¯ ã¢ãã¬ã¹ãä»ããŠã¢ã¯ã»ã¹ã§ãããµãŒããŒããããŠã³ãããæ©èœãè¿œå ãããŸããã
- FSCACHE ãµãã·ã¹ãã ã®æžãæãã®æºåãå§ãŸããŸããã
- GPT ããŒãã«ã®éæšæºé 眮ã«ãã EFI ããŒãã£ã·ã§ã³ã®ãµããŒããè¿œå ãããŸããã
- fanotify ã¡ã«ããºã ã¯ãæ°ãããã©ã° FAN_REPORT_PIDFD ãå®è£ ããŸããããã«ãããè¿ãããã¡ã¿ããŒã¿ã« pdfd ãå«ãŸããŸãã Pidfd ã¯ãPID ã®åå©çšç¶æ³ãåŠçããŠãç£èŠå¯Ÿè±¡ãã¡ã€ã«ã«ã¢ã¯ã»ã¹ããããã»ã¹ãããæ£ç¢ºã«èå¥ããã®ã«åœ¹ç«ã¡ãŸã (pidfd ã¯ç¹å®ã®ããã»ã¹ã«é¢é£ä»ããããŠããå€æŽãããŸããããPID ã¯ããã® PID ã«é¢é£ä»ããããçŸåšã®ããã»ã¹ãçµäºããåŸã«å¥ã®ããã»ã¹ã«é¢é£ä»ããããšãã§ããŸã)ã
- move_mount() ã·ã¹ãã ã³ãŒã«ã«æ¢åã®å ±æã°ã«ãŒãã«ããŠã³ã ãã€ã³ããè¿œå ããæ©èœãè¿œå ãããŸãããããã«ãããåé¢ãããã³ã³ãããŒã§è€æ°ã®ããŠã³ã ã¹ããŒã¹ãå ±æãããŠããå Žåã«ãCRIU ã§ã®ããã»ã¹ç¶æ ã®ä¿åãšåŸ©å ã«é¢ããåé¡ã解決ãããŸãã
- ãã¡ã€ã«å ã®ãã€ãã®åŠçäžã«ãã£ãã·ã¥èªã¿åããå®è¡ãããšãã«ãã¡ã€ã«ç ŽæãåŒãèµ·ããå¯èœæ§ãããé ãã競åç¶æ ã«å¯Ÿããä¿è·ãè¿œå ãããŸããã
- ãã¡ã€ã«å€æŽã«ã€ãªããã·ã¹ãã ã³ãŒã«ããããã¯ããããšã§å®è£ ãããã匷å¶ç㪠(å¿ é ã®) ãã¡ã€ã« ããã¯ã®ãµããŒãã¯å»æ¢ãããŸããã 競åç¶æ ã®å¯èœæ§ãããããããããã®ããã¯ã¯ä¿¡é Œæ§ãäœããšèããããäœå¹Žãåã«éæšå¥šã«ãªããŸããã
- 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 (ããã㯠I/O ã¬ã€ã€ãŒ) ãµãã·ã¹ãã ã® io_uring ã¯ãæ°ãããªãµã€ã¯ã« ã¡ã«ããºã (ãBIO ãªãµã€ã¯ã«ã) ãå®è£ ããŸããããã«ãããå éšã¡ã¢ãªã管çããããã»ã¹ã®ãªãŒããŒããããåæžããã10 ç§ãããã®åŠçããã I/O æäœã®æ°ãçŽ XNUMX% å¢å ããŸãã ã io_uring ã¯ãmkdirat()ãsymlinkat()ãããã³ linkat() ã·ã¹ãã ã³ãŒã«ã®ãµããŒããè¿œå ããŸãã
- BPF ããã°ã©ã ã®å Žåãã¿ã€ã㌠ã€ãã³ããèŠæ±ããŠåŠçããæ©èœãå®è£ ãããŸããã UNIX ãœã±ããã®ã€ãã¬ãŒã¿ãè¿œå ãããsetsockopt ã®ãœã±ãã ãªãã·ã§ã³ãååŸããã³èšå®ããæ©èœãå®è£ ãããŸããã BTF ãã³ããŒã¯åä»ãããŒã¿ããµããŒãããããã«ãªããŸããã
- ããã©ãŒãã³ã¹ã®ç°ãªãããŸããŸãªã¿ã€ãã®ã¡ã¢ãªãåãã NUMA ã·ã¹ãã ã§ã¯ã空ãé åããªããªããšãè¿œãåºãããã¡ã¢ãª ããŒãžã¯åé€ãããã«ããã€ããã㯠ã¡ã¢ãª (DRAM) ããäœéã®æ°žç¶ã¡ã¢ãª (Persistent Memory) ã«è»¢éãããŸãã ãã¹ãã«ãããšããã®ãããªæŠè¡ã«ããéåžžããã®ãããªã·ã¹ãã ã®ããã©ãŒãã³ã¹ãåäžããããšã瀺ãããŠããŸãã 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ããã©ã°ãå«ãããã©ããã¯ãWERROR ãã©ã¡ãŒã¿ã䜿çšããŠå¶åŸ¡ãããŸãããã®ãã©ã¡ãŒã¿ã¯ããã©ã«ã㧠COMPILE_TEST ã«èšå®ãããŸãã çŸæç¹ã§ã¯ããã¹ã ãã«ãã«å¯ŸããŠã®ã¿æå¹ã«ãªã£ãŠããŸãã
- ä»®æ³åãšã»ãã¥ãªãã£
- æ°ãã dm-ima ãã³ãã©ãŒãããã€ã¹ ããã㌠(DM) ã«è¿œå ãããIMA (Integrity Measurement Architecture) ãµãã·ã¹ãã ã«åºã¥ããªã¢ãŒãèªèšŒã¡ã«ããºã ãå®è£ ãããŸãããããã«ãããå€éšãµãŒãã¹ãã«ãŒãã« ãµãã·ã¹ãã ã®ç¶æ ãæ€èšŒããŠããã®ä¿¡é Œæ§ãä¿èšŒã§ããããã«ãªããŸãã ã å®éã«ã¯ãdm-ima ã䜿çšãããšãDevice Mapper ã䜿çšããŠå€éšã¯ã©ãŠã ã·ã¹ãã ã«ãªã³ã¯ãããã¹ãã¬ãŒãžãäœæã§ããèµ·åããã DM ã¿ãŒã²ããæ§æã®æå¹æ§ã IMA ã䜿çšããŠãã§ãã¯ãããŸãã
- prctl() ã¯æ°ãããªãã·ã§ã³ PR_SPEC_L1D_FLUSH ãå®è£ ããŸãããããæå¹ã«ãããšãã³ã³ããã¹ãã®åãæ¿ããçºçãããã³ã«ã«ãŒãã«ã 1 次 (L1D) ãã£ãã·ã¥ã®å 容ããã©ãã·ã¥ããŸãã ãã®ã¢ãŒãã§ã¯ãæãéèŠãªããã»ã¹ã«å¯ŸããŠéžæçã«ãCPU ã§ã®åœä»€ã®ææ©çå®è¡ã«ãã£ãŠåŒãèµ·ããããè匱æ§ã®çµæãšããŠãã£ãã·ã¥å ã«èœã¡çããããŒã¿ãç¹å®ããããã«å®è¡ããããµã€ããã£ãã«æ»æã®äœ¿çšã«å¯Ÿããè¿œå ã®ä¿è·ãå®è£ ã§ããŸãã PR_SPEC_LXNUMXD_FLUSH (ããã©ã«ãã§ã¯æå¹ã«ãªã£ãŠããªã) ãæå¹ã«ãããšãããã©ãŒãã³ã¹ãå€§å¹ ã«äœäžããŸãã
- GCC ã«ã-fzero-call-used-regs=used-gprããã©ã°ãè¿œå ããŠã«ãŒãã«ãæ§ç¯ããããšãã§ããŸããããã«ãããé¢æ°ããå¶åŸ¡ãè¿ãåã«ãã¹ãŠã®ã¬ãžã¹ã¿ã確å®ã«ãŒãã«ãªã»ãããããŸãã ãã®ãªãã·ã§ã³ã䜿çšãããšãé¢æ°ããã®æ å ±æŒæŽ©ãé²æ¢ãããšã¯ã¹ããã€ã㧠ROP (Return-Oriented Programming) ã¬ãžã§ããã®æ§ç¯ã«é©ãããããã¯ã®æ°ã 20% åæžã§ããŸãã
- Hyper-V ãã€ããŒãã€ã¶ãŒã®ã¯ã©ã€ã¢ã³ãã®åœ¢åŒã§ ARM64 ã¢ãŒããã¯ãã£ã®ã«ãŒãã«ãæ§ç¯ããæ©èœãå®è£ ãããŸããã
- æ°ãããã©ã€ããŒéçºãã¬ãŒã ã¯ãŒã¯ãVDUSEããææ¡ãããŠããããŠãŒã¶ãŒç©ºéã«ä»®æ³ãããã¯ããã€ã¹ãå®è£ ããã²ã¹ãã·ã¹ãã ããã¢ã¯ã»ã¹ããããã®ãã©ã³ã¹ããŒããšããŠVirtioã䜿çšã§ããããã«ãªããŸãã
- I2C ãã¹çšã® Virtio ãã©ã€ããŒãè¿œå ãããå¥åã®ããã¯ãšã³ãã䜿çšããŠæºä»®æ³åã¢ãŒã㧠I2C ã³ã³ãããŒã©ãŒããšãã¥ã¬ãŒãã§ããããã«ãªããŸããã
- Virtio ãã©ã€ã㌠gpio-virtio ãè¿œå ããŠãã²ã¹ãããã¹ã ã·ã¹ãã ã«ãã£ãŠæäŸããã GPIO ã©ã€ã³ã«ã¢ã¯ã»ã¹ã§ããããã«ããŸããã
- 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 (ç¹å¥äžæèªèšŒ) ããµããŒãããã¢ã¯ã»ã¹ ãã€ã³ã ã¢ãŒãã§åå¥ã® TWT (ã¿ãŒã²ãã ãŠã§ã€ã¯ ã¿ã€ã ) ãèšå®ããæ©èœããµããŒãããŸãã
- 管çã³ã³ãããŒã©ãŒãšé¢é£ããã€ã¹ (ãã¹ã ããã»ããµãŒãåšèŸºæ©åšãªã©) éã®å¯Ÿè©±ã«äœ¿çšããã MCTP (管çã³ã³ããŒãã³ã ãã©ã³ã¹ããŒã ãããã³ã«) ã®ãµããŒããè¿œå ãããŸããã
- MPTCP (MultiPath TCP) ã®ã³ã¢ãžã®çµ±åãããã¯ãç°ãªã IP ã¢ãã¬ã¹ã«é¢é£ä»ããããç°ãªããããã¯ãŒã¯ ã€ã³ã¿ãŒãã§ã€ã¹ãä»ããŠè€æ°ã®ã«ãŒãã«æ²¿ã£ãŠåæã«ãã±ãããé ä¿¡ãã TCP æ¥ç¶ã®æäœãçµç¹ããããã® TCP ãããã³ã«ã®æ¡åŒµã§ãã æ°ãããªãªãŒã¹ã§ã¯ããã«ã¡ãã·ã¥ ã¢ãŒãã§ã®ã¢ãã¬ã¹ã®ãµããŒããè¿œå ãããŠããŸãã
- SRv6 (ã»ã°ã¡ã³ã ã«ãŒãã£ã³ã° IPv6) ãããã³ã«ã§ã«ãã»ã«åããããããã¯ãŒã¯ ã¹ããªãŒã ã®ãã³ãã©ãŒã netfilter ã«è¿œå ãããŸããã
- Unix ã¹ããªãŒãã³ã° ãœã±ããã®ãœãã¯ããã ãµããŒããè¿œå ããŸããã
- æ©åš
- amdgpu ãã©ã€ããŒã¯ãCyan Skillfish APU (Navi 1x GPU ãæèŒ) ããµããŒãããŸãã Yellow Carp APU ããã㪠ã³ãŒããã¯ããµããŒãããããã«ãªããŸããã Aldebaran 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 Configuration Data) ã䜿çšã㊠eDP ããã«ã®ããã¯ã©ã€ãå¶åŸ¡ãå®è£ ããŸãã
- Adreno 7c Gen 3 ããã³ Adreno 680 GPU ã®ãµããŒãã msm ãã©ã€ããŒã«è¿œå ãããŸããã
- IOMMU ãã©ã€ããŒã¯ Apple M1 ãããçšã«å®è£ ãããŠããŸãã
- AMD Van Gogh APU ã«åºã¥ãã·ã¹ãã çšã®ãµãŠã³ã ãã©ã€ããŒãè¿œå ããŸããã
- Realtek R8188EU ãã©ã€ããŒãã¹ããŒãžã³ã° ãã©ã³ãã«è¿œå ãããRealtek RTL8188EU 8188 b/g/n ã¯ã€ã€ã¬ã¹ ãããçšã®å€ãããŒãžã§ã³ã®ãã©ã€ã㌠(rtl802.11eu) ã眮ãæããããŸããã
- ocp_pt ãã©ã€ããŒã¯ãMeta (Facebook) ã«ãã£ãŠéçºããã PCIe ããŒãçšã«å«ãŸããŠãããå°åååæèšãš GNSS åä¿¡æ©ãå®è£ ãããŠãããåå¥ã®æ£ç¢ºãªæå»åæãµãŒããŒã®åäœãæŽçããããã«äœ¿çšã§ããŸãã
- 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 ATNA ã®ãµããŒããè¿œå ããŸããã 33XC20 7430ããµã ã¹ã³ DB2401ãã¯ã€ãããã WSXNUMX ã
- LiteX ãœãããŠã§ã¢ SoC (FPGA çš) ã§äœ¿çšãããã€ãŒãµããã ã³ã³ãããŒã©ãŒããµããŒããã LiteETH ãã©ã€ããŒãè¿œå ããŸããã
- æå°é 延ã¢ãŒãã§ã®åäœã®çµã¿èŸŒã¿ãå¶åŸ¡ããããã«ãUSB ãªãŒãã£ãª ãã©ã€ããŒã« lowlatency ãªãã·ã§ã³ãè¿œå ãããŸããã ããã€ã¹åºæã®èšå®ãæž¡ãããã® quirk_flags ãªãã·ã§ã³ãè¿œå ãããŸããã
åæã«ãLatin American Free Software Foundation ã¯ãå®å
šã«ç¡æã®ã«ãŒãã« 5.15 ã®ããŒãžã§ã³ã§ãã Linux-libre 5.15-gnu ãäœæããŸãããããã¯ãç¯å²ãå¶éãããŠãããéããªãŒã®ã³ã³ããŒãã³ããŸãã¯ã³ãŒã ã»ã¯ã·ã§ã³ãå«ããã¡ãŒã ãŠã§ã¢ããã³ãã©ã€ããŒã®èŠçŽ ãåãé€ãããã®ã§ããã¡ãŒã«ãŒã«ããã æ°ãããªãªãŒã¹ã§ã¯ãã¯ãªãŒãã³ã°ã®å®äºã«é¢ããã¡ãã»ãŒãžããã°ã«åºåããæ©èœãå®è£
ãããŸããã mkspec ã䜿çšããŠããã±ãŒãžãçæããéã®åé¡ãä¿®æ£ãããã¹ããã ããã±ãŒãžã®ãµããŒããæ¹åãããŸããã frmware.h ããã㌠ãã¡ã€ã«ã®åŠçæã«è¡šç€ºãããããã€ãã®èŠåãåé€ããŸããã ã-Werrorãã¢ãŒãã§ãã«ãããéã«ãäžéšã®çš®é¡ã®èŠåïŒãformat-extra-argsããã³ã¡ã³ããæªäœ¿çšã®é¢æ°ããã³å€æ°ïŒãåºåã§ããããã«ããŸããã gehc-achc ãã©ã€ããŒã®ã¯ãªãŒãã³ã°ãè¿œå ããŸããã ãã©ã€ããŒãšãµãã·ã¹ãã adrenoãbtusbãbtintelãbrcmfmacãaarch64 qcom ã® BLOB ã¯ãªãŒãã³ã° ã³ãŒããæŽæ°ããŸããã ãã©ã€ã㌠prism54 (åé€) ããã³ rtl8188eu (r8188eu ã«çœ®ãæã) ã®ã¯ãªãŒãã³ã°ã¯åæ¢ãããŸããã
åºæïŒ ãªãŒãã³ããã.ru