Kutulutsidwa kwa kernel ya Linux 6.7

Pambuyo pa miyezi iwiri yachitukuko, Linus Torvalds adapereka kutulutsidwa kwa Linux kernel 6.7. Zina mwa zosintha zodziwika bwino: kuphatikiza kachitidwe ka fayilo ya Bcachefs, kusiya kuthandizira zomangamanga za Itanium, kuthekera kwa Nouvea kugwira ntchito ndi firmware ya GSP-R, kuthandizira kubisa kwa TLS mu NVMe-TCP, kuthekera kogwiritsa ntchito zosiyana ndi BPF, thandizo la futex mu io_uring, kukhathamiritsa kwa fq (Fair Queuing) scheduler performance), kuthandizira kukulitsa kwa TCP-AO (TCP Authentication Option) ndikutha kuletsa kulumikizidwa kwa netiweki mu njira yachitetezo cha Landlock, kuwongolera mwayi wofikira kumalo a ogwiritsa ntchito ndi io_uring kudzera pa AppArmor.

Mtundu watsopanowu umaphatikizapo kukonza kwa 18405 kuchokera kwa opanga 2066, kukula kwa chigamba ndi 72 MB (zosintha zomwe zidakhudza mafayilo 13467, mizere ya 906147 ya code idawonjezeredwa, mizere 341048 idachotsedwa). Kutulutsidwa komaliza kunali ndi kukonza kwa 15291 kuchokera kwa opanga 2058, kukula kwa chigamba kunali 39 MB. Pafupifupi 45% ya zosintha zonse zomwe zidayambitsidwa mu 6.7 zimagwirizana ndi madalaivala a zida, pafupifupi 14% ya zosintha zimakhudzana ndi kukonzanso kachidindo kamangidwe ka ma hardware, 13% ikugwirizana ndi stack network, 5% ikugwirizana ndi mafayilo amafayilo, ndi 3% zimagwirizana ndi ma kernel subsystems amkati.

Zatsopano zazikulu mu kernel 6.7:

  • Disk Subsystem, I/O ndi File Systems
    • Kernel imatenga kachidindo ka fayilo ya Bcachefs, yomwe imayesa kukwaniritsa magwiridwe antchito, kudalirika komanso kutsika kwa XFS, kuphatikiza ndi zinthu zotsogola zomwe zimapezeka mu Btrfs ndi ZFS. Mwachitsanzo, ma Bcachefs amathandizira zinthu monga kuphatikiza zida zingapo pagawo, masanjidwe amitundu yambiri (osanjikiza pansi ndi data yomwe imagwiritsidwa ntchito pafupipafupi potengera ma SSD othamanga, ndi wosanjikiza wapamwamba wokhala ndi data yosagwiritsidwa ntchito pang'ono kuchokera ku hard drive), kubwereza (RAID). 1/10), caching , transparent data compression (LZ4, gzip ndi ZSTD modes), magawo a boma (snapshots), kutsimikizira kukhulupirika pogwiritsa ntchito ma checksums, kutha kusunga zizindikiro zolakwika za Reed-Solomon (RAID 5/6), kusunga zambiri mu mawonekedwe obisika (ChaCha20 ndi Poly1305 amagwiritsidwa ntchito). Pankhani ya magwiridwe antchito, ma Bcachefs ali patsogolo pa Btrfs ndi mafayilo ena amafayilo otengera makina a Copy-on-Write, ndipo amawonetsa liwiro lantchito pafupi ndi Ext4 ndi XFS.
    • Dongosolo lamafayilo a Btrfs limabweretsa mawonekedwe osavuta a quota omwe amakulolani kuti mukwaniritse magwiridwe antchito apamwamba potsata magawo omwe amapangidwira, omwe amathandizira kuwerengera komanso kuwongolera magwiridwe antchito, koma samakulolani kuti muganizire kuchuluka kwa magawo omwe amagawidwa m'magawo angapo. magawo.
    • Btrfs yawonjezera mawonekedwe a data a "mizeremizere", oyenera kupanga mapu momveka bwino nthawi zomwe mapu samagwirizana pazida zonse. Kapangidwe kameneka kakugwiritsidwa ntchito pokhazikitsa RAID0 ndi RAID1 pazida zama block block. M'tsogolomu, akukonzekera kugwiritsa ntchito dongosololi m'ma RAID apamwamba, omwe adzathetsa mavuto angapo omwe alipo pakalipano.
    • Dongosolo la fayilo la Ceph limagwiritsa ntchito kuthandizira kupanga ma ID a ogwiritsa ntchito pamafayilo okhazikitsidwa, omwe amagwiritsidwa ntchito kufananiza mafayilo a wogwiritsa ntchito pagawo lakunja lokhazikitsidwa ndi wogwiritsa ntchito wina pamakina apano.
    • Anawonjezera luso lofotokozera uid ndi gid pa phiri ku efivarfs kulola njira zopanda mizu kuti zisinthe mitundu ya UEFI.
    • Onjezani mafoni a ioctl ku exFAT kuti muwerenge ndikusintha mawonekedwe a FS. Kuwonjezedwa kwa maupangiri amtundu wa zero.
    • F2FS imagwiritsa ntchito midadada ya 16K.
    • Makina okwera a autofs asinthidwa kuti agwiritse ntchito ma partition mounting API atsopano.
    • OverlayFS imapereka zosankha za "lowerdir+" ndi "datadir+". Thandizo lowonjezera pakuyika zisa kwa OverlayFS ndi xattrs.
    • XFS yakonza kuchuluka kwa CPU mu code yogawa nthawi yeniyeni. Kuthekera kowerengera nthawi imodzi ndikuchita FICLONE kumaperekedwa.
    • Khodi ya EXT2 yasinthidwa kuti igwiritse ntchito masamba amasamba.
  • Memory ndi ntchito zadongosolo
    • Thandizo la zomangamanga za ia64 zomwe zimagwiritsidwa ntchito mu Intel Itanium processors, zomwe zinathetsedwa mu 2021, zathetsedwa. Mapurosesa a Itanium adayambitsidwa ndi Intel mu 2001, koma zomangamanga za ia64 zidalephera kupikisana ndi AMD64, makamaka chifukwa cha magwiridwe antchito apamwamba a AMD64 komanso kusintha kosavuta kuchokera ku mapurosesa a 32-bit x86. Zotsatira zake, zokonda za Intel zidasintha mokomera ma processor a x86-64, ndipo gawo la Itanium lidakhalabe ma seva a HP Integrity, madongosolo omwe adayimitsidwa zaka zitatu zapitazo. Khodi yothandizira ia64 idachotsedwa ku kernel makamaka chifukwa cha kusowa kwa nthawi yayitali kwa nsanja iyi, pomwe Linus Torvalds adawonetsa kufunitsitsa kwake kubweza thandizo la ia64 ku kernel, koma pokhapokha ngati pali wosamalira yemwe angawonetse mawonekedwe apamwamba. kuthandizira nsanja iyi kunja kwa kernel yayikulu kwa chaka chimodzi .
    • Onjezani "ia32_emulation" kernel line command parameter, yomwe imakupatsani mwayi wothandizira kapena kuletsa kuthandizira kutsanzira kwa 32-bit mu ma kernels opangidwira kamangidwe ka x86-64 pagawo la boot. Pambali yothandiza, njira yatsopanoyi imakupatsani mwayi wopanga kernel mothandizidwa kuti igwirizane ndi mapulogalamu a 32-bit, koma zimitsani izi mwachisawawa kuti muchepetse vekitala yowukira pa kernel, popeza API yofananira imayesedwa pang'ono kuposa kernel yayikulu. mawonekedwe.
    • Kupitilira kusamuka kwakusintha kuchokera kunthambi ya Rust-for-Linux yokhudzana ndi kugwiritsa ntchito chilankhulo cha Dzimbiri ngati chilankhulo chachiwiri pakupanga madalaivala ndi ma module a kernel (Thandizo la dzimbiri silikugwira ntchito mwachisawawa, ndipo silimayambitsa kuphatikizidwa kwa Dzimbiri pakati zofunika kudalira kusonkhana kwa kernel). Mtundu watsopanowu umapangitsa kusintha kugwiritsa ntchito Rust 1.73 kumasulidwa ndipo imapereka zomangira zogwirira ntchito ndi mndandanda wantchito.
    • Ndizotheka kugwiritsa ntchito njira ya binfmt_misc kuti muwonjezere chithandizo cha mafayilo atsopano omwe angathe kuchitidwa (mwachitsanzo, kugwiritsa ntchito mapulogalamu a Java kapena Python) m'malo osiyanasiyana osasankhidwa.
    • The cgroup controller cpuset, yomwe imakupatsani mwayi wowongolera kugwiritsa ntchito ma CPU cores pochita ntchito, imapereka magawano mu magawo am'deralo ndi akutali, omwe amasiyana ngati gulu la makolo ndi gawo lolondola la mizu kapena ayi. Zokonda zatsopano "cpuset.cpus.exclusive" ndi "cpuset.cpus.excluisve.effective" nawonso awonjezedwa ku cpuset kuti agwirizane ndi CPU yokha.
    • Dongosolo lothandizira la BPF limagwiritsa ntchito zothandizira zina, zomwe zimakonzedwa ngati njira yotuluka mwadzidzidzi kuchokera ku pulogalamu ya BPF yomwe imatha kumasula mafelemu osungika bwino. Kuphatikiza apo, mapulogalamu a BPF amalola kugwiritsa ntchito zolozera za kptr mogwirizana ndi CPU.
    • Thandizo la magwiridwe antchito ndi futex wawonjezedwa ku io_uring subsystem, ndipo zatsopano zakhazikitsidwa: IORING_OP_WAITID (asynchronous version of waitid), SOCKET_URING_OP_GETSOCKOPT (getsockoptand option), SOCKET_URING_OP_SETSOCKOPT (setsocOTsOpt_optip_operation) pali deta kapena palibe buffer yonse).
    • Kukhazikitsa kowonjezera kwa mizere yopepuka yolumikizidwa ndi imodzi ya FIFO yomwe imafunikira spinlock yokha kuti idutse pamndandanda wazomwe zikuchitika ndikuchotsa zotchingira pazowonjezera za atomiki pamzere uliwonse.
    • Anawonjezera ring buffer "objpool" yokhala ndi kukhazikitsa kosalekeza kwa mzere wochita bwino kwambiri pakugawa ndi kubweza zinthu.
    • Gawo loyambirira la zosinthazo lawonjezedwa kuti agwiritse ntchito futex2 API yatsopano, yomwe imagwira bwino ntchito pamakina a NUMA, imathandizira kukula kwake osati ma bits 32, ndipo ingagwiritsidwe ntchito m'malo mwa multiplexed futex() system call.
    • Pazomangamanga za ARM32 ndi S390x, chithandizo cha seti yamakono (cpuv4) ya malangizo a BPF awonjezedwa.
    • Pazomangamanga za RISC-V, ndizotheka kugwiritsa ntchito mawonekedwe a Shadow-Call Stack omwe akupezeka ku Clang 17, opangidwa kuti atetezere kuti asalembenso adilesi yobwerera kuchokera kuntchito ngati buffer ikusefukira pa stack. Chofunikira cha chitetezo ndikusunga adilesi yobwerera mumtundu wina wa "mthunzi" mutatha kusamutsa kuwongolera ku ntchito ndikubwezeretsanso adilesiyi musanatuluke.
    • Njira yatsopano yojambulira tsamba lanzeru yawonjezedwa pamakina ophatikiza masamba amakumbukidwe ofanana (KSM: Kernel Samepage Merging), yomwe imatsata masamba osasunthika mosachita bwino ndikuchepetsa kuzama kwawonso. Kuti mutsegule mawonekedwe atsopano, mawonekedwe /sys/kernel/mm/ksm/smart_scan awonjezedwa.
    • Onjezani lamulo latsopano la ioctl PAGEMAP_SCAN, lomwe, likagwiritsidwa ntchito ndi userfaultfd (), limakupatsani mwayi wodziwa zowona zolembera pamakumbukidwe enaake. Chinthu chatsopanochi, mwachitsanzo, chingagwiritsidwe ntchito mu dongosolo kuti apulumutse ndi kubwezeretsa ndondomeko ya CRIU kapena mumasewera odana ndi chinyengo.
    • Mu dongosolo la msonkhano, ngati Clang compiler ilipo, kusonkhana kwa zitsanzo zogwiritsira ntchito perf subsystem, yolembedwa ngati mapulogalamu a BPF, imathandizidwa mwachisawawa.
    • Wosanjikiza wakale wa videobuf, womwe umagwiritsidwa ntchito kuyang'anira ma framebuffers mu media subsystem ndipo adasinthidwa ndi kukhazikitsa kwatsopano kwa videobuf10 zaka 2 zapitazo, wachotsedwa.
  • Virtualization ndi Chitetezo
    • Kutha kubisa deta mu midadada yaying'ono kuposa kukula kwa block mu fayilo yamafayilo awonjezedwa ku fscrypt subsystem. Izi zitha kufunidwa kuti zithandizire njira zama encryption za hardware zomwe zimangothandizira midadada yaying'ono (mwachitsanzo, olamulira a UFS omwe amangothandizira kukula kwa block 4096 angagwiritsidwe ntchito ndi fayilo yamafayilo yokhala ndi 16K block size).
    • Dongosolo la "iommufd", lomwe limakupatsani mwayi wowongolera matebulo amasamba a IOMMU (I/O Memory-Management Unit) kudzera pazofotokozera mafayilo kuchokera kumalo ogwiritsira ntchito, yawonjezera kutsata kwa data yomwe sinachotsedwe kuchokera ku cache (yodetsedwa) ya DMA. ntchito, zomwe ndi zofunika kudziwa kukumbukira ndi deta unflushed pa ndondomeko kusamuka.
    • Thandizo lofotokozera malamulo oyendetsera zolowera pazitsulo za TCP zawonjezeredwa ku makina a Landlock, omwe amakulolani kuchepetsa kuyanjana kwa gulu la njira ndi chilengedwe chakunja. Mwachitsanzo, mutha kupanga lamulo lomwe limangolola kulowa pamaneti 443 kuti mukhazikitse kulumikizana kwa HTTPS.
    • Dongosolo la AppArmor lawonjezera kuthekera kowongolera njira ya io_uring ndikupanga malo ogwiritsira ntchito, omwe amakulolani kuti musankhe mwanzeru mwayi wopeza izi kunjira zina.
    • API yowonjezera yotsimikizira makina kuti itsimikizire kukhulupirika kwa makina oyambira makina.
    • Machitidwe a LoongArch amathandizira virtualization pogwiritsa ntchito KVM hypervisor.
    • Mukamagwiritsa ntchito hypervisor ya KVM pamakina a RISC-V, chithandizo chowonjezera cha Smstateen chawonekera, chomwe chimalepheretsa makinawo kuti asapeze ma regista a CPU omwe samathandizidwa momveka bwino ndi hypervisor. Thandizo lowonjezera pakugwiritsa ntchito kuwonjezera kwa Zicond m'machitidwe a alendo, omwe amalola kugwiritsa ntchito zinthu zina zokhazikika.
    • M'makina a alendo a x86 omwe akuyenda pansi pa KVM, mpaka ma CPU pafupifupi 4096 amaloledwa.
  • Network subsystem
    • Dalaivala wa NVMe-TCP (NVMe over TCP), yemwe amakulolani kuti mupeze ma drive a NVMe pa netiweki (NVM Express over Fabrics) pogwiritsa ntchito protocol ya TCP, wawonjezera thandizo pakubisa njira yotumizira deta pogwiritsa ntchito TLS (pogwiritsa ntchito KTLS ndi njira yakumbuyo. mu user space tlshd pazokambirana zolumikizana).
    • Kuchita kwa fq (Fair Queuing) paketi yokonza paketi kunakonzedwa bwino, zomwe zinapangitsa kuti ziwonjezeke kupititsa patsogolo ndi 5% pansi pa katundu wolemera mu mayeso a tcp_rr (TCP Request/Response) ndi 13% ndi kutuluka kopanda malire kwa mapaketi a UDP.
    • TCP imawonjezera mwayi wosankha nthawi ya microsecond-precision timestamp (TCP TS) (RFC 7323), yomwe imalola kuyerekezera kolondola kwa latency ndi ma module otsogola kwambiri. Kuti muyitse, mutha kugwiritsa ntchito lamulo "ip njira onjezani 10/8 ... mawonekedwe tcp_usec_ts".
    • The TCP stack wawonjezera thandizo kwa TCP-AO kutambasuka (TCP Authentication Option, RFC 5925), zomwe zimapangitsa kuti zitsimikizireni mitu ya TCP pogwiritsa ntchito ma code a MAC (Message Authentication Code), pogwiritsa ntchito ma aligorivimu amakono a HMAC-SHA1 ndi CMAC-AES- 128 m'malo mwake inalipo kale TCP-MD5 njira yotengera cholowa cha MD5 algorithm.
    • Mtundu watsopano wa zida zapaintaneti "netkit" wawonjezedwa, malingaliro osamutsa deta omwe amakhazikitsidwa pogwiritsa ntchito pulogalamu ya BPF.
    • KSMBD, kukhazikitsa mulingo wa kernel wa seva ya SMB, yawonjezera thandizo pakuthana ndi mayina amafayilo okhala ndi zilembo ziwiri.
    • NFS yakonza kukhazikitsidwa kwa ulusi ndi ntchito za RPC. Thandizo lowonjezera la nthumwi zolembera (za NFSv4.1+). NFSD yawonjezera chithandizo cha rpc_status netlink handler. Thandizo lowongolera lamakasitomala a NFSv4.x potumizanso ku knfsd.
  • Zida
    • Thandizo loyambirira la firmware ya GSP-RM yawonjezedwa ku Nouveau kernel module, yomwe imagwiritsidwa ntchito mu NVIDIA RTX 20+ GPU kusuntha zoyambira ndi zowongolera za GPU kumbali ya GSP microcontroller (GPU System processor). Thandizo la GSP-RM limalola dalaivala wa Nouveau kuti agwiritse ntchito mafoni a firmware, m'malo mongopanga mapulogalamu a hardware mwachindunji, zomwe zimapangitsa kuti zikhale zosavuta kuwonjezera chithandizo cha ma NVIDIA GPU atsopano pogwiritsa ntchito mafoni opangidwa kale kuti ayambe ndi kuyendetsa mphamvu.
    • Dalaivala wa AMDGPU amathandizira GC 11.5, NBIO 7.11, SMU 14, SMU 13.0 OD, DCN 3.5, VPE 6.1 ndi DML2. Thandizo lokwezeka lotsegula mosasunthika (palibe kuthwanima mukasintha makanema).
    • Dalaivala wa i915 amawonjezera chithandizo cha tchipisi ta Intel Meteor Lake ndikuwonjezera kukhazikitsa koyambirira kwa Intel LunarLake (Xe 2).
    • Thandizo lowonjezera la njira zotumizira za asymmetric zomwe zawonjezeredwa ku USB4 v2 (120/40G) mafotokozedwe.
    • Thandizo lowonjezera la ARM SoC: Qualcomm Snapdragon 720G (yogwiritsidwa ntchito mu mafoni a Xiaomi), AMD Pensando Elba, Renesas, R8A779F4 (R-Car S4-8), USRobotics USR8200 (yomwe imagwiritsidwa ntchito mu ma routers ndi NAS).
    • Thandizo lowonjezera la foni yamakono ya Fairphone 5 ndi ma ARM board Orange Pi 5, QuartzPro64, Turing RK1, Variscite MX6, BigTreeTech CB1, Freescale LX2162, Google Sherion, Google Hayato, Genio 1200 EVK, RK3566 Powkiddy RGB30.
    • Thandizo lowonjezera la ma board a RISC-V Milk-V Pioneer ndi Milk-V Duo.
    • Thandizo lowonjezera pamawonekedwe amawu a HUAWEI laputopu operekedwa ndi AMD CPUs. Thandizo lowonjezera la okamba owonjezera omwe adayikidwa pa laputopu ya Dell Oasis 13/14/16. Thandizo lowonjezera la olankhula omangidwira ASUS K6500ZC. Thandizo lowonjezera la chizindikiro chosalankhula pa laputopu ya HP 255 G8 ndi G10. Thandizo lowonjezera la madalaivala omvera acp6.3. Thandizo lowonjezera la Focusrite Clarett+ 2Pre ndi 4Pre akatswiri ojambula panjira.

Nthawi yomweyo, Latin American Free Software Foundation idapanga mtundu wa kernel yaulere 6.7 - Linux-libre 6.7-gnu, yochotsedwa pazinthu za firmware ndi madalaivala okhala ndi zida zopanda ufulu kapena magawo a code, kukula kwake kuli kochepa. ndi wopanga. Potulutsidwa 6.7, code yoyeretsa blob yasinthidwa m'madalaivala osiyanasiyana ndi ma subsystems, mwachitsanzo, mu amdgpu, nouveau, adreno, mwifiex, mt7988, ath11k, avs ndi btqca madalaivala. Khodi yoyeretsa madalaivala a localtalk ndi rtl8192u yachotsedwa chifukwa chochotsedwa pa kernel. Kuchotsa zida zosafunika zotsuka madalaivala a xhci-pci, rtl8xxxu ndi rtw8822b, zomwe zidawonjezedwa kale molakwika. Kuyeretsa mayina a blob m'mafayilo a dts pamapangidwe a Aarch64. Kuchotsa mabulogu mu madalaivala atsopano mt7925, tps6598x, aw87390 ndi aw88399.

Source: opennet.ru

Kuwonjezera ndemanga