Linux 6.7 nga pagpagawas sa kernel

Pagkahuman sa duha ka bulan nga pag-uswag, gipresentar ni Linus Torvalds ang pagpagawas sa Linux kernel 6.7. Lakip sa labing inila nga mga pagbag-o: panagsama sa Bcachefs file system, paghunong sa suporta alang sa arkitektura sa Itanium, ang abilidad sa Nouvea nga magtrabaho sa GSP-R firmware, suporta alang sa TLS encryption sa NVMe-TCP, ang abilidad sa paggamit sa mga eksepsiyon sa BPF, suporta para sa futex sa io_uring, pag-optimize sa fq (Fair Queuing) scheduler performance ), suporta para sa TCP-AO extension (TCP Authentication Option) ug ang abilidad sa pagpugong sa mga koneksyon sa network sa Landlock security mechanism, dugang access control sa user namespace ug io_uring pinaagi sa AppArmor.

Ang bag-ong bersyon naglakip sa 18405 nga mga pag-ayo gikan sa 2066 nga mga developer, ang gidak-on sa patch mao ang 72 MB (ang mga pagbag-o nakaapekto sa 13467 nga mga file, 906147 nga linya sa code ang gidugang, 341048 nga mga linya ang natangtang). Ang katapusan nga pagpagawas adunay 15291 nga mga pag-ayo gikan sa 2058 nga mga developer, ang gidak-on sa patch mao ang 39 MB. Mga 45% sa tanan nga mga pagbag-o nga gipaila sa 6.7 adunay kalabotan sa mga driver sa aparato, gibana-bana nga 14% sa mga pagbag-o ang may kalabutan sa pag-update sa code nga espesipiko sa mga arkitektura sa hardware, 13% adunay kalabotan sa network stack, 5% adunay kalabotan sa mga sistema sa file, ug 3% adunay kalabutan sa internal nga mga subsystem sa kernel.

Pangunang mga inobasyon sa kernel 6.7:

  • Disk Subsystem, I/O ug File Systems
    • Gisagop sa kernel ang Bcachefs file system code, nga misulay sa pagkab-ot sa performance, kasaligan ug scalability sa XFS, inubanan sa mga elemento sa advanced functionality nga makita sa Btrfs ug ZFS. Pananglitan, ang Bcachefs nagsuporta sa mga feature sama sa paglakip sa daghang mga device sa usa ka partition, multi-layer drive layouts (ang ubos nga layer nga adunay kanunay nga gigamit nga data base sa paspas nga SSDs, ug ang ibabaw nga layer nga adunay dili kaayo gigamit nga data gikan sa mga hard drive), replication (RAID). 1/10), caching , transparent data compression (LZ4, gzip ug ZSTD modes), state slices (snapshots), integridad verification gamit ang checksums, ang abilidad sa pagtipig sa Reed-Solomon error correction codes (RAID 5/6), pagtipig sa impormasyon sa encrypted nga porma (ChaCha20 ug Poly1305 gigamit). Sa mga termino sa pasundayag, ang Bcachefs nag-una sa Btrfs ug uban pang mga sistema sa file base sa mekanismo sa Copy-on-Write, ug nagpakita sa katulin sa operasyon duol sa Ext4 ug XFS.
    • Ang Btrfs file system nagpaila sa usa ka gipasimple nga quota mode nga nagtugot kanimo sa pagkab-ot sa mas taas nga performance pinaagi sa pagsubay sa mga gilapdon lamang sa subpartition diin sila gimugna, nga makapadali sa mga kalkulasyon ug makapauswag sa performance, apan wala magtugot kanimo sa pagkonsiderar sa mga gilapdon nga gipaambit sa daghang mga subpartisyon.
    • Nagdugang ang Btrfs og bag-ong istruktura sa datos nga "stripe tree", nga angay alang sa lohikal nga gilapdon sa pagmapa sa mga sitwasyon diin ang mga pisikal nga mapping dili motakdo sa mga device. Ang istruktura gigamit karon sa pagpatuman sa RAID0 ug RAID1 alang sa mga zoned block device. Sa umaabot, nagplano sila nga gamiton kini nga istruktura sa mas taas nga lebel nga mga RAID, nga makasulbad sa daghang mga problema nga naa sa karon nga pagpatuman.
    • Ang Ceph file system nagpatuman og suporta para sa pagmapa sa mga user ID sa mga mounted file system, nga gigamit sa pagpares sa mga file sa usa ka partikular nga user sa usa ka mounted foreign partition sa laing user sa kasamtangang sistema.
    • Gidugang ang abilidad sa pagtino sa uid ug gid sa mount sa efivarfs aron tugotan ang mga proseso nga dili gamut nga usbon ang mga variable sa UEFI.
    • Gidugang ang mga tawag sa ioctl sa exFAT alang sa pagbasa ug pagbag-o sa mga hiyas sa FS. Gidugang nga pagdumala sa zero-size nga mga direktoryo.
    • Ang F2FS nagpatuman sa abilidad sa paggamit sa 16K blocks.
    • Ang autofs automount nga mekanismo gibalhin aron magamit ang bag-ong partition mounting API.
    • Ang OverlayFS nagtanyag sa "lowerdir +" ug "datadir +" nga mga kapilian sa pag-mount. Gidugang nga suporta alang sa nested mounting sa OverlayFS nga adunay xattrs.
    • Gi-optimize sa XFS ang CPU load sa real-time block allocation code. Ang abilidad sa dungan nga pagbuhat sa pagbasa ug FICLONE nga mga operasyon gihatag.
    • Ang EXT2 nga kodigo nakabig aron gamiton ang mga panid sa panid.
  • Mga serbisyo sa memorya ug sistema
    • Ang suporta alang sa arkitektura sa ia64 nga gigamit sa mga processor sa Intel Itanium, nga hingpit nga gihunong sa 2021, gihunong. Ang mga processor sa Itanium gipaila sa Intel kaniadtong 2001, apan ang arkitektura sa ia64 napakyas nga makigkompetensya sa AMD64, labi na tungod sa mas taas nga pasundayag sa AMD64 ug ang labi ka hapsay nga pagbalhin gikan sa 32-bit x86 nga mga processor. Ingon usa ka sangputanan, ang mga interes sa Intel mibalhin pabor sa mga x86-64 nga mga processor, ug ang lote sa Itanium nagpabilin nga mga server sa HP Integrity, ang mga mando nga gipahunong tulo ka tuig ang milabay. Ang code alang sa suporta sa ia64 gikuha gikan sa kernel tungod sa dugay nga kakulang sa suporta alang niini nga plataporma, samtang si Linus Torvalds nagpahayag sa iyang kaandam nga ibalik ang suporta sa ia64 ngadto sa kernel, apan kung adunay usa ka maintainer nga makapakita sa taas nga kalidad. suporta alang niini nga plataporma gawas sa nag-unang kernel sulod sa labing menos usa ka tuig.
    • Gidugang ang "ia32_emulation" kernel line command parameter, nga nagtugot kanimo sa pag-enable o pag-disable sa suporta alang sa 32-bit mode emulation sa mga kernels nga gitukod alang sa x86-64 nga arkitektura sa boot stage. Sa praktikal nga bahin, ang bag-ong kapilian nagtugot kanimo sa pagtukod sa kernel nga adunay suporta alang sa pagpaangay sa 32-bit nga mga aplikasyon, apan pag-disable kini nga mode pinaagi sa default aron makunhuran ang attack vector sa kernel, tungod kay ang compatibility API dili kaayo masulayan kaysa sa main kernel. mga interface.
    • Ang padayon nga paglalin sa mga pagbag-o gikan sa Rust-for-Linux nga sanga nga may kalabutan sa paggamit sa Rust nga pinulongan isip ikaduhang pinulongan alang sa pagpalambo sa mga drayber ug kernel modules (Ang suporta sa Rust dili aktibo pinaagi sa default, ug dili mosangpot sa paglakip sa Rust sa mga gikinahanglan nga mga dependency sa asembliya alang sa kernel). Ang bag-ong bersyon naghimo sa transisyon sa paggamit sa Rust 1.73 release ug nagtanyag sa usa ka hugpong sa mga bindings alang sa pagtrabaho uban sa workqueues.
    • Posible nga gamiton ang binfmt_misc nga mekanismo para makadugang og suporta para sa bag-ong executable nga mga format sa file (pananglitan, sa pagpadagan sa compiled Java o Python nga mga aplikasyon) sulod sa separado nga unprivileged namespaces.
    • Ang cgroup controller cpuset, nga nagtugot kanimo sa pagkontrolar sa paggamit sa CPU cores sa pagpatuman sa usa ka buluhaton, naghatag og usa ka dibisyon ngadto sa lokal ug hilit nga partitioning, nga lahi sa kon ang ginikanan cgroup mao ang husto nga root seksyon o dili. Ang mga bag-ong setting nga "cpuset.cpus.exclusive" ug "cpuset.cpus.excluisve.effective" gidugang usab sa cpuset alang sa eksklusibo nga pagbugkos sa CPU.
    • Ang subsystem sa BPF nagpatuman sa suporta alang sa mga eksepsiyon, nga giproseso isip emergency exit gikan sa usa ka BPF nga programa nga adunay abilidad sa luwas nga pag-unwind sa mga stack frame. Dugang pa, gitugotan sa mga programa sa BPF ang paggamit sa mga kptr pointer nga adunay kalabotan sa CPU.
    • Ang suporta alang sa mga operasyon nga adunay futex gidugang sa io_uring subsystem, ug bag-ong mga operasyon ang gipatuman: IORING_OP_WAITID (asynchronous nga bersyon sa waitid), SOCKET_URING_OP_GETSOCKOPT (getsockoptand option), SOCKET_URING_OP_SETSOCKOPT (setsockopt nga opsyon)_READ_MULTI nga paghunong ug IORING_OPTIS. adunay datos o dili puno nga buffer).
    • Gidugang nga pagpatuman sa gaan nga single-connected nga FIFO nga mga pila nga nanginahanglan usa ka spinlock alang lamang sa pag-dequeue sa usa ka konteksto sa proseso ug paghatag usa ka spinlock alang sa atomic nga pagdugang sa pila sa bisan unsang konteksto.
    • Gidugang ang usa ka ring buffer nga "objpool" nga adunay usa ka scalable nga pagpatuman sa usa ka high-performance nga pila para sa paggahin ug pagbalik sa mga butang.
    • Ang inisyal nga bahin sa mga pagbag-o gidugang aron ipatuman ang bag-ong futex2 API, nga adunay mas maayo nga performance sa NUMA system, nagsuporta sa mga gidak-on gawas sa 32 bits, ug mahimong gamiton imbes sa multiplexed futex() system call.
    • Alang sa ARM32 ug S390x nga mga arkitektura, suporta alang sa kasamtangan nga set (cpuv4) sa mga instruksyon sa BPF gidugang.
    • Alang sa RISC-V nga arkitektura, posible nga gamiton ang Shadow-Call Stack check mode nga anaa sa Clang 17, nga gidisenyo aron mapanalipdan batok sa pag-overwrite sa return address gikan sa usa ka function kung adunay buffer overflow sa stack. Ang esensya sa proteksyon mao ang pagtipig sa adres sa pagbalik sa usa ka bulag nga "anino" nga stack pagkahuman ibalhin ang kontrol sa usa ka function ug makuha kini nga adres sa wala pa mogawas sa function.
    • Usa ka bag-ong mode sa pag-scan sa panid sa panumduman sa panumduman ang gidugang sa mekanismo sa paghiusa sa parehas nga mga panid sa panumduman (KSM: Kernel Samepage Merging), nga nagsubay sa dili malampuson nga pag-scan sa mga panid ug gipakunhod ang intensity sa ilang pag-scan pag-usab. Aron mahimo ang bag-ong mode, ang /sys/kernel/mm/ksm/smart_scan setting gidugang.
    • Gidugang ang usa ka bag-ong ioctl command PAGEMAP_SCAN, nga, kung gigamit sa userfaultfd(), nagtugot kanimo sa pagtino sa mga kamatuoran sa pagsulat sa usa ka piho nga memory range. Ang bag-ong bahin, pananglitan, mahimong magamit sa sistema aron maluwas ug mapasig-uli ang kahimtang sa mga proseso sa CRIU o sa mga sistema nga anti-cheat sa dula.
    • Sa sistema sa asembliya, kung ang Clang compiler anaa, ang asembliya sa mga pananglitan sa paggamit sa perf subsystem, nga gisulat isip mga programa sa BPF, gipalihok pinaagi sa default.
    • Ang daan nga videobuf layer, nga gigamit sa pagdumala sa mga framebuffer sa media subsystem ug gipulihan sa usa ka bag-ong pagpatuman sa videobuf10 kapin sa 2 ka tuig ang milabay, gitangtang.
  • Virtualization ug Security
    • Ang abilidad sa pag-encrypt sa datos sa mga bloke nga mas gamay kay sa block nga gidak-on sa file system gidugang sa fscrypt subsystem. Mahimong gikinahanglan kini aron mahimo ang mga mekanismo sa pag-encrypt sa hardware nga nagsuporta lamang sa gagmay nga mga bloke (pananglitan, ang mga UFS controllers nga nagsuporta lamang sa 4096 block nga gidak-on mahimong magamit sa file system nga adunay 16K block size).
    • Ang "iommufd" subsystem, nga nagtugot kanimo sa pagdumala sa IOMMU (I/O Memory-Management Unit) nga mga lamesa sa panid sa panumduman pinaagi sa mga deskriptor sa file gikan sa wanang sa tiggamit, nagdugang pagsubay sa datos nga wala pa ma-flush gikan sa cache (hugaw) alang sa DMA mga operasyon, nga gikinahanglan alang sa pagtino sa panumduman nga adunay wala mabalhin nga datos sa panahon sa paglalin sa proseso.
    • Ang suporta alang sa pagtino sa mga lagda sa pagkontrol sa pag-access alang sa mga socket sa TCP gidugang sa mekanismo sa Landlock, nga nagtugot kanimo nga limitahan ang interaksyon sa usa ka grupo sa mga proseso sa gawas nga palibot. Pananglitan, makahimo ka og usa ka lagda nga nagtugot lamang sa pag-access sa network port 443 aron makatukod og mga koneksyon sa HTTPS.
    • Ang AppArmor subsystem nagdugang sa abilidad sa pagkontrolar sa pag-access sa io_uring nga mekanismo ug paghimo sa user namespaces, nga nagtugot kanimo sa pagpili sa pagtugot sa access niini nga mga kapabilidad lamang sa pipila ka mga proseso.
    • Gidugang ang virtual machine attestation API aron mapamatud-an ang integridad sa proseso sa pag-boot sa virtual machine.
    • Ang mga sistema sa LoongArch nagsuporta sa virtualization gamit ang KVM hypervisor.
    • Kung gigamit ang KVM hypervisor sa mga sistema sa RISC-V, ang suporta alang sa extension sa Smstateen nagpakita, nga nagpugong sa virtual nga makina sa pag-access sa mga rehistro sa CPU nga dili klaro nga gisuportahan sa hypervisor. Nagdugang usab og suporta alang sa paggamit sa Zicond extension sa mga guest system, nga nagtugot sa paggamit sa pipila ka conditional integer operations.
    • Sa x86-based nga mga guest system nga nagdagan ubos sa KVM, hangtod sa 4096 ka virtual nga CPU ang gitugotan.
  • Subsystem sa network
    • Ang drayber sa NVMe-TCP (NVMe over TCP), nga nagtugot kanimo sa pag-access sa mga NVMe drive sa network (NVM Express over Fabrics) gamit ang TCP protocol, nagdugang suporta sa pag-encrypt sa data transmission channel gamit ang TLS (gamit ang KTLS ug usa ka proseso sa background sa user space tlshd para sa negosasyon sa koneksyon).
    • Ang pasundayag sa fq (Fair Queuing) packet scheduler na-optimize, nga nagpaposible sa pagdugang sa throughput sa 5% ubos sa bug-at nga mga karga sa tcp_rr (TCP Request/Response) nga pagsulay ug sa 13% nga adunay walay kinutuban nga dagan sa UDP packets.
    • Ang TCP midugang ug usa ka opsyonal nga microsecond-precision timestamp (TCP TS) nga kapabilidad (RFC 7323), nga nagtugot sa mas tukma nga pagtantiya sa latency ug mas abante nga congestion control modules. Aron mahimo kini, mahimo nimong gamiton ang command "ip route add 10/8 ... features tcp_usec_ts".
    • Ang TCP stack adunay dugang nga suporta alang sa TCP-AO extension (TCP Authentication Option, RFC 5925), nga nagpaposible sa pag-verify sa TCP header gamit ang MAC codes (Message Authentication Code), gamit ang mas modernong mga algorithm nga HMAC-SHA1 ug CMAC-AES- 128 sa baylo nga magamit kaniadto nga opsyon sa TCP-MD5 base sa legacy nga MD5 algorithm.
    • Usa ka bag-ong tipo sa mga virtual network device nga "netkit" ang gidugang, ang data transfer logic diin gitakda gamit ang BPF program.
    • Ang KSMBD, usa ka kernel-level nga pagpatuman sa usa ka SMB server, midugang og suporta para sa pagsulbad sa mga file name nga adunay mga surrogate nga pares sa compound characters.
    • Gipauswag sa NFS ang pagpatuman sa mga hilo nga adunay mga serbisyo sa RPC. Gidugang nga suporta alang sa pagsulat nga delegasyon (alang sa NFSv4.1+). Ang NFSD adunay dugang nga suporta alang sa rpc_status netlink handler. Gipauswag nga suporta alang sa mga kliyente sa NFSv4.x kung gi-eksport pag-usab sa knfsd.
  • Kagamitan
    • Ang inisyal nga suporta alang sa GSP-RM firmware gidugang sa Nouveau kernel module, nga gigamit sa NVIDIA RTX 20+ GPU aron ibalhin ang initialization ug GPU control operations sa kilid sa usa ka bulag nga GSP microcontroller (GPU System Processor). Gitugotan sa suporta sa GSP-RM ang drayber sa Nouveau nga magtrabaho pinaagi sa mga tawag sa firmware, kaysa direkta nga pagprograma sa mga interaksyon sa hardware, nga labi ka dali nga makadugang suporta alang sa mga bag-ong NVIDIA GPU pinaagi sa paggamit sa mga pre-built nga tawag alang sa pagsugod ug pagdumala sa gahum.
    • Gisuportahan sa driver sa AMDGPU ang GC 11.5, NBIO 7.11, SMU 14, SMU 13.0 OD, DCN 3.5, VPE 6.1 ug DML2. Gipauswag nga suporta alang sa seamless loading (walay pagkidlap sa dihang nagbalhin sa video mode).
    • Ang drayber sa i915 nagdugang suporta alang sa Intel Meteor Lake chips ug nagdugang usa ka inisyal nga pagpatuman sa Intel LunarLake (Xe 2).
    • Gidugang nga suporta alang sa asymmetric transmission channels nga gidugang sa USB4 v2 (120/40G) nga detalye.
    • Gidugang nga suporta alang sa ARM SoC: Qualcomm Snapdragon 720G (gigamit sa Xiaomi smartphones), AMD Pensando Elba, Renesas, R8A779F4 (R-Car S4-8), USRobotics USR8200 (gigamit sa mga router ug NAS).
    • Gidugang nga suporta alang sa Fairphone 5 nga smartphone ug ARM boards nga Orange Pi 5, QuartzPro64, Turing RK1, Variscite MX6, BigTreeTech CB1, Freescale LX2162, Google Spherion, Google Hayato, Genio 1200 EVK, RK3566 Powkiddy RGB30.
    • Gidugang nga suporta para sa RISC-V boards Milk-V Pioneer ug Milk-V Duo.
    • Gidugang nga suporta alang sa mga sound interface sa HUAWEI laptops nga gihatag sa mga AMD CPU. Gidugang nga suporta alang sa dugang nga mga mamumulong nga na-install sa Dell Oasis 13/14/16 nga mga laptop. Gidugang nga suporta alang sa built-in nga mga speaker ASUS K6500ZC. Gidugang nga suporta alang sa mute indicator sa HP 255 G8 ug G10 nga mga laptop. Gidugang nga suporta alang sa acp6.3 audio driver. Gidugang nga suporta alang sa Focusrite Clarett + 2Pre ug 4Pre propesyonal nga mga interface sa pagrekord.

Sa parehas nga oras, ang Latin American Free Software Foundation nagporma usa ka bersyon sa hingpit nga libre nga kernel 6.7 - Linux-libre 6.7-gnu, gitangtang sa mga elemento sa firmware ug mga drayber nga adunay sulud nga dili libre nga mga sangkap o mga seksyon sa code, ang sakup niini limitado. pinaagi sa tiggama. Sa pagpagawas sa 6.7, ang blob cleaning code na-update sa lainlaing mga drayber ug subsystem, pananglitan, sa amdgpu, nouveau, adreno, mwifix, mt7988, ath11k, avs ug btqca nga mga drayber. Ang code alang sa paglimpyo sa localtalk ug rtl8192u nga mga drayber gitangtang tungod sa ilang pag-apil sa kernel. Gikuha ang wala kinahanglana nga mga sangkap alang sa paglimpyo sa xhci-pci, rtl8xxxu ug rtw8822b nga mga drayber, nga kaniadto gidugang sa sayup. Gilimpyohan ang mga ngalan sa blob sa mga dts file alang sa arkitektura sa Aarch64. Gitangtang ang mga blobs sa bag-ong mga drayber nga mt7925, tps6598x, aw87390 ug aw88399.

Source: opennet.ru

Idugang sa usa ka comment