Kernnel Linux 5.14

Kernnel Linux 5.14

Ma hope o ʻelua mahina o ka hoʻomohala ʻana, ʻo Linus Torvalds hoopuka hoʻokuʻu kernel Linux 5.14. Ma waena o nā hoʻololi kaulana loa: quotactl_fd () a me memfd_secret () nā kelepona ʻōnaehana, ka wehe ʻana i ka ide a me nā mea hoʻokele maka, ka mea hoʻoponopono I/O hou no cgroup, SCHED_CORE mode hoʻonohonoho hana, nā ʻōnaehana no ka hana ʻana i nā mea hoʻoili polokalamu BPF i hōʻoia ʻia.

Aia ka mana hou he 15883 hoʻoponopono mai nā mea hoʻomohala 2002, ʻo ka nui o ka patch he 69 MB (nā hoʻololi i hoʻopili ʻia i nā faila 12580, ua hoʻohui ʻia nā laina 861501 o ke code, ua holoi ʻia nā laina 321654). Ma kahi o 47% o nā hoʻololi a pau i hoʻokomo ʻia ma 5.14 e pili ana i nā mea hoʻokele, ma kahi o 14% o nā hoʻololi e pili ana i ka hōʻano hou ʻana i nā code kikoʻī i nā hale hana hardware, 13% pili i ka waihona pūnaewele, 3% pili i nā ʻōnaehana faila, a me 3% pili i nā subsystem kernel kūloko.

ka papa kuhikuhiE nā mea hou:

  • ʻōnaehana ʻōnaehana disk, hoʻokomo/puka a me nā ʻōnaehana faila:
    • no ka hui hoʻokō ʻia ʻO ka mea hoʻoponopono mua I/O hou - rq-qos, hiki ke hoʻomalu i ka hana mua o nā noi e ālai i nā mea hana i hana ʻia e nā lālā o kēlā me kēia cgroup. Ua hoʻohui ʻia ke kākoʻo hoʻoponopono manaʻo mua i ka mq-deadline I/O scheduler;
    • ma ka ʻōnaehana faila ext4 hoʻokō ʻia ʻO ke kauoha ioctl hou EXT4_IOC_CHECKPOINT, ka mea e koi ai i nā hana a pau e kali nei mai ka lāʻau a me nā buffers pili i ka disk, a hoʻopaʻa hou i ka wahi i hoʻohana ʻia e ka log in storage. Ua hoʻomākaukau ʻia ka hoʻololi ma ke ʻano he ʻāpana o ka hoʻolālā e pale aku i ka lele ʻana o ka ʻike mai nā ʻōnaehana faila;
    • ma Btrfs hoʻolauna Ka hoʻokō pono ʻana: Ma ka hoʻopau ʻana i ka hoʻopaʻa inoa pono ʻole o nā ʻano i hoʻonui ʻia i ka wā o ka hoʻokō fsync, ua hoʻonui ʻia ka hana o nā hana koʻikoʻi me nā ʻano hoʻonui a hiki i 17%. Eia kekahi, i ka hana ʻana i nā hana ʻoki ʻaʻole pili i ka extents, hoʻopau ʻia ka hoʻonohonoho piha ʻana, kahi i hōʻemi ai i ka manawa hana e 12%. Ua hoʻohui ʻia kahi hoʻonohonoho i nā sysfs e kaupalena i ka bandwidth I/O i ka wā e nānā ai i ka FS. Hoʻohui ʻia nā kelepona ioctl e hoʻopau i ka hoʻololi ʻana a me ka holoi ʻana i nā hana hāmeʻa;
    • ma XFS hana hou ka hoʻokō ʻana i kahi cache buffer, i hoʻoili ʻia i ka hoʻokaʻawale ʻana i nā ʻaoʻao hoʻomanaʻo ma ke ʻano batch. ʻOi aku ka maikaʻi o ka cache;
    • Ua hoʻohui ʻo F2FS i kahi koho e hana ma ke ʻano heluhelu-wale nō a hoʻokō i kahi mode caching block compressed (compress_cache) e hoʻomaikaʻi i ka hana heluhelu maʻamau. Ua hoʻokō ʻia ke kākoʻo no ke kaomi ʻana i nā faila i palapala ʻia i ka hoʻomanaʻo me ka hoʻohana ʻana i ka hana mmap(). No ka hoʻopau koho ʻana i ka hoʻopili ʻana i nā faila ma ka mask, ua noi ʻia kahi koho nocompress hou;
    • ua hana ʻia ka hana ma ka mea hoʻokele exFAT e hoʻomaikaʻi i ka hoʻohālikelike ʻana me ka waiho ʻana o kekahi mau kiʻi kamepiula;
    • kelepona ʻōnaehana hoʻohui quotactl_fd(), ka mea e hiki ai iā ʻoe ke hoʻokele i nā puʻupuʻu ʻaʻole ma o kahi faila hāmeʻa kūikawā, akā ma ke kuhikuhi ʻana i kahi wehewehe faila e pili ana i ka ʻōnaehana faila kahi i hoʻohana ʻia ai ka quota;
    • Ua hoʻoneʻe ʻia nā mea hoʻokele kahiko no nā polokalamu poloka me ka interface IDE mai ka kernel; ua lōʻihi lākou i pani ʻia e ka libata subsystem. Ua mālama piha ʻia ke kākoʻo no nā mea kahiko, pili wale nā ​​​​hoʻololi i ka hiki ke hoʻohana i nā mea hoʻokele kahiko, i ka wā e hoʻohana ai i kapa ʻia nā drive /dev/hd*, ʻaʻole /dev/sd*;
    • Ua hoʻoneʻe ʻia ka mea hoʻokele "raw" mai ka kernel, e hāʻawi ana i ke komo ʻole ʻole e pale i nā polokalamu ma o ka /dev/raw interface. Ua hoʻokō lōʻihi ʻia kēia hana i nā noi e hoʻohana ana i ka hae O_DIRECT;
  • hoʻomanaʻo a me nā lawelawe ʻōnaehana:
    • ua hoʻokō ʻia kahi ʻano hoʻonohonoho hoʻonohonoho hou i ka mea hoʻonohonoho hana SCHED_CORE, hiki iā ʻoe ke hoʻomalu i nā kaʻina hana e hiki ke holo like ma ka CPU hoʻokahi. Hiki ke hāʻawi ʻia kēlā me kēia kaʻina hana i kahi mea hoʻomaopopo kuki e wehewehe i ke ʻano o ka hilinaʻi ma waena o nā kaʻina hana (no ka laʻana, no ka mea hoʻohana hoʻokahi a i ʻole ipu). I ka hoʻonohonoho ʻana i ka hoʻokō code, hiki i ka mea hoʻonohonoho ke hōʻoia i ka hoʻokaʻawale ʻana o hoʻokahi CPU core ma waena o nā kaʻina e pili ana i ka mea nona ka mea hoʻokahi, hiki ke hoʻohana ʻia no ka pale ʻana i kekahi mau hōʻeha Specter ma o ka pale ʻana i nā hana hilinaʻi a hilinaʻi ʻole mai ka holo ʻana ma ka pae SMT (Hyper Threading) like. ;
    • no ka cgroup mechanism, ua hoʻokō ʻia ke kākoʻo no ka hana pepehi, e hiki ai iā ʻoe ke pepehi i nā kaʻina hana a pau e pili ana i ka hui i ka manawa hoʻokahi (hoʻouna iā SIGKILL) ma ke kākau ʻana i "1" i ka faila virtual cgroup.kill;
    • hiki ke hoʻonui ʻia e pili ana i ka pane ʻana i ka ʻike ʻana i nā laka ʻāpana ("split locks") e kū nei i ka wā e komo ai i ka ʻikepili unaligned i ka hoʻomanaʻo ʻana ma muli o ka ʻoiaʻiʻo i ka wā e hoʻokō ai i kahi ʻōlelo aʻoaʻo atomic, ua hele ka ʻikepili i ʻelua laina cache CPU. Ke alakaʻi nei ia ʻano paʻa i kahi hāʻule nui o ka hana, no laila ua hiki ke hoʻopau ikaika i ka noi i kumu i ka pale ʻana. Hoʻohui ka hoʻokuʻu hou i ka palena o ka laina kauoha kernel "split_lock_detect = ratelimit: N", e hiki ai iā ʻoe ke wehewehe i kahi palena ākea ākea ma ka helu o nā hana laka i kēlā me kēia kekona, ma hope o ka ʻoi aku o kēlā me kēia kaʻina hana i lilo i kumu no ka wehe ʻana. e koi ʻia e kū no 20 ms ma mua o ka hoʻopau ʻana;
    • ʻO ka cgroup bandwidth controller CFS (CFS bandwidth controller), ka mea e hoʻoholo ai i ka nui o ka manawa hana e hiki ke hoʻokaʻawale i kēlā me kēia cgroup, hiki ke wehewehe i nā palena i kaupalena ʻia e ka lōʻihi o ka hana, e ʻae ai i ka hoʻoponopono maikaʻi ʻana i nā ukana latency-sensitive. No ka laʻana, ʻo ka hoʻonohonoho ʻana i cpu.cfs_quota_us i 50000 a me cpu.cfs_period_us i 100000 e ʻae i kahi hui o nā kaʻina e hoʻopau i 100ms o ka manawa CPU i kēlā me kēia 50ms;
    • hoʻohui ʻia ʻoihana mua no ka hoʻokumu ʻana i nā mea hoʻoili polokalamu BPF, kahi e hiki ai ke hoʻoiho i nā polokalamu BPF wale nō i kau inoa ʻia me kahi kī kikohoʻe hilinaʻi;
    • ua hoʻohui i kahi hana futex hou FUTEX_LOCK_PI2, e hoʻohana ana i ka manawa monotonic e helu i ka manawa pau, e noʻonoʻo ana i ka manawa i hoʻohana ʻia e ka ʻōnaehana ma ke ʻano hiamoe;
    • no ka hoʻolālā RISC-V, kākoʻo no nā ʻaoʻao hoʻomanaʻo nui (Transparent Huge-Pages) a me ka hiki ke hoʻohana i ka KFENCE e ʻike i nā hewa i ka hana ʻana me ka hoʻomanaʻo;
    • i loko o ka madvise () system call, e hāʻawi ana i kahi ala e hoʻonui ai i ka hoʻokele hoʻomanaʻo kaʻina hana, hoʻohui ʻia ʻO nā hae MADV_POPULATE_READ a me MADV_POPULATE_WRITE e hoʻopuka i kahi "ʻaoʻao hewa" ma nā ʻaoʻao hoʻomanaʻo āpau i palapala ʻia no nā hana heluhelu a kākau ʻole, me ka hana ʻole ʻana i kahi heluhelu a kākau ʻole (prefault). Hiki ke hoʻohana ʻia ka hoʻohana ʻana i nā hae no ka hōʻemi ʻana i ka lohi o ka hoʻokō ʻana i ka papahana, mahalo i ka hoʻokō pono ʻana o ka "page fault" handler no nā ʻaoʻao āpau ʻole i ka manawa hoʻokahi, me ke kali ʻole i ke komo maoli ʻana iā lākou;
    • ma kahi ʻōnaehana hoʻāʻo ʻāpana kunit hoʻohui ʻia kākoʻo no ka holo ʻana i nā hoʻokolohua ma ke kaiapuni QEMU;
    • ua hoʻohui ʻia nā mea hou: "osnoise" e nānā i nā lohi o ka noi ma muli o ka hoʻopau ʻana, a me ka " timerlat " e hōʻike i ka ʻike kikoʻī e pili ana i nā lohi i ke ala ʻana mai kahi hōʻailona manawa;
  • virtualization a me ka palekana:
    • hoʻohui ʻia kelepona ʻōnaehana memfd_secret(), ka mea e hiki ai iā ʻoe ke hana i kahi wahi hoʻomanaʻo pilikino i kahi wahi kikoʻī kaʻawale, ʻike wale ʻia e ka mea nona ke kaʻina hana, ʻaʻole i hōʻike ʻia i nā kaʻina hana ʻē aʻe a ʻaʻole hiki ke loaʻa pololei i ka kernel;
    • i ka seccomp system call filtering system, i ka hoʻoneʻe ʻana i nā mea hoʻopaʻa laka i loko o kahi mea hoʻohana, hiki ke hoʻohana i hoʻokahi hana atomic e hana i kahi wehewehe faila no kahi hana kaʻawale a hoʻihoʻi iā ia i ka wā e hana ai i kahi kelepona ʻōnaehana. Hoʻoholo ka hana i manaʻo ʻia ka pilikia me ka hoʻopau ʻana o ka mea hoʻohana ma kahi o ka mea hoʻohana ke hiki mai kahi hōʻailona;
    • hoʻohui ʻia mea hana hou e hoʻokele i ka palena o ka waiwai ma ka inoa ID mea hoʻohana, kahi e hoʻopaʻa ai i nā helu helu rlimit pākahi i kahi mea hoʻohana ma ka "mea hoʻohana inoa". Hoʻoponopono ka hoʻololi i ka pilikia me ka hoʻohana ʻana i nā helu waiwai maʻamau i ka wā e holo ai kekahi mea hoʻohana i nā kaʻina hana i nā pahu like ʻole;
    • Ua hoʻohui ka KVM hypervisor no nā ʻōnaehana ARM64 i ka hiki ke hoʻohana i ka MTE (MemTag, Memory Tagging Extension) i nā ʻōnaehana malihini, e hiki ai iā ʻoe ke hoʻopaʻa i nā hōʻailona i kēlā me kēia hana hoʻomanaʻo hoʻomanaʻo a hoʻonohonoho i ka nānā ʻana i ka hoʻohana pono ʻana o nā kuhikuhi e pale i ka hoʻohana nā nāwaliwali i hoʻokumu ʻia e ke komo ʻana i nā poloka hoʻomanaʻo i hoʻokuʻu ʻia, hoʻomāhuahua i nā pale, komo ma mua o ka hoʻomaka ʻana a me ka hoʻohana ʻana ma waho o ka pōʻaiapili o kēia manawa;
    • Hiki ke hoʻonohonoho kaʻawale ʻia ʻo Pointer Authentication i hāʻawi ʻia e ka platform ARM64 no ka kernel a me kahi mea hoʻohana. ʻAe ka ʻenehana iā ʻoe e hoʻohana i nā ʻōlelo aʻoaʻo ARM64 kūikawā e hōʻoia i nā helu hoʻihoʻi me ka hoʻohana ʻana i nā pūlima kikohoʻe i mālama ʻia ma nā ʻāpana luna i hoʻohana ʻole ʻia o ka pointer ponoʻī;
    • ma ke ano hoohana Linux hoʻohui ʻia kākoʻo no ka hoʻohana ʻana i nā mea hoʻokele no nā polokalamu PCI me kahi kaʻaahi PCI virtual, i hoʻokō ʻia e ka mea hoʻokele PCI-over-virtio;
    • no nā ʻōnaehana x86, hoʻohui i ke kākoʻo no ka virtio-iommu paravirtualized device, e hiki ai iā ʻoe ke hoʻouna i nā noi IOMMU, e like me ATTACH, DETACH, MAP a me UNMAP, ma luna o ka lawe ʻana i ka virtio me ka ʻole e hoʻohālikelike i nā papa ʻaoʻao hoʻomanaʻo;
    • No nā Intel CPU, mai ka ʻohana Skylake a hiki i Coffee Lake, ka hoʻohana ʻana o Intel TSX (Transactional Synchronization Extensions), e hāʻawi ana i nā mea hana no ka hoʻomaikaʻi ʻana i ka hana o nā noi multi-threaded ma o ka hoʻopau ʻana i nā hana synchronization pono ʻole. Hoʻopau ʻia nā hoʻonui ma muli o ka hiki ke hoʻouka ʻia Zombieload, hoʻopunipuni i ka leakage o ka ʻike ma o nā kaila ʻaoʻao ʻekolu i hana ʻia i ka wā o ka hana ʻana o ka mīkini no ka hoʻopau asynchronous o nā hana (TAA, TSX Asynchronous Abort);
  • pūnaewele subsystem:
    • hoʻomau i ka hoʻohui ʻana i loko o ke kumu o MPTCP (MultiPath TCP), kahi hoʻonui o ka protocol TCP no ka hoʻonohonoho ʻana i ka hana o kahi pilina TCP me ka hāʻawi ʻana i nā paʻi i ka manawa like ma nā ala he nui ma o nā kikowaena pūnaewele like ʻole e pili ana i nā helu IP like ʻole. Ma ka pukana hou hoʻohui ʻia he mīkini no ka hoʻonohonoho ʻana i kāu mau kulekele hashing traffic no IPv4 a me IPv6 (multipath hash policy), e hiki ai i ka mea hoʻohana ke hoʻoholo i nā māla i loko o nā ʻeke, me nā mea i hoʻopili ʻia, e hoʻohana ʻia i ka helu ʻana i ka hash e hoʻoholo ai i ke koho o ke ala. no ka ʻeke;
    • ua hoʻohui ʻia ke kākoʻo socket i ka virtual transport virtio SOCK_SEQPACKET (ka hoʻouna pololei a hilinaʻi o nā datagrams);
    • Ua hoʻonui ʻia nā mana o ka SO_REUSEPORT socket mechanism, e hiki ai i kekahi mau kumu hoʻolohe ke hoʻopili i hoʻokahi awa i ka manawa hoʻokahi e loaʻa ai nā pilina me ka hāʻawi ʻana i nā noi e komo mai i ka manawa like ma nā kumu āpau i pili ʻia ma SO_REUSEPORT, e hoʻomaʻamaʻa i ka hana ʻana i nā noi kikowaena multi-threaded. . I ka mana hou hoʻohui ʻia ʻo ia ka hoʻololi ʻana i ka mana i kahi kumu ʻē aʻe inā hiki ʻole ke hana i kahi noi e ke kumu i koho mua ʻia (e hoʻoholo i ka pilikia me ka nalowale o nā pilina pilikino i ka wā e hoʻomaka hou ai i nā lawelawe);
  • mea lako:
    • i ke kalaiwa amdgpu hoʻokō ʻia kākoʻo no ka AMD Radeon RX 6000 hou o nā GPU, i kapa ʻia ʻo "Beige Goby" (Navi 24) a me "Yellow Carp", a me ka hoʻomaikaʻi ʻana i ke kākoʻo no Aldebaran GPU (gfx90a) a me Van Gogh APU. Hoʻohui i ka hiki ke hana like me kekahi mau papa eDP. No APU Renoir, ua hoʻokō ʻia ke kākoʻo no ka hana ʻana me nā pale i hoʻopili ʻia i ka hoʻomanaʻo wikiō (TMZ, Trusted Memory Zone). Hoʻohui kākoʻo no nā kāleka kiʻi wela-unplug. No ka Radeon RX 6000 (Navi 2x) GPU a me nā AMD GPU kahiko, kākoʻo ʻia ke kākoʻo no ka ASPM (Active State Power Management) mana hoʻopakele mana ma ka paʻamau, i hana mua ʻia no Navi 1x, Vega a me Polaris GPU wale nō;
    • no ka AMD chips, kākoʻo no ka like virtual memory (SVM, shared virtual memory) ua hoʻohui ʻia ma muli o ka HMM (Heterogeneous memory management) subsystem, e ʻae ai i ka hoʻohana ʻana i nā mea hana me kā lākou mau ʻāpana hoʻomanaʻo hoʻomanaʻo (MMU, ʻāpana hoʻomanaʻo hoʻomanaʻo), hiki ke komo i ka hoʻomanaʻo nui. Me ka hoʻohana ʻana i ka HMM, hiki iā ʻoe ke hoʻonohonoho i kahi kikowaena helu ma waena o ka GPU a me ka CPU, kahi e hiki ai i ka GPU ke komo i ka hoʻomanaʻo nui o ke kaʻina hana;
    • hoʻohui i ke kākoʻo ʻenehana mua AMD Smart Shift, ka mea e hoʻololi ikaika i nā palena hoʻohana mana o ka CPU a me ka GPU ma nā kamepiula me kahi chipset a me kahi kāleka kiʻi AMD e hoʻoikaika i ka hana i ka wā pāʻani, hoʻoponopono wikiō a me 3D rendering;
    • i ka mea hoʻokele i915 no nā kāleka wikiō Intel hui pū ʻia kākoʻo no nā chips Intel Alderlake P;
    • hoʻohui i ka drm/hyperv mea hoʻokele no ka Hyper-V virtual graphics adapter;
    • hoʻohui ʻia mea hoʻokele kiʻi simpledrm e hoʻohana ana i ka EFI-GOP a i ʻole VESA framebuffer i hāʻawi ʻia e ka UEFI firmware a i ʻole BIOS no ka hoʻopuka. ʻO ke kumu nui o ka mea hoʻokele ka hāʻawi ʻana i nā mana hoʻopuka kiʻi i ka wā o ka wā mua o ka boot, ma mua o ka hoʻohana ʻana i kahi mea hoʻokele DRM piha. Hiki ke hoʻohana ʻia ka mea hoʻokele ma ke ʻano he hopena pōkole no nā lako i loaʻa ʻole nā ​​​​mea hoʻokele DRM maoli;
    • hoʻohui ʻia kākoʻo kamepiula holoʻokoʻa Piʻi Piʻi 400;
    • Hoʻohui ʻia ka mea hoʻokele dell-wmi-privacy e kākoʻo i ka pahupaʻikiʻi a me nā mea hoʻololi microphone i hoʻokomo ʻia i loko o nā kamepiula Dell;
    • no nā laptops Lenovo hoʻohui ʻia WMI interface no ka hoʻololi ʻana i nā ʻāpana BIOS ma o sysfs /sys/class/firmware-attributes/;
    • hoʻonui ʻia kākoʻo no nā polokalamu me ka USB4 interface;
    • hoʻohui ʻia kākoʻo no nā kāleka kani a me nā codecs AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 a me Texas Instruments TAS2505. Hoʻomaikaʻi i ke kākoʻo leo ma HP a me ASUS laptops. Hoʻohui ʻia e hoʻemi i nā lohi ma mua o ka hoʻomaka ʻana o ka hoʻokani leo ma nā polokalamu me kahi interface USB.

Puna - opennet.ru.

Source: linux.org.ru