Linux 5.7 kernel saki

Bayan watanni biyu na ci gaba, Linus Torvalds gabatar sakin kwaya Linux 5.7. Daga cikin manyan canje-canje masu mahimmanci: sabon aiwatar da tsarin fayil na exFAT, tsarin bareudp don ƙirƙirar ramukan UDP, kariya dangane da ingantaccen nuni don ARM64, ikon haɗa shirye-shiryen BPF zuwa masu sarrafa LSM, sabon aiwatar da Curve25519, raba- Mai gano makullin, daidaitawar BPF tare da PREEMPT_RT, cire iyaka akan girman layin haruffa 80 a cikin lambar, la'akari da alamun zazzabi na CPU a cikin mai tsara ɗawainiya, ikon yin amfani da clone () don haɓaka tafiyar matakai a cikin wani rukuni, kariya daga rubutu. zuwa ƙwaƙwalwar ajiya ta amfani da userfaultfd.

Sabuwar sigar ta ƙunshi gyara 15033 daga masu haɓakawa 1961,
girman faci - 39 MB (canje-canjen sun shafi fayilolin 11590, an ƙara layin lambar 570560,
297401 an cire layuka). Kusan 41% na duk an gabatar da su a cikin 5.7
canje-canje suna da alaƙa da direbobin na'ura, kusan kashi 16% na canje-canje suna
Halin sabunta lambar musamman ga kayan gine-ginen kayan aiki, 13%
masu alaƙa da tarin cibiyar sadarwa, 4% zuwa tsarin fayil da 4% zuwa ciki
kernel subsystems.

Main sababbin abubuwa:

  • Tsarin Disk, I/O da Tsarin Fayil
    • An ƙara sabon aiwatar da direban exFAT, kafa bisa tushen lambar “sdfat” (2.x) na yanzu wanda Samsung ya haɓaka don wayoyin hannu na Android. Direban da aka ƙara a baya a kernel ya dogara ne akan gadar Samsung code (version 1.2.9) kuma yana kusan 10% a bayan sabon direban a cikin aiki. Bari mu tuna cewa ƙara tallafin exFAT zuwa kernel ya yiwu bayan Microsoft aka buga ƙayyadaddun bayanai na jama'a kuma an samar da takaddun haƙƙin mallaka na exFAT don amfanin kyauta na sarauta akan Linux.
    • Btrfs yana aiwatar da sabon umarni ioctl() - BTRFS_IOC_SNAP_DESTROY_V2, wanda ke ba ka damar share wani yanki ta hanyar gano shi. An bayar da cikakken goyan baya don ma'aunin layi na cloning. An faɗaɗa adadin wuraren sokewa don ayyukan sake rarrabawa, wanda ya rage dogon jira lokacin aiwatar da umarnin 'cancel balance'. An ƙara haɓaka ƙayyadaddun hanyoyin haɗin baya zuwa iyaka (misali, lokacin aiwatar da rubutun gwajin ya ragu daga awa ɗaya zuwa mintuna da yawa). An ƙara ikon haɗa iyakokin fayil zuwa kowane inode itace. An sake fasalin tsarin toshewar da aka yi amfani da shi lokacin rubutawa zuwa sassa da kuma lokacin ban da NOCOW. Ingantacciyar ingantaccen aiwatar da fsync don jeri.
    • XFS ya inganta binciken metadata da fsck don ɓangarori masu aiki. An ba da shawarar ɗakin karatu don sake gina tsarin btree, wanda a nan gaba za a yi amfani da shi don sake yin aikin xfs_repair da aiwatar da yuwuwar dawowa ba tare da cire ɓangaren ba.
    • An ƙara goyan bayan gwaji don sanya ɓangaren musanyawa a ma'ajiyar SMB3 zuwa CIFS. An aiwatar da kari na POSIX zuwa readdir, wanda aka ayyana a cikin ƙayyadaddun SMB3.1.1. Inganta aikin rubutu don shafuka 64KB lokacin da aka kunna cache=tsatsewar yanayi kuma ana amfani da nau'ikan yarjejeniya 2.1+.
    • FS EXT4 an canza shi daga bmap da iopol zuwa amfani da iomap.
    • F2FS yana ba da tallafi na zaɓi don matsawa bayanai ta amfani da zstd algorithm. Ta hanyar tsoho, ana amfani da LZ4 algorithm don matsawa. Ƙara goyon baya ga umarnin "chatr -c Committee". An ba da nunin lokacin hawa. An ƙara ioctl F2FS_IOC_GET_COMPRESS_BLOCKS don samun bayani game da adadin tubalan da aka matsa. Ƙara fitar da bayanan matsawa ta hanyar statx.
    • Tsarin fayil na Ceph ya ƙara ikon yin ƙirƙirar fayil a gida da ayyukan sharewa (cire haɗin kai) ba tare da jiran amsa daga sabar ba (aiki a cikin yanayin asynchronous). Canjin, alal misali, na iya haɓaka aiki sosai yayin gudanar da kayan aikin rsync.
    • An ƙara ikon yin amfani da virtiofs azaman babban tsarin fayil ɗin zuwa OVERLAYFS.
    • An sake rubutawa lambar wucewa ta hanya a cikin VFS, an sake yin aiki da lambar tantance hanyar haɗi ta alama, kuma an haɗa ƙetaren tudu.
    • A cikin tsarin tsarin scsi ga masu amfani marasa gata a yarda aiwatar da umarnin ZBC.
    • A cikin dm_writecache aiwatar ikon share cache a hankali bisa ma'aunin max_age, wanda ke saita iyakar rayuwar toshe.
    • A cikin dm_mutunci kara da cewa goyon baya ga aikin "jifar".
    • A cikin null_blk kara da cewa goyon baya don maye gurbin kuskure don kwatanta gazawar yayin gwaji.
    • Kara ikon aika sanarwar udev game da toshe girman canjin na'urar.
  • Tsarin hanyar sadarwa
    • Netfilter ya haɗa canji, yana hanzarta aiwatar da manyan jerin wasannin (nftables sets), waɗanda ke buƙatar bincika haɗin haɗin haɗin gwiwa, tashoshin sadarwa, yarjejeniya da adiresoshin MAC.
      Ingantawa gabatar a cikin nft_set_pipapo (PIle PAcket POlicies), wanda ke magance matsalar daidaita abubuwan da ke cikin fakiti tare da jeri na filin filin sabani da aka yi amfani da su wajen tace ka'idojin, kamar IP da jeri na tashar jiragen ruwa (nft_set_rbtree da nft_set_hash suna sarrafa tazarar matching da kuma nuna dabi'u kai tsaye. ). Sigar Pipapo vectorized ta amfani da umarnin AVX256 2-bit akan tsarin tare da na'ura mai sarrafa AMD Epyc 7402 ya nuna haɓakar aikin 420% lokacin da ake tantance bayanan 30 gami da haɗin haɗin yarjejeniya ta tashar jiragen ruwa. Haɓakawa lokacin da aka kwatanta haɗin haɗin subnet da lambar tashar jiragen ruwa lokacin da ake tantance bayanan 1000 shine 87% don IPv4 da 128% don IPv6.

    • Kara bareudp module, wanda ke ba ku damar ɗaukar ka'idojin L3 daban-daban, kamar MPLS, IP da NSH, cikin rami na UDP.
    • Haɗin abubuwan MPTCP (MultiPath TCP), haɓaka ƙa'idar TCP don tsara aikin haɗin TCP tare da isar da fakiti a lokaci guda tare da hanyoyi da yawa ta hanyoyin mu'amalar hanyar sadarwa daban-daban waɗanda ke daure da adiresoshin IP daban-daban, ya ci gaba.
    • Kara goyan bayan hanyoyin haɓaka kayan aiki don haɗa firam ɗin Ethernet a cikin 802.11 (Wi-Fi).
    • Lokacin matsar da na'ura daga sararin sunan cibiyar sadarwa zuwa wani, ana daidaita haƙƙin samun dama da mallakin fayilolin da suka dace a cikin sysfs.
    • An ƙara ikon amfani da tutar SO_BINDTODEVICE don masu amfani da ba tushen tushe ba.
    • An karɓi kashi na uku na faci, suna canza kayan aikin ethtool daga ioctl() zuwa yin amfani da hanyar sadarwa ta netlink. Sabuwar hanyar sadarwa tana sauƙaƙa don ƙara haɓakawa, inganta sarrafa kurakurai, ba da damar aika sanarwa lokacin da canje-canjen jihohi, sauƙaƙe hulɗa tsakanin kernel da sarari mai amfani, kuma yana rage adadin jerin sunayen da ake buƙatar aiki tare.
    • An ƙara ikon yin amfani da na'urorin haɓaka kayan aiki na musamman don aiwatar da ayyukan sa ido kan haɗin gwiwa.
    • A cikin netfilter ya kara da cewa ƙugiya don haɗa nau'ikan fakiti masu fita (egress), wanda ya dace da ƙugiya na baya don fakiti masu shigowa (shiga).
  • Hankali da Tsaro
    • Ƙaddara aiwatar da kayan aikin tantancewa (Tabbatar da Nuni), wanda ke amfani da umarnin ARM64 na musamman na CPU don kare kai daga hare-hare ta amfani da dabarun dawo da shirye-shirye (ROP), wanda maharin baya ƙoƙarin sanya lambarsa a ƙwaƙwalwar ajiya, amma yana aiki akan guntun umarnin injin da aka riga aka samu a cikin ɗakunan karatu, yana ƙarewa. tare da umarnin dawo da sarrafawa. Tsaro ya sauko zuwa amfani da sa hannun dijital don tabbatar da adiresoshin dawowa a matakin kernel. Ana adana sa hannun a cikin ɓangarorin saman da ba a yi amfani da su ba na mai nuni da kanta. Ba kamar aiwatar da software ba, ƙirƙira da tabbatar da sa hannun dijital ana aiwatar da su ta amfani da umarnin CPU na musamman.
    • Kara ikon kare yankin ƙwaƙwalwar ajiya daga rubutawa ta amfani da tsarin tsarin userfaultfd (), wanda aka ƙera don ɗaukar kurakuran shafi (samar da shafuffukan ƙwaƙwalwar ajiya da ba a ware ba) a cikin sararin mai amfani. Manufar ita ce a yi amfani da userfaultfd () duka biyu don gano cin zarafi zuwa shafukan da aka yi wa alama a matsayin kariya da kuma kiran mai sarrafa wanda zai iya amsa irin waɗannan yunƙurin rubuta (misali, don gudanar da canje-canje yayin ƙirƙirar hotuna masu rai na tafiyar matakai, jihar). kama lokacin zubar da ƙwaƙwalwar ajiya zuwa faifai, aiwatar da ƙwaƙwalwar ajiya, bin canje-canje a ƙwaƙwalwar ajiya). Ayyuka daidai ta amfani da mprotect() tare da mai sarrafa siginar SIGSEGV, amma yana aiki da sauri da sauri.
    • SELinux ya lalata ma'aunin "checkreqprot", wanda ke ba ku damar kashe binciken kariyar ƙwaƙwalwar ajiya lokacin aiwatar da ƙa'idodin (ba da izinin amfani da wuraren ƙwaƙwalwar ajiya, ba tare da la'akari da ƙa'idodin da aka kayyade a cikin ƙa'idodi ba). Kernfs symlinks an yarda su gaji mahallin kundayen adireshi na iyayensu.
    • A abun da ke ciki hada koyaushe KRSI, wanda ke ba ka damar haɗa shirye-shiryen BPF zuwa kowane ƙugiya na LSM a cikin kwaya. Canjin yana ba ku damar ƙirƙirar samfuran LSM (Module Tsaro na Linux) a cikin nau'ikan shirye-shiryen BPF don warware matsalolin dubawa da kulawar samun dama ta tilas.
    • An aiwatar Yana haɓaka aikin / dev/ bazuwar ta hanyar daidaita ƙimar CRNG maimakon kiran umarnin RNG daban-daban. Inganta aikin getrandom da /dev/random akan tsarin ARM64 yana ba da umarnin RNG.
    • Aiwatar da lanƙwan elliptic Curve25519 maye gurbinsu don zaɓi daga ɗakin karatu HACL, wanda aka ba hujjar ilmin lissafi na tabbatar da dogaro na yau da kullun.
    • Kara tsarin don ba da labari game da shafukan ƙwaƙwalwar ajiya kyauta. Yin amfani da wannan tsarin, tsarin baƙo na iya watsa bayanai game da shafukan da ba a yi amfani da su ba ga tsarin runduna, kuma mai watsa shiri na iya mayar da bayanan shafin.
    • A cikin vfio/pc kara da cewa goyon baya ga SR-IOV (Single-Root I/O Virtualization).
  • Ƙwaƙwalwar ajiya da sabis na tsarin
    • Daga haruffa 80 zuwa 100 ya karu iyakance akan iyakar tsayin layi a cikin rubutun tushe. A lokaci guda, ana ba da shawarar masu haɓakawa su kasance cikin haruffa 80 a kowane layi, amma wannan ba ƙaramin iyaka bane. Bugu da kari, wucewar iyakar girman layin yanzu zai haifar da gargadin ginawa kawai idan an gudanar da rajistan shiga tare da zaɓin '--tsauri'. Canjin zai ba da damar kada a raba hankalin masu haɓakawa ta magudi tare da sarari kuma jin ƙarin 'yanci lokacin daidaita lamba, haka ma zai hana wuce gona da iri karya line, damuwa fahimtar lambar da bincike.
    • Kara goyan bayan EFI gauraye yanayin taya, wanda ke ba ku damar ɗora kernel 64-bit daga firmware 32-bit da ke gudana akan CPU 64-bit ba tare da amfani da bootloader na musamman ba.
    • Kunshe tsarin ganowa da kuma gyara makullin tsagaggen ("kulle kulle"), wanda ke faruwa lokacin samun damar bayanan da ba a haɗa su cikin ƙwaƙwalwar ajiya ba saboda gaskiyar cewa lokacin aiwatar da umarnin atomic, bayanan sun ketare layin cache guda biyu na CPU. Irin wannan toshewar yana haifar da gagarumin aikin da aka samu (1000 hawan keke a hankali fiye da aikin atomic akan bayanan da ya faɗi cikin layin cache ɗaya). Dangane da ma'aunin boot na "split_lock_detect", kernel na iya gano irin waɗannan makullai akan tashi da bayar da gargaɗi ko aika siginar SIGBUS zuwa aikace-aikacen da ke haifar da kullewa.
    • Mai tsara ɗawainiya yana ba da bin diddigin na'urori masu auna zafin jiki (Matsin zafi) da kuma aiwatar da la'akari da yawan zafi lokacin sanya ayyuka. Yin amfani da kididdigar da aka bayar, gwamnan thermal na iya daidaita matsakaicin matsakaicin adadin CPU lokacin da aka yi zafi sosai, kuma mai tsara aikin yanzu yana la'akari da raguwar ikon sarrafa kwamfuta saboda irin wannan raguwar mita lokacin tsara ayyuka don gudana (a baya, mai tsarawa ya amsa canje-canje. a akai-akai tare da wani jinkiri, na ɗan lokaci yin yanke shawara dangane da zato mai ƙima game da albarkatun kwamfuta da ake da su).
    • Mai tsara aikin ya haɗa da alamomi masu banƙyama lura da lodi, yana ba ka damar kimanta nauyin daidai, ba tare da la’akari da mitar aiki na CPU na yanzu ba. Canjin yana ba ku damar yin hasashen hasashen ɗawainiya daidai da yanayin canje-canje masu ƙarfi a cikin ƙarfin lantarki da mitar CPU. Misali, aikin da ya cinye 1/3 na albarkatun CPU a 1000 MHz zai cinye 2/3 na albarkatun lokacin da mitar ta ragu zuwa 500 MHz, wanda a baya ya haifar da zato na ƙarya cewa yana aiki da cikakken iko (watau ayyuka sun bayyana. ya fi girma zuwa mai tsarawa kawai ta hanyar rage yawan mita, wanda ya haifar da yanke shawarar da ba daidai ba a cikin schedutil cpufreq gwamna).
    • An canza direban Intel P-state, wanda ke da alhakin zaɓin yanayin aiki, don amfani shirin.
    • An aiwatar da ikon yin amfani da ƙaramin tsarin BPF lokacin da kernel ke gudana a ainihin lokacin (PREEMPT_RT). A baya, lokacin da aka kunna PREEMPT_RT, ana buƙatar BPF a kashe.
    • An ƙara sabon nau'in shirin BPF - BPF_MODIFY_RETURN, wanda za'a iya haɗa shi zuwa wani aiki a cikin kernel kuma canza ƙimar da wannan aikin ya dawo.
    • Kara damar Yin amfani da kiran tsarin clone3 () don ƙirƙirar tsari a cikin ƙungiyar da ta bambanta da ƙungiyar iyaye, ƙyale tsarin iyaye don amfani da ƙuntatawa da ba da damar lissafin kuɗi nan da nan bayan haifar da sabon tsari ko zaren. Misali, manajan sabis na iya keɓance sabbin ayyuka kai tsaye don raba ƙungiyoyi, kuma sabbin matakai, lokacin da aka sanya su cikin ƙungiyoyin “daskararre”, za a dakatar da su nan da nan.
    • in Kbuild kara da cewa goyan baya ga canjin yanayi "LLVM=1" don canzawa zuwa kayan aikin Clang/LLVM lokacin gina kwaya. An ɗaga buƙatun sigar binutils (2.23).
    • An ƙara wani sashe /sys/kernel/debug/kunit/ zuwa debugfs tare da sakamakon gwajin kunit.
    • Ƙara siginar boot na kernel pm_debug_messages (mai kama da / sys/power/pm_debug_messages), wanda ke ba da damar fitar da bayanan ɓoyayyen aiki game da tsarin sarrafa wutar lantarki (yana da amfani lokacin da za a gyara matsalolin tare da ɓoyewa da yanayin jiran aiki).
    • Zuwa ga mahaɗin I/O mai asynchronous io_ring goyon baya kara yanki() и zabin buffer atomic.
    • Ingantattun bayanan rukuni ta amfani da kayan aikin perf. A baya can, perf zai iya bayanin ayyuka ne kawai a cikin takamaiman rukuni kuma ya kasa gano ko wane rukuni ne samfurin na yanzu yake. perf yanzu yana karɓar bayanan rukuni na kowane samfurin, yana ba ku damar yin bayanin rukuni fiye da ɗaya kuma kuyi amfani da rarrabuwa ta hanyar.
      rukuni a cikin rahotanni.

    • cgroupfs, pseudo-FS don gudanar da ƙungiyoyi, ya ƙara tallafi don ƙarin halaye (xattrs), wanda, alal misali, zaku iya barin ƙarin bayani ga masu sarrafa a cikin sararin mai amfani.
    • A cikin rukuni mai sarrafa ƙwaƙwalwar ajiya ya kara da cewada goyan bayan kariyar maimaitawa na ƙimar "memory.low", wanda ke daidaita mafi ƙarancin adadin RAM da aka bayar ga membobin rukuni. Lokacin hawa matsayi na rukuni tare da zaɓin "memory_recursiveprot", ƙimar "memory.low" da aka saita don ƙananan nodes za a rarraba ta atomatik zuwa duk nodes na yara.
    • Kara Tsarin Uacce (Haɗin kai/Mai amfani da sararin samaniya-da niyya mai haɓaka Tsarin Haɗawa) don raba adiresoshin kama-da-wane (SVA, Adireshin Mahimmanci) tsakanin CPU da na'urori na gefe, yana barin masu haɓaka kayan masarufi don samun damar tsarin bayanai a cikin babban CPU.
  • Hardware architectures
    • Don gine-ginen ARM, ana aiwatar da ikon yin amfani da ƙwaƙwalwar zafi mai zafi.
    • Don gine-ginen RISC-V, an ƙara tallafi don toshe zafi da cire CPUs (CPU hotplug). Don 32-bit RISC-V, eBPF JIT ana aiwatar da shi.
    • An cire ikon yin amfani da tsarin ARM 32-bit don gudanar da wuraren baƙo na KVM.
    • An cire aiwatar da "dummy" NUMA don gine-ginen s390, wanda ba a sami wasu lokuta masu amfani ba don cimma ingantaccen aiki.
    • Don ARM64, ƙarin tallafi don haɓakar AMU (Ayyukan Kula da Ayyuka), wanda aka ayyana a cikin ARMv8.4 da kuma samar da ƙididdiga masu ƙididdigewa waɗanda ake amfani da su don ƙididdige abubuwan gyare-gyaren mitar mitar a cikin mai tsara ɗawainiya.
  • Kayan aiki
    • Kara goyan bayan na'urorin vDPA waɗanda ke amfani da tashar musayar bayanai wanda ya dace da ƙayyadaddun ƙayyadaddun virtio. Na'urorin vDPA na iya zama ko dai kayan aikin da aka haɗa ta jiki ko na'urori masu kama da software.
    • A cikin tsarin GPIO ya bayyana sabon ioctl() umarni don sa ido kan canje-canje, yana ba ku damar sanar da tsari game da canje-canje a cikin yanayin kowane layin GPIO. A matsayin misali na amfani da sabon umarni samarwa gpio-watch mai amfani.
    • A cikin i915 DRM direba don katunan bidiyo na Intel hada da tallafin tsoho don kwakwalwan kwamfuta na Tigerlake ("Gen12") da ƙarin tallafi na farko don sarrafa hasken baya na OLED. Ingantattun tallafi don tafkin Ice, Lake Elkhart, Baytrail da kwakwalwan kwamfuta na Haswell.
    • A cikin direban amdgpu kara da cewa ikon loda firmware cikin guntu USBC don ASIC. Ingantattun tallafi don kwakwalwan kwamfuta na AMD Ryzen 4000 "Renoir". Yanzu akwai tallafi don sarrafa bangarorin OLED. An ba da nunin matsayin firmware a cikin debugfs.
    • An ƙara ikon amfani da OpenGL 4 a cikin tsarin baƙo zuwa vmwgfx DRM direba don tsarin VMware (wanda a baya an sami tallafin OpenGL 3.3).
    • An ƙara sabon tidss direban DRM don tsarin nunin dandamali na TI Keystone.
    • Direbobin da aka ƙara don bangarorin LCD: Feixin K101 IM2BA02, Samsung s6e88a0-ams452ef01, Novatek NT35510, Elida KD35T133, EDT, NewEast Optoelectronics WJFH116008A, Rocktech RK101T01, EDT, Fri350D Fri54004D
    • Zuwa tsarin sarrafa wutar lantarki kara da cewa goyon baya ga tushen Atom na tushen Intel Jasper Lake (JSL).
    • Ƙarin tallafi don kwamfutar tafi-da-gidanka na Pinebook Pro bisa Rockchip RK3399, Pine64 PineTab kwamfutar hannu da wayoyin hannu Gagarinka dangane da Allwinner A64.
    • Ƙara goyon baya don sababbin codecs na audio da kwakwalwan kwamfuta:
      Amlogic AIU, Amlogic T9015, Texas Instruments TLV320ADCX140, Realtek RT5682, ALC245, Broadcom BCM63XX I2S, Maxim MAX98360A, Presonus Studio 1810c, MOTU MicroBook IIc.

    • Ƙara goyon baya ga allon ARM da dandamali Qualcomm Snapdragon 865 (SM8250), IPQ6018, NXP i.MX8M Plus, Kontron "sl28", 11 i.MX6 TechNexion Pico zažužžukan hukumar, sababbin zaɓuɓɓukan Toradex Colibri guda uku, Samsung S7710 Galaxy Xcover 2 bisa ST -Ericsson u8500, DH Electronics DHCOM SoM da PDK2, Renesas M3ULCB, Hoperun HiHope, Linutronix Testbox v2, PocketBook Touch Lux 3.

source: budenet.ru

Add a comment