½üÈÕ£¬LinuxÄÚºËÉçÇøÕýʽ·¢²¼ÁË6.15°æ±¾£¬×÷Ϊ6.xϵÁеÄÖØÒªµü´ú£¬±¾´Î¸üк¸ÇÁËÓ²¼þÖ§³Ö¡¢ÄÚ´æ¹ÜÀí¡¢Îļþϵͳ¹ÜÀí¡¢ÍøÂç¹ÜÀíµÈ¶à¸ö¹Ø¼üÁìÓò£¬½øÒ»²½Ç¿»¯ÁËÄں˵ÄÎȶ¨ÐÔÓëÔËÐÐЧÂÊ¡£
±¾ÎĽ«¶ÔLinuxÄÚºË6.15°æ±¾µÄÖ÷ÒªÌØÐÔ¡¢Ó²¼þÉú̬֧³Ö¡¢ÄÚ´æ¹ÜÀíÓÅ»¯¡¢Îļþϵͳ¸Ä½ø¡¢ÍøÂç¹ÜÀíÓÅ»¯ÒÔ¼°°²È«ÔöÇ¿µÈ¶à·½ÃæÄÚÈݽøÐÐÏêϸ½éÉÜ£¬ÒÔ°ïÖú¹ã´ó¿ª·¢Õß¡¢ÔËά¹¤³ÌʦÓë¼¼Êõ°®ºÃÕ߸üºÃµØÁ˽â¸Ã°æ±¾Äں˵Ĵ´ÐÂÖ®´¦Óë¸Ä½øµã£¬´Ó¶øÔÚʵ¼Ê¹¤×÷Öиü¸ßЧµØÀûÓÃÕâЩÐÂÌØÐÔÀ´ÓÅ»¯¿ª·¢ÓëÔËάÁ÷³Ì¡£
1 Ö÷ÒªÌØÐÔ
io_uringÊ×´ÎÖ§³ÖÁ㿽±´½ÓÊÕ£¬Êý¾Ý¿ÉÖ±½Ó¸ßЧÅúÁ¿½ÓÊÕÖÁÓ¦ÓóÌÐòÄڴ棬ÎÞÐè´ÓÄÚºËÄÚ´æÖп½±´£¬³¹µ×¸æ±ðCPU°áÔËÊý¾ÝµÄʱ´ú¡£
perfÐÂÔöʱÑÓ·ÖÎö¹¦ÄÜ£¬Í¨¹ýµ÷¶ÈÐÅÏ¢¸ú×ÙÉÏÏÂÎÄÇл»£¬¼ÓȨÑù±¾ÒÔ¾«×¼¶¨Î»³ÌÐòÖжÔʱÑÓÓ°Ïì½Ï´óµÄ´úÂ벿·Ö¡£
ÐÂÔö fwctl ×Óϵͳ£¬ÓÃÓÚͳһ¹ÜÀíÉ豸¹Ì¼þ¿ØÖƽӿڣ¬Ö§³ÖÓû§¿Õ¼ä°´ÐèÆôÓÃ/½ûÓù̼þ¹¦ÄÜ£¬ÌáÉýϵͳµ÷ÊÔÄÜÁ¦Ó밲ȫÐÔ¡£
2 Ó²¼þÉú̬֧³Ö
Ôö¼ÓARM64 SMT£¨Í¬²½¶àỊ̈߳©ÔËÐÐʱ¿ØÖÆÖ§³Ö£¬Äܹ»¸üÁé»îµØµ÷ÅäCPU×ÊÔ´£¬Ê¹¶àºË´¦Àí¸üΪ¸ßЧ¡£Í¬Ê±£¬½«ÄÚºËÄڴ濽±´²Ù×÷ÖÐʹÓõÄCPY/SETÖ¸ÁîÀ©Õ¹Ó¦ÓÃÓÚÓû§Ì¬¿½±´²Ù×÷£¬´Ó¶øÊµÏÖÄڴ濽±´ÐÔÄܵÄÌáÉý¡£
ÖØ¹¹x86¼Ü¹¹ÏµÄROX£¨Read-Only eXecute£©»º´æ»úÖÆ£¬±ÜÃâ´´½¨¿Éд¸±±¾£¬ÓÐЧ·Àֹģ¿é´úÂë±»´Û¸Ä£»ÔÚmemremap²Ù×÷ʱ£¬Ä¬ÈϽ«ÄÚ´æÓ³ÉäΪ¼ÓÃÜ״̬£¬½øÒ»²½ÔöÇ¿Ãô¸ÐÊý¾ÝµÄ±£»¤¡£´ËÍ⣬֧³ÖÔÚÎÞËø×´Ì¬ÏÂÀÏ»¯Ó°×ÓÒ³±í£¨Shadow MMU£©µÄrmapÁ´£¬ÌáÉýÐéÄâ»úÇ¨ÒÆÐ§ÂÊ£»ÒýÈëAMD broadcast TLB invalidation»úÖÆ£¬ÓÅ»¯¶àºË¼äTLBͬ²½£¬¼õÉÙË¢ÐÂÑÓ³Ù£»¶ÔÓÚ·ÇFSRM/ERMSÖ¸ÁµÄx86 CPU£¬ÔÚcopy_user_generic()Öн«Ð´Èë¶ÔÆëÖÁ8×Ö½Ú£¬ÌáÉýÄÚ´æ¸´ÖÆÐ§ÂÊ¡£
Ê×´ÎÒýÈë¶ÔRISC-V¼Ü¹¹µÄbfloat16¸ñʽµÄÖ§³Ö£¬Îª»ùÓÚRISC-V¼Ü¹¹¿ª·¢»úPGµç¾º¹ÙÍøÑ§Ï°Ó¦Óᢲ¿ÊðÈ˹¤ÖÇÄÜÄ£ÐÍÌṩÁËÓÐÁ¦µÄ¼¼ÊõÖ§³Å¡£Í¬Ê±£¬Ö§³Öhuge pfnmaps£¬Äܹ»¸üºÃµØ¹ÜÀí´óÄÚ´æÒ³Ö¡Ó³É䣬ÔÚ´¦Àí´óÊý¾ÝÁ¿ÒÔ¼°¶ÔÄÚ´æ·ÃÎÊЧÂÊÒªÇó¸ßµÄ³¡¾°Ï£¬ÓÐÖúÓÚÌá¸ßϵͳµÄÄÚ´æ¹ÜÀíÄÜÁ¦¡£´ËÍ⣬¶ÔRISC-V¼Ü¹¹½øÐÐÁËCRC£¨Ñ»·ÈßÓàУÑ飩ÓÅ»¯£¬Ìá¸ßÊý¾ÝÍêÕûÐÔµÄУÑéЧÂÊ¡£
3 ÄÚ´æ¹ÜÀíÓÅ»¯
¶Ô¹Ø¼üËø»úÖÆºÍ·ÖÅäÔÓï½øÐÐÁËÖØ¹¹£¬ÀýÈ罫per-VMAËøÖØÐÂʵÏÖΪÒýÓüÆÊý·½Ê½£¬ÓÐЧ¼õÉÙÁËËø¾ºÕùÇé¿ö¡£
ÐÂÔöÖ§³Ödefrag_mode sysctl²ÎÊý£¬ÓÃÓÚ¿ØÖÆÄÚ´æË鯬ÕûÀíµÄÐÐΪģʽ£¬Ö§³Ö¸ù¾Ýϵͳ¸ºÔغÍÓ¦Óó¡¾°¶¯Ì¬µ÷ÕûË鯬ÕûÀí²ßÂÔ£¬ÒÔÓÅ»¯ÄÚ´æÊ¹ÓÃЧÂÊ»ò¼õÉÙÐÔÄÜ¿ªÏú¡£
¶Ômremap()·¾¶½øÐÐÁËÖØ¹¹£¬³É¹¦ÐÞ¸´ÁËÒ»¸ö³¤ÆÚ´æÔڵı߽çÇé¿ö©¶´£¬±ÜÃâÁËÓÉ´Ë¿ÉÄÜÒý·¢µÄÄÚ´æ´íÎó¡£
ΪÎļþÓ³ÉäÌí¼ÓÁËguard regions£¬ÔöÇ¿Á˶ÔÎļþÓ³ÉäµÄ±£»¤£»½«madvise()µÄËø¶¨²Ù×÷·ÖÀë³öÀ´£¬Ê¹ÄÚ´æ¹ÜÀíµÄÂß¼¸ü¼ÓÇåÎú£»¶Ô´óÒ³µÄmm-owner¸ú×Ù½øÐÐÁËÖØ¹¹£¬Ìá¸ßÁ˶ԴóÒ³ÄÚ´æµÄ¹ÜÀí¾«¶È¡£
ÒýÈëеÄdmemÄÚ´æÍ³¼Æcgroup£¬¿ÉÒÔ¸ü¾«È·µØ×·×ÙÉ豸ÄÚ´æµÄʹÓÃÇé¿ö£¬°ïÖúÓû§¸üºÏÀíµØ·ÖÅäºÍ¹ÜÀíÄÚ´æ×ÊÔ´¡£
4 Îļþϵͳ¸Ä½ø
Bcachefs£ºÄ¿Â¼ÏîÊ×´ÎÖ§³Öµ¯ÐÔÊý×é½á¹¹£¬ÌáÉýÁ˺£Á¿Ð¡ÎļþµÄ´æ´¢Ð§ÂÊ£»ÔöÇ¿ÁËÊý¾Ý¼ì²âºÍ´íÎó´¦ÀíÂß¼£¬Äܹ»Ö÷¶¯¼ì²â²¢ÐÞ¸´¾²Ä¬Êý¾ÝË𻵣¬´Ó¶ø½µµÍÊý¾ÝË𻵵ķçÏÕ£»Ö§³Ö´óÓÚÒ³Ãæ´óСµÄ¿é´óС¹ÜÀí£¬¼õÉÙÁËд·Å´óÏÖÏó£¬ÌáÉýÁËÍÌÍÂÁ¿¡£
Btrfs£ºÒýÈëÁËÁé»îµÄѹËõÑ¡Ï֧³ÖZstandard¸ºÑ¹ËõµÈ¼¶£¬¿É¸ù¾ÝÐèÇóµ÷½Ú¿Õ¼äÓëËÙ¶ÈµÄÆ½ºâ£»ÐÂÔöÁËper-inodeÎȶ¨Ð´È빦ÄÜ£¬±£ÕÏÁËÊý¾ÝµÄ˳ÐòÐÔ£»Ö§³Öͨ¹ýdefragmentation ioctlsÉèÖÃѹËõ¼¶±ð¡£
F2FS£º½ÓÈëÁËÏÖ´ú¹ÒÔØ½Ó¿Ú£¬ÊµÏÖÁ˸ü¸ßЧµÄ¹ÒÔØ²Ù×÷£»ÐÂÔöÁËIOÓÅÏȼ¶Ìáʾioctl£¬ÓÅ»¯ÁËÄÚ´æµÄÀûÓá£
Ext4£º¼Ó¿ìÁËĿ¼ÏîµÄÏßÐÔËÑË÷ËÙ¶È£¬´Ó¶ø¼Ó¿ìÁËÎļþ²éÕÒµÄËÙ¶È£»ÓÅ»¯Á˳¬¼¶¿éµÄ¸üÐÂÆµÂÊ£¬¼õÉÙÁËÔªÊý¾Ýͬ²½µÄÑÓ³Ù£¬ÌáÉýÁËϵͳµÄÏìÓ¦ËÙ¶È£»ÔöÇ¿ÁËÖ»¶ÁģʽϵÄÈÝ´íÄÜÁ¦£¬±£ÕÏÁËϵͳµÄÎȶ¨ÐÔ¡£
XFS£ºÔÚCOWģʽÏ£¬Ö§³Ö16KÔ×ÓдÈ룬ÌáÉýÁËÊý¾ÝдÈëµÄЧÂÊ£»ÓÅ»¯ÁË·ÖÇøÉ豸£¨Zoned Devices£©£¬Ôö¼ÓÁËzone garbage collectionµÄ¿Éµ÷ãÐÖµ£¬¼õÉÙÁËд·Å´óÎÊÌ⣬´ó·ùÌáÉýÁËÍÌÍÂÁ¿¡£
EROFS£ºÐÂÔöÁË48λѰַ֧³Ö£¬ÒÔÓ¦¶ÔAIÄ£ÐÍѵÁ·ËùÐèµÄº£Á¿Êý¾Ý´¦ÀíÐèÇó¡£
5 ÍøÂç¹ÜÀíÓÅ»¯
netlinkÔö¼ÓÁ˶ԴòÓ¡IPv4¶à²¥µØÖ·µÄÖ§³Ö£¬±ãÓÚ¼à¿ØÓë¹ÜÀí¶à²¥Í¨ÐÅ¡£
ÐÂÔöÁËTCPÌ×½Ó×ÖÑ¡ÏîTCP_RTO_MAX_MS£¬ÓÃÓÚ¸ü¾«×¼µØ¿ØÖÆIPv4Á¬½ÓµÄ³¬Ê±ÖØÊÔʱ¼ä¡£
6 °²È«ÔöÇ¿
LSM¿ò¼ÜÖ§³ÖΪio_uringÌí¼Ó¹³×Ó£¬ÔÊÐí°²È«Ä£¿é£¨ÈçSELinux£©¿ØÖÆÒì²½I/O»·¾³µÄ°²È«²ßÂÔ£¬´Ó¶ø·ÀÖ¹I/O½Ó¿Ú±»ÀÄÓá£
AcompÖ§³ÖÐéÄâµØÖ·ºÍfolio£¬ÓÃÓڸĽøÑ¹ËõºÍ½âѹËõÐÔÄÜÒÔ¼°ÄÚ´æÐ§ÂÊ£¬ÓÐÖúÓÚÌáÉýÄÚºËÖÐÊý¾Ý¼ÓÃÜʱµÄÐÔÄܱíÏÖ¡£
PGµç¾ºÐÅÏ¢KeyarchOS½«³ÖÐø¹Ø×¢LinuxÄÚºËÉÏÓΰ汾µÄ¼¼Êõµü´ú£¬Í¬Ê±½ôÃÜÌùºÏÓû§ÒµÎñ³¡¾°ÐèÇó£¬ÓÐÕë¶ÔÐԵؽ«LinuxÄÚºËÉÏÓÎÏȽøÌØÐÔÈÚÈëϵͳ£¬²»¶ÏÓÅ»¯Ó봴У¬ÒÔ³ÖÐøÌáÉý²úÆ·µÄ³¡¾°»¯¾ºÕùÁ¦£¬ÎªÓû§Ìṩ¸ü¼ÓÎȶ¨¡¢¸ßЧ¡¢°²È«µÄ²Ù×÷ϵͳ½â¾ö·½°¸¡£
²úÆ·ÏÂÔØ
²úÆ·¼¤»î
ÊÛǰ×Éѯ
ÊÛºó·þÎñ
»Øµ½¶¥²¿
ÊÛǰ×Éѯ
ÊÛºó·þÎñ