Às deidh dà mhìos de leasachadh, Linus Torvalds toirt a-steach sgaoileadh kernel Linux 5.6. Am measg nan atharrachaidhean as ainmeil: amalachadh eadar-aghaidh WireGuard VPN, taic airson USB4, àiteachan ainmean airson ùine, an comas luchd-làimhseachaidh dùmhlachd TCP a chruthachadh a ’cleachdadh BPF, taic tùsail airson MultiPath TCP, a’ faighinn cuidhteas kernel duilgheadas 2038, an uidheamachd “bootconfig” , CriosFS.
Tha an dreach ùr a’ toirt a-steach 13702 fuasgladh bho luchd-leasachaidh 1810,
meud paiste - 40 MB (atharraichean buaidh air faidhlichean 11577, chuir 610012 loidhne de chòd ris,
294828 sreathan air an toirt air falbh). Nochd timcheall air 45% dhiubh uile ann an 5.6
Tha atharrachaidhean co-cheangailte ri draibhearan inneal, tha timcheall air 15% de na h-atharrachaidhean
sealladh a thaobh ùrachadh còd a tha sònraichte do ailtireachd bathar-cruaidh, 12%
co-cheangailte ris a’ chruach lìonra, 4% le siostaman faidhle agus 3% leis an taobh a-staigh
fo-shiostaman kernel.
Air a chur ris cur an gnìomh eadar-aghaidh VPN Air adhart gu clàr na làraich, a tha air a bhuileachadh stèidhichte air dòighean crioptachaidh ùr-nodha (ChaCha20, Poly1305, Curve25519, BLAKE2s), furasta a chleachdadh, saor bho dhuilgheadasan, air a dhearbhadh fhèin ann an grunn bhuileachadh mòra agus a’ toirt seachad coileanadh fìor àrd (3,9 tursan nas luaithe na OpenVPN a thaobh de thionndadh). Bidh WireGuard a’ cleachdadh a’ bhun-bheachd air slighe iuchair crioptachaidh, a tha a’ toirt a-steach iuchair phrìobhaideach a cheangal ri gach eadar-aghaidh lìonraidh agus a chleachdadh gus na h-iuchraichean poblach a cheangal. Tha iuchraichean poblach air an iomlaid gus ceangal a stèidheachadh san aon dòigh ri SSH. Prìomhachasan criptografach a dh 'fheumar airson WireGuard a bhith ag obair bha eair a thoirt thairis bhon leabharlann Zinc mar phàirt den API àbhaisteach Crypto agus air a thoirt a-steach a-steach don chridhe 5.5.
Thòisich amalachadh phàirtean a tha riatanach gus taic a thoirt do MPTCP (MultiPath TCP), leudachadh air a’ phròtacal TCP airson obrachadh ceangal TCP a chuir air dòigh le lìbhrigeadh pacaidean aig an aon àm air grunn shlighean tro dhiofar eadar-aghaidh lìonra co-cheangailte ri diofar sheòlaidhean IP. Airson tagraidhean lìonra, tha an leithid de cheangal iomlan coltach ri ceangal TCP cunbhalach, agus tha an loidsig dealachaidh sruthadh air a choileanadh le MPTCP. Faodar Multipath TCP a chleachdadh gus an dà chuid trochur a mheudachadh agus earbsachd àrdachadh. Mar eisimpleir, faodar MPTCP a chleachdadh gus tar-chuir dàta air fòn cliste a chuir air dòigh a ’cleachdadh ceanglaichean WiFi agus 4G aig an aon àm, no gus cosgaisean a lughdachadh le bhith a’ ceangal frithealaiche a ’cleachdadh grunn cheanglaichean saor an àite aon fhear daor.
Air a chur ris taic airson smachd giollachd ciudha lìonra sch_ets (Taghadh tar-chuir leasaichte, IEEE 802.1Qaz), a bheir seachad comas leud-bann a sgaoileadh eadar diofar chlasaichean trafaic. Ma tha an luchd air clas trafaic sònraichte nas ìsle na an leud-bann ainmichte, leigidh an ETS le clasaichean trafaic eile an leud-bann a tha ri fhaighinn (gun chleachdadh). Tha Qdisc sch_ets air a rèiteachadh mar smachd PRIO agus a’ cleachdadh chlasaichean trafaic gus crìochan leud-bann teann agus co-roinnte a mhìneachadh. Bidh ETS ag obair mar mheasgachadh de chuspairean PRIONNSA и DRR - ma tha glè bheag de chlasaichean trafaic ann, thathas a’ cleachdadh PRIO, ach mura h-eil trafaic anns a ’chiudha, bidh e ag obair mar DRR.
Chaidh seòrsa ùr de phrògraman BPF a chur ris BPF_PROG_TYPE_STRUCT_OPS, a leigeas leat luchd-làimhseachaidh gnìomh kernel a chuir an gnìomh tro BPF. An-dràsta, faodar am feart seo a chleachdadh mar-thà gus algorithms smachd dùmhlachd TCP a chuir an gnìomh ann an cruth phrògraman BPF. Mar eisimpleir air a mholadh Prògram BPF le buileachadh algairim DCTCP.
Air a ghabhail a-steach don bhun-stèidh atharrachadh, innealan eadar-theangachaidh innleachd le ioctl() ri chleachdadh eadar-aghaidh netlink. Tha an eadar-aghaidh ùr ga dhèanamh nas fhasa leudachaidhean a chuir ris, a’ leasachadh làimhseachadh mhearachdan, a’ leigeil le fiosan a chuir nuair a dh’ atharraicheas an stàit, a’ sìmpleachadh an eadar-obrachaidh eadar an kernel agus an àite luchd-cleachdaidh, agus a’ lughdachadh na h-àireamh de liostaichean ainmichte a dh’ fheumar a shioncronachadh.
Cur-an-gnìomh a bharrachd air an algairim riaghlaidh ciudha lìonra FQ-PIE (Flow Queue PIE), a tha ag amas air a’ bhuaidh àicheil a tha aig bufair pacaid eadar-mheadhanach air uidheamachd lìonra iomaill (bufferbloat) a lughdachadh. Tha FQ-PIE a’ nochdadh àrd-èifeachdais nuair a thèid a chleachdadh ann an siostaman le modems càball.
Fo-shiostam diosc, I/O agus siostaman faidhle
Airson siostam faidhle Btrfs air a chur ris buileachadh asyncronach de ghnìomhachd DISCARD (a’ comharrachadh bhlocaichean saor nach fheumar a stòradh gu corporra tuilleadh). An toiseach, chaidh gnìomhachd DISCARD a dhèanamh gu sioncronaich, a dh ’fhaodadh leantainn gu truailleadh coileanaidh mar thoradh air na draibhearan a’ feitheamh ris na h-òrdughan co-fhreagarrach a chrìochnachadh. Leigidh buileachadh asyncronach leat gun a bhith a’ feitheamh ris an draibhear DISCARD a chrìochnachadh agus an gnìomhachd seo a dhèanamh air a’ chùl.
Ann an XFS Air a dhèanamh Còd glanaidh a chleachd seann chunntair ùine 32-bit (chaidh time64_t a chuir an àite an seòrsa time_t), a lean gu duilgheadas 2038. Mearachdan stèidhichte agus coirbeachd cuimhne a thachair air àrd-ùrlaran 32-bit. Chaidh an còd ath-obrachadh gus obrachadh le buadhan leudaichte.
Gu ext4 siostam faidhle steach Optimizations dèanadais co-cheangailte ri bhith a’ làimhseachadh glasadh inode rè obair leughaidh is sgrìobhaidh. Coileanadh ath-sgrìobhaidh nas fheàrr ann am modh Direct I/O. Gus breithneachadh dhuilgheadasan a dhèanamh nas sìmplidhe, tha a’ chiad agus an còd mearachd mu dheireadh air an stòradh anns an superblock.
Air an t-siostam faidhle F2FS air a chur an gnìomh comas dàta a stòradh ann an cruth teann. Airson faidhle no eòlaire fa leth, faodar teannachadh a chomasachadh leis an àithne “chattr + c file” no “chattr + c dir; suathadh dir / faidhle". Gus an sgaradh gu lèir a dhlùthadh, faodaidh tu an roghainn “-o compress_extension = ext” a chleachdadh anns a ’ghoireas sreap.
Tha an kernel a’ toirt a-steach siostam faidhle SònFS, a tha a 'sìmpleachadh obair aig ìre ìosal le innealan stòraidh sòn. Tha draibhearan sònaichean a’ ciallachadh innealan air diosc cruaidh magnetach no NVMe SSDs, an àite stòraidh anns a bheil e air a roinn ann an sònaichean a tha a’ dèanamh suas buidhnean de bhlocaichean no roinnean, anns nach eil ach dàta a bharrachd air a cheadachadh, ag ùrachadh a’ bhuidheann iomlan de bhlocaichean. Chaidh FS ZoneFS a leasachadh le Western Digital agus bidh e a’ ceangal gach sòn san draibhear le faidhle air leth a ghabhas cleachdadh gus dàta a stòradh ann am modh amh gun làimhseachadh aig ìre na roinne agus bloca, i.e. A’ leigeil le tagraidhean am faidhle API a chleachdadh an àite faighinn gu dìreach air an inneal bloca a’ cleachdadh ioctl.
Ann an NFS, tha cur suas sgaraidhean thairis air UDP à comas gu bunaiteach. Taic a bharrachd airson comas faidhlichean a chopaigeadh gu dìreach eadar frithealaichean, air a mhìneachadh ann an sònrachadh NFS 4.2. Chaidh roghainn mount ùr “softreval” a chur ris, a leigeas le luachan buadhan taisgte a chleachdadh gun fhios nach obraich an t-seirbheisiche. Mar eisimpleir, nuair a shònraicheas tu an roghainn seo, às deidh don fhrithealaiche a bhith neo-ruigsinneach, tha e comasach fhathast gluasad air adhart air na slighean anns an sgaradh NFS agus faighinn gu fiosrachadh a tha air socrachadh san tasgadan.
Air a dhèanamh optimization de choileanadh an uidheamachd fs-verity, air a chleachdadh gus sùil a chumail air ionracas agus dearbhadh faidhlichean fa leth. Meudachadh air astar leughaidh sreath mar thoradh air cleachdadh craobh hash Merkle. Chaidh coileanadh FS_IOC_ENABLE_VERITY a mheudachadh nuair nach eil dàta san tasgadan (chaidh leughadh ro-làimh de dhuilleagan le dàta a chuir an sàs).
Mas-fhìor agus tèarainteachd
Tha an comas modal SELinux a chuir dheth fhad ‘s a tha e a’ ruith air a bhith air a mholadh gu mòr, agus thèid casg a chuir air luchdachadh sìos SELinux a chaidh a chuir an gnìomh mar-thà san àm ri teachd. Gus SELinux a dhì-cheadachadh feumaidh tu am paramadair “selinux = 0” a thoirt seachad air an loidhne-àithne kernel.
Air a chur ris taic airson ainmean-àite airson ùine (àiteachan ainmean ùine), a’ leigeil leat staid gleoc an t-siostaim a cheangal ris a’ ghobhar (CLOCK_REALTIME,
CLoc ).
Chaidh an amar bacadh / dev / air thuaiream a thoirt air falbh. Tha giùlan / dev / air thuaiream coltach ri / dev / urandom a thaobh casg a chuir air bacadh entropy às deidh an amar a thòiseachadh.
Tha an kernel bunaiteach a ’toirt a-steach draibhear a leigeas le siostaman aoighean a tha a’ ruith VirtualBox clàran a chuir a-steach leis an àrainneachd aoigheachd (VirtualBox Shared Folder).
Chaidh seata de phìosan a chur ris an fho-shiostam BPF (Neach-tagraidh BPF). pacaid lìonra a’ tighinn).
Dràibhear a bharrachd gus taic a thoirt do TEE (Trusted Execution Environment) air a thogail a-steach do AMD APUn.
Seirbheisean cuimhne is siostam
Tha BPF air taic a chuir ri gnìomhan cruinneil. Tha leasachadh ga dhèanamh mar phàirt de dh'iomairt gus taic a chur ri leabharlannan de ghnìomhan a dh'fhaodar a ghabhail a-steach ann am prògraman BPF. Is e an ath cheum taic a thoirt do leudachadh fiùghantach a leigeas le gnìomhan cruinneil a luchdachadh, a’ toirt a-steach ath-chuiridhean cruinne a th’ ann mar-thà fhad ‘s a tha iad gan cleachdadh. Bidh fo-shiostam BPF cuideachd a’ cur taic ri caochladh obrachadh a’ mhapa (air a chleachdadh airson dàta leantainneach a stòradh), a bheir taic do choileanadh ann am modh baidse.
Air a chur ris le Leigidh an inneal “cpu_cooling” leat CPU a tha ro theth a fhuarachadh le bhith ga chuir ann an staid leisg airson ùine ghoirid.
Glaodh siostam air a chur ris fosgail 2(), a tha a’ tabhann seata de bhrataichean a bharrachd gus fuasgladh slighe faidhle a chuingealachadh (casg air puingean tarsainn, ceanglaichean samhlachail, ceanglaichean draoidheachd (/ proc/PID/fd), “../” co-phàirtean).
Airson siostaman ioma-ghnèitheach stèidhichte air an ailtireachd big.LITTLE, a’ cothlamadh coraichean CPU cumhachdach agus nach eil cho èifeachdach ann an lùth ann an aon chip, tha am paramadair uclamp_min air a shuidheachadh nuair a thathar a’ coileanadh gnìomhan fìor-ùine (nochd ann an kernel 5.3 tha dòigh ann airson an luchd a dhìon). Bidh am paramadair seo a’ dèanamh cinnteach gun tèid an obair a chuir leis a’ chlàr-ama air cridhe CPU aig a bheil coileanadh gu leòr.
Tha an kernel air a shaoradh bho duilgheadasan ann an 2038. Chuir sinn an àite an luchd-làimhseachaidh mu dheireadh a bha air fhàgail, a chleachd an seòrsa time_t 32-bit (soidhnichte a-steach) airson a’ chunntair ùine epochal, a bu chòir, a’ toirt aire don aithisg bho 1970, a dhol thairis ann an 2038.
Leasachadh leantainneach air an eadar-aghaidh I/O asyncronach io_uringanns a bheil tèarainte taic airson obrachaidhean ùra: IORING_OP_FALLOCATE (glèidheadh raointean falamh), IORING_OP_OPENAT,
IORING_OP_OPENAT2,
IORING_OP_CLOSE (a' fosgladh is a' dùnadh fhaidhlichean),
IORING_OP_FILES_UPDATE (a' cur ris agus a' toirt air falbh faidhlichean on liosta ruigsinneachd luath),
IORING_OP_STATX (iarrtas fiosrachaidh faidhle),
IORING_OP_READ,
IORING_OP_WRITE (analogan simplichte de IORING_OP_READV agus IORING_OP_WRITEV),
IORING_OP_FADVISE,
IORING_OP_MADVISE (caochlaidhean asyncronach de ghairmean posix_fadvise agus madvise), IORING_OP_SEND,
IORING_OP_RECV (a' cur agus a' faighinn dàta lìonraidh),
IORING_OP_EPOLL_CTL (dèan gnìomhachd air tuairisgeulan faidhle epoll).
Glaodh siostam air a chur ris pidfd_getfd(), a' leigeil le pròiseas tuairisgeul faidhle fhaighinn air ais airson faidhle fosgailte bho phròiseas eile.
Air a chur an gnìomh an uidheamachd “bootconfig”, a leigeas, a bharrachd air roghainnean loidhne-àithne, crìochan an kernel a dhearbhadh tro fhaidhle roghainnean. Gus faidhlichean mar seo a chur ris an ìomhaigh initramfs, thathas a’ moladh an goireas bootconfig. Faodar am feart seo a chleachdadh, mar eisimpleir, gus kprobes a rèiteachadh aig àm tòiseachaidh.
Ath-dhealbhadh inneal airson feitheamh ri sgrìobhadh agus leughadh dàta ann am pìoban gun ainm. Rinn an t-atharrachadh e comasach gnìomhan leithid co-chruinneachadh co-shìnte de phròiseactan mòra a luathachadh. Ach, faodaidh optimization leantainn gu suidheachadh rèis ann an dèanamh GNU mar thoradh air bug san fhoillseachadh 4.2.1, a chaidh a shuidheachadh ann an dreach 4.3.
Chuir sinn a’ bhratach PR_SET_IO_FLUSHER ri prctl(), a ghabhas cleachdadh gus pròiseasan gun chuimhne a chomharrachadh nach bu chòir a bhith fo smachd crìochan nuair a tha an siostam ìosal air cuimhne.
Stèidhichte air an t-siostam cuairteachaidh cuimhne ION a chaidh a chleachdadh ann an Android, chaidh fo-shiostam a chuir an gnìomh cruachan dma-buf, a leigeas leat smachd a chumail air riarachadh bufairean DMA airson raointean cuimhne a cho-roinn eadar draibhearan, tagraidhean agus diofar fo-shiostaman.
Ailtireachd bathar-cruaidh
Taic a bharrachd airson an leudachadh E0PD, a nochd ann an ARMv8.5 agus a leigeas le dìon an aghaidh ionnsaighean co-cheangailte ri coileanadh tuairmeasach stiùireadh air an CPU. Bidh dìon stèidhichte air E0PD a’ leantainn gu dìon os cionn nas ìsle na dìon KPTI (Kernel Page Table Isolation).
Airson siostaman stèidhichte air ailtireachd ARMv8.5, chaidh taic airson stiùireadh RNG a chuir ris, a’ toirt cothrom air gineadair àireamh meallta bathar-cruaidh. Anns an kernel, thathas a ’cleachdadh an stiùireadh RNG gus entropy a ghineadh nuair a thòisicheas tu an gineadair àireamh meallta air thuaiream air a sholarachadh le kernel.
Taic air a thoirt air falbh airson MPX (Leudachain Dìon Cuimhne) air a chur ris san kernel 3.19 agus leigidh e leat sgrùdadh comharran a chuir air dòigh gus dèanamh cinnteach gu bheilear a’ toirt urram do chrìochan raointean cuimhne. Cha deach an teicneòlas seo a chleachdadh gu farsaing ann an luchd-cruinneachaidh agus chaidh a thoirt air falbh bho GCC.
Airson ailtireachd RISC-V, chaidh taic airson inneal deasbaid KASan (Kernel address sanitizer) a chuir an gnìomh, a chuidicheas le bhith ag aithneachadh mhearachdan nuair a bhios tu ag obair le cuimhne.
Uidheam
Taic sònrachaidh air a chuir an gnìomh USB 4.0, a tha stèidhichte air protocol Thunderbolt 3 agus a bheir seachad seachad suas gu 40 Gbps, fhad ‘s a chumas iad co-chòrdalachd air ais le USB 2.0 agus USB 3.2. Ann an coimeas ri Thunderbolt Leigidh eadar-aghaidh USB 4.0 leat diofar phròtacalan a thunail thairis air aon chàball le ceanglaiche Seòrsa-C, a’ toirt a-steach PCIe, Port Taisbeanaidh agus USB 3.x, a bharrachd air buileachadh bathar-bog de phròtacalan, mar eisimpleir, airson ceanglaichean lìonra a chuir air dòigh eadar luchd-aoigheachd. Bidh am buileachadh a’ togail air an draibhear Thunderbolt a tha mar-thà air a ghabhail a-steach don kernel Linux agus ga atharrachadh gus obrachadh le luchd-aoigheachd agus innealan a tha co-chosmhail ri USB4. Bidh na h-atharrachaidhean cuideachd a’ cur taic ri innealan Thunderbolt 3 ri buileachadh bathar-bog a’ Mhanaidsear Ceangal, air a bheil uallach airson tunailean a chruthachadh airson iomadh inneal a cheangal tro aon cheangal.
Ann amdgpu driver air a chur ris taic tùsail airson teicneòlas dìon leth-bhreac HDCP 2.x (Dìon Susbaint Didseatach Àrd-bandwidth). Taic a bharrachd airson chip AMD Pollock ASIC stèidhichte air Raven 2. Cur an gnìomh an comas an GPU ath-shuidheachadh airson teaghlaichean Renoir agus Navi.
DRM driver airson Intel video card air a chur ris Tha taic DSI VDSC airson sgoltagan stèidhichte air microarchitecture Ice Lake agus Tiger Lake, LMEM mmap (cuimhne ionadail inneal) air a chuir an gnìomh, chaidh parsadh VBT (Video BIOS Table) a leasachadh, chaidh taic HDCP 2.2 a chuir an gnìomh airson chips Coffee Lake.
Lean obair air a bhith ag aonachadh còd draibhear amdkfd (airson GPUs air leth, leithid Fiji, Tonga, Polaris) leis an draibhear amdgpu.
Chaidh an draibhear k10temp ath-obrachadh, a ’cur taic ri bhith a’ taisbeanadh bholtachd agus paramadairean gnàthach airson CPUan AMD Zen, a bharrachd air fiosrachadh leudaichte bho luchd-mothachaidh teothachd a thathas a ’cleachdadh ann an Zen agus Zen 2 CPUs.
Anns an nouveau driver air a chur ris taic airson modh luchdachadh firmware dearbhte airson NVIDIA GPUs stèidhichte air an Turing microarchitecture (GeForce RTX 2000), a leig leis taic a thoirt do luathachadh 3D airson na cairtean sin (tha feum air luchdachadh sìos firmware oifigeil le ainm-sgrìobhte didseatach NVIDIA). Taic a bharrachd airson an einnsean grafaiceachd TU10x. Tha duilgheadasan le HD Audio air am fuasgladh.
Taic a bharrachd airson teannachadh dàta nuair a thèid a ghluasad tro DisplayPort MST (Còmhdhail Ioma-shruth).
Driver ùr air a chur ris"aig 11k» airson chips gun uèir Qualcomm a’ toirt taic do 802.11ax.
Tha an draibhear stèidhichte air a’ chruach mac80211 agus a’ toirt taic do phuing-inntrigidh, stèisean-obrach agus modhan nod lìonra mogaill.
Tro sysfs, gheibhear cothrom air leughaidhean mothachaidh teodhachd a thathas a’ cleachdadh air draibhean cruaidh an latha an-diugh agus SSDs.
Air a chuir a-steach atharrachaidhean mòra air siostam fuaim ALSA, ag amas air a bhith a’ cuir às do chòd duilgheadasan ann an 2038 (a’ seachnadh cleachdadh an t-seòrsa time_t 32-bit anns an eadar-aghaidh snd_pcm_mmap_status agus snd_pcm_mmap_control). Taic a bharrachd airson codecs claisneachd ùra
Qualcomm WCD9340 / WCD9341, Realtek RT700, RT711, RT715, RT1308, Ingenic JZ4770.
Air a chur ris draibhearan airson pannalan LCD Logic PD 28, Jimax8729d MIPI-DSI, igenic JZ4770, Sony acx424AKP, Leadtek LTK500HD1829, Xinpeng XPP055C272, AUO B116XAK01, GiantPlus GPM940B0,
BOE NV140FHM-N49,
Satoz SAT050AT40H12R2,
Sharp LS020B1DD01D.
Air a chur ris taic airson bùird ARM agus àrd-ùrlaran Gen1 Amazon Echo (stèidhichte air OMAP3630), Samsung Galaxy S III mini (GT-I8190), Allwinner Emlid Neutis, Libre Computer ALL-H3-IT, PineH64 Model B, Aibretech Amlogic GX PC,
Armada SolidRun Clearfog GTR, NXPGateworks GW59xx,
Leughadair eBook Tolino Shine 3,
Luchd-ealain freumhaichte COM (i.MX7ULP), SolidRun Clearfog CX/ITX agus HoneyComb (LX2160A), Google Coral Edge TPU (i.MX8MQ),
Carrier Rockchip Radxa Dalang, Radxa Rock Pi N10, VMARC RK3399Pro SOM
ST Ericsson HREF520, Inforce 6640, SC7180 IDP, Atmel/Microchip AM9X60 (ARM926 SoC, Kizboxmini), ST stm32mp15, AM3703/AM3715/DM3725, ST Ericsson ab8505, Unisoc SC9863A, SC7180A Taic a bharrachd airson an rianadair PCIe a chaidh a chleachdadh ann an Raspberry Pi 4.
Aig an aon àm, Bunait Bathar-bog Ameireagaidh Laideann air a chruthachadh
roghainn gu tur an-asgaidh kernel 5.6 - Linux-saor 5.6-gnu, air a ghlanadh de firmware agus eileamaidean draibhear anns a bheil co-phàirtean neo-asgaidh no earrannan còd, agus tha an raon cuingealaichte leis an neach-dèanamh. Tha an sgaoileadh ùr a’ cur casg air luchdachadh blob ann an draibhearan airson AMD TEE, ATH11K agus Mediatek SCP. Còd glanadh blob ùraichte ann an draibhearan agus fo-shiostaman AMD PSP, amdgpu agus nouveau.