Linux kernel 5.14

Linux kernel 5.14

Bayan watanni biyu na ci gaba, Linus Torvalds gabatar sakin kwaya Linux 5.14. Daga cikin fitattun canje-canje: sabon quotactl_fd () da memfd_secret() tsarin kiran tsarin, cire IDE da ƙwararrun direbobi, sabon mai kula da fifikon I/O don ƙungiyar, SCHED_CORE yanayin tsara tsarin aiki, abubuwan more rayuwa don ƙirƙirar ingantattun lodin shirin BPF.

Sabuwar sigar ta ƙunshi gyare-gyare 15883 daga masu haɓaka 2002, girman facin shine 69 MB (canje-canjen ya shafi fayilolin 12580, an ƙara layukan lambar 861501, an share layin 321654). Kimanin kashi 47% na duk canje-canjen da aka gabatar a cikin 5.14 suna da alaƙa da direbobin na'ura, kusan 14% na canje-canje suna da alaƙa da sabunta lambar musamman ga kayan gine-ginen kayan aiki, 13% suna da alaƙa da tarin hanyar sadarwar, 3% suna da alaƙa da tsarin fayil, kuma 3% suna da alaƙa da tsarin kernel na ciki.

Main sababbin abubuwa:

  • Tsarin faifai, shigarwa/fitarwa da tsarin fayil:
    • domin kungiya aiwatar sabon mai kula da fifiko na I/O - rq-qos, wanda zai iya sarrafa fifikon sarrafa buƙatun don toshe na'urorin da membobin kowace ƙungiya suka ƙirƙira. An ƙara sabon tallafin mai kulawa mai fifiko zuwa mai tsarawa I/O mq-ƙarami;
    • a kan tsarin fayil na ext4 aiwatar sabon umarnin ioctl EXT4_IOC_CHECKPOINT, wanda ke tilasta duk ma'amaloli masu jiran aiki daga log ɗin da abubuwan da ke da alaƙa zuwa faifai, sannan kuma ya sake rubuta wurin da log ɗin ke amfani da shi. An shirya canjin a matsayin wani ɓangare na yunƙurin hana ɓarna bayanai daga tsarin fayil;
    • in Btrfs gabatar Ingantattun ayyuka: Ta hanyar kawar da shigar da ba dole ba na tsawaita halaye yayin aiwatar da fsync, aikin aiwatar da ingantattun ayyuka tare da ƙarin sifofi ya karu har zuwa 17%. Bugu da ƙari, lokacin yin ayyukan datsa waɗanda ba su da tasiri, ana kashe cikakken aiki tare, wanda ya rage lokacin aiki da kashi 12%. An ƙara saitin zuwa sysfs don iyakance bandwidth I/O lokacin duba FS. Ƙara kira ioctl don soke girman girman da share ayyukan na'urar;
    • in XFS sake yin aiki aiwatar da ma'ajin buffer, wanda aka canjawa wuri zuwa rabon shafukan ƙwaƙwalwar ajiya a yanayin tsari. Ingantaccen aikin cache;
    • F2FS ta ƙara zaɓi don aiki a cikin yanayin karantawa kawai kuma ta aiwatar da yanayin caching na toshe (compress_cache) don haɓaka aikin karantawa bazuwar. An aiwatar da tallafi don matsawa fayilolin da aka tsara zuwa ƙwaƙwalwar ajiya ta amfani da aikin mmap(). Don zaɓi musaki matsawar fayil ta hanyar abin rufe fuska, an gabatar da sabon zaɓi na nocompress;
    • an yi aiki a cikin direba na exFAT don inganta daidaituwa tare da ajiyar wasu kyamarori na dijital;
    • ƙara tsarin kira quotactl_fd(), wanda ke ba ku damar sarrafa ƙididdiga ba ta hanyar fayil ɗin na'ura na musamman ba, amma ta hanyar ƙayyade bayanin fayil ɗin da ke da alaƙa da tsarin fayil ɗin da aka yi amfani da keɓaɓɓun;
    • An cire tsofaffin direbobi don toshe na'urori masu haɗin IDE daga kernel; an daɗe da maye gurbinsu da tsarin tsarin libata. An kiyaye goyon bayan tsofaffin na'urori a cikakke, canje-canjen sun shafi ikon yin amfani da tsofaffin direbobi, lokacin amfani da abin da ake kira / dev / hd *, kuma ba / dev / sd *;
    • An cire direban "danyen" daga kwaya, yana ba da damar da ba a ɓoye ba don toshe na'urori ta hanyar /dev/raw interface. An dade ana aiwatar da wannan aikin a aikace-aikace ta amfani da tutar O_DIRECT;
  • ƙwaƙwalwar ajiya da sabis na tsarin:
    • an aiwatar da sabon yanayin tsarawa a cikin mai tsara ɗawainiya SCHED_CORE, wanda ke ba ka damar sarrafa hanyoyin da za su iya gudana tare a kan CPU guda ɗaya. Kowane tsari ana iya sanya mai gano kuki wanda ke bayyana iyakar amincewa tsakanin matakai (misali, na mai amfani ɗaya ko akwati). Lokacin shirya kisa na code, mai tsara tsarin zai iya tabbatar da cewa an raba ainihin CPU guda ɗaya kawai tsakanin hanyoyin da ke da alaƙa da mai shi ɗaya, wanda za'a iya amfani dashi don toshe wasu hare-haren Specter ta hanyar hana ayyuka masu aminci da marasa aminci daga gudana akan zaren SMT (Hyper Threading). ;
    • don tsarin ƙungiya, an aiwatar da tallafi don aikin kashewa, wanda ke ba ku damar kashe duk hanyoyin da ke da alaƙa da ƙungiyar a lokaci ɗaya (aika SIGKILL) ta rubuta "1" zuwa fayil ɗin kama-da-wane cgroup.kill;
    • fadada damar da ke da alaƙa da amsa ga gano makullai masu tsaga ("makullai masu tsaga") waɗanda ke faruwa lokacin samun bayanan da ba a haɗa su ba a cikin ƙwaƙwalwar ajiya saboda gaskiyar cewa lokacin aiwatar da umarnin atomic, bayanan sun ketare layin cache guda biyu na CPU. Irin wannan toshewa yana haifar da raguwar aiki mai mahimmanci, don haka a baya yana yiwuwa a dakatar da aikace-aikacen da karfi da karfi wanda ya haifar da toshewa. Sabuwar sakin tana ƙara ma'aunin layin umarni na kernel “split_lock_detect=ratelimit:N”, wanda ke ba ku damar ayyana ƙayyadaddun ƙayyadaddun tsarin kan ƙimar ayyukan kullewa a cikin daƙiƙa guda, bayan haka duk wani tsari da ya zama tushen tsaga kulle zai kasance. a tilasta tsayawa don 20 ms maimakon ƙarewa;
    • CFS mai kula da bandwidth cgroup (CFS bandwidth mai kula), wanda ke ƙayyade adadin lokacin sarrafawa da za a iya kasaftawa ga kowane gungun, yana da ikon ayyana iyakoki da aka iyakance ta lokacin da aka ba da aiki, wanda ke ba da damar mafi kyawun tsari na latency-m lodi. Misali, saita cpu.cfs_quota_us zuwa 50000 da cpu.cfs_period_us zuwa 100000 zai ba da damar rukunin matakai don bata 100ms na CPU lokaci kowane 50ms;
    • kara da cewa kayan aikin farko don ƙirƙirar masu lodin shirin BPF, wanda zai ƙara ba da damar zazzage shirye-shiryen BPF kawai da aka sanya hannu tare da amintaccen maɓalli na dijital;
    • ya kara da wani sabon aikin futex FUTEX_LOCK_PI2, wanda ke amfani da na'ura mai ƙididdigewa don ƙididdige lokaci, wanda yayi la'akari da lokacin da tsarin ya kashe a yanayin barci;
    • don gine-ginen RISC-V, tallafi don manyan shafukan ƙwaƙwalwar ajiya (Transparent Huge-Pages) da ikon yin amfani da KFENCE don gano kurakurai lokacin aiki tare da ƙwaƙwalwar ajiya;
    • cikin kiran tsarin madvise (), wanda ke ba da hanya don inganta sarrafa ƙwaƙwalwar ajiya, kara da cewa MADV_POPULATE_READ da MADV_POPULATE_WRITE tutoci don samar da "laifi shafi" akan duk shafukan da aka tsara don karantawa ko rubuta ayyukan, ba tare da yin ainihin karantawa ko rubuta ba (prefault). Yin amfani da tutoci na iya zama da amfani don rage jinkiri a cikin aiwatar da shirin, godiya ga aiwatar da aiwatar da aiwatar da "laifi na shafi" ga duk shafukan da ba a raba su lokaci daya ba, ba tare da jiran ainihin damar yin amfani da su ba;
    • a cikin tsarin gwajin naúrar kunit kara da cewa goyan bayan gwaje-gwaje masu gudana a cikin yanayin QEMU;
    • sababbin masu binciken sun kara da cewa: "tashin hankali"don bin diddigin jinkirin aikace-aikacen da ke haifar da katsewa, da "timerlat" don nuna cikakken bayani game da jinkiri lokacin tashi daga siginar mai ƙidayar lokaci;
  • iyawa da tsaro:
    • ya kara da cewa tsarin kira sirrin memfd(), wanda ke ba ka damar ƙirƙirar wurin ƙwaƙwalwar ajiya mai zaman kansa a cikin keɓantaccen adireshin adireshin, wanda ake iya gani kawai ga tsarin mai shi, ba a nunawa a cikin wasu matakai kuma ba kai tsaye zuwa kernel ba;
    • a cikin tsarin tantancewar kira na seccomp, lokacin da ake matsar da masu kulle kulle zuwa sarari mai amfani, yana yiwuwa a yi amfani da aikin atomic guda ɗaya don ƙirƙirar bayanin fayil don keɓantaccen ɗawainiya da mayar da shi lokacin sarrafa kiran tsarin. Aikin da aka tsara yana warwarewa matsala tare da katse mai sarrafa a cikin sarari mai amfani lokacin da sigina ta zo;
    • ya kara da cewa sabon tsari don sarrafa iyakacin albarkatu a cikin sarari sunan ID na mai amfani, wanda ke ɗaure ƙididdiga na kowane mutum ga mai amfani a cikin "spacenamespace". Canjin yana warware matsalar tare da yin amfani da ƙididdiga na gama gari lokacin da mai amfani ɗaya ke tafiyar da tsari a cikin kwantena daban-daban;
    • da KVM hypervisor don tsarin ARM64 ya kara da ikon yin amfani da MTE (MemTag, Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwararren Ƙwaƙwalwa ) na Ƙarfafawa na Ƙaƙwalwa na Ƙaƙwalwa na Ƙaƙwalwa . raunin da ya haifar ta hanyar samun dama ga tubalan ƙwaƙwalwar ajiya da aka riga aka saki, da cikar buffers, samun dama kafin farawa da amfani da waje da mahallin yanzu;
    • Ƙididdiga mai nuni wanda dandamalin ARM64 ya samar yanzu ana iya daidaita shi daban don kernel da sarari mai amfani. Fasahar tana ba ku damar amfani da umarnin ARM64 na musamman don tabbatar da adiresoshin dawowa ta amfani da sa hannun dijital waɗanda aka adana a cikin manyan raƙuman da ba a yi amfani da su ba na mai nuni da kanta;
    • a cikin User-mode Linux kara da cewa goyan bayan amfani da direbobi don na'urorin PCI tare da bas ɗin PCI mai kama-da-wane, wanda direban PCI-over-virtio ya aiwatar;
    • don tsarin x86, ƙarin tallafi ga na'urar paravirtualized virtio-iommu, wanda ke ba ku damar aika buƙatun IOMMU, kamar ATTACH, DETACH, MAP da UNMAP, akan jigilar fasinja ba tare da kwaikwayi teburin shafi na ƙwaƙwalwar ajiya ba;
    • Don Intel CPUs, daga dangin Skylake zuwa Kogin Kofi, amfani da Intel TSX (Extensions Aiki tare na Kasuwanci), wanda ke ba da kayan aiki don haɓaka ayyukan aikace-aikacen zaren da yawa ta hanyar kawar da ayyukan daidaitawa mara amfani, an kashe su ta tsohuwa. Ana kashe kari saboda yuwuwar kai hari Zombieload, yin amfani da leaks na bayanai ta hanyar tashoshi na ɓangare na uku wanda ke faruwa a lokacin aikin na'ura don katsewar asynchronous (TAA, TSX Asynchronous Abort);
  • tsarin cibiyar sadarwa:
    • ci gaba da haɗawa cikin ainihin 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 hanyar hanyoyin sadarwa daban-daban masu alaƙa da adiresoshin IP daban-daban. A cikin sabon fitowar ya kara da cewa wata hanya don saita manufofin hashing na zirga-zirgar ku don IPv4 da IPv6 (manufofin hash multipath), yana ba da damar daga sararin mai amfani don tantance ko wane fakitin fakiti, gami da waɗanda aka rufe, za a yi amfani da su yayin ƙididdige hash ɗin da ke ƙayyade zaɓin hanya. don fakiti;
    • an ƙara goyan bayan soket zuwa yanayin jigilar kaya SOCK_SEQPACKET (a tsari da ingantaccen watsa bayanai na bayanai);
    • An faɗaɗa ƙarfin injin soket na SO_REUSEPORT, wanda ke ba da damar saurara da yawa don haɗawa zuwa tashar jiragen ruwa ɗaya lokaci ɗaya don karɓar haɗin gwiwa tare da rarraba buƙatun masu shigowa lokaci guda a duk kwas ɗin da aka haɗa ta SO_REUSEPORT, wanda ke sauƙaƙe ƙirƙirar aikace-aikacen uwar garken masu zare da yawa. . A cikin sabon sigar kara da cewa ma'ana don canja wurin sarrafawa zuwa wani soket idan ya gaza lokacin aiwatar da buƙatun ta soket ɗin da aka zaɓa na farko (yana magance matsalar tare da asarar haɗin haɗin kai yayin sake kunna sabis);
  • kayan aiki:
    • a cikin direban amdgpu aiwatar goyon baya ga sabon AMD Radeon RX 6000 jerin GPUs, mai suna "Beige Goby" (Navi 24) da "Yellow Carp", da kuma ingantaccen tallafi ga Aldebaran GPU (gfx90a) da Van Gogh APU. Ƙara ikon yin aiki lokaci guda tare da bangarori na eDP da yawa. Don APU Renoir, an aiwatar da goyan bayan aiki tare da ɓoyayyen ɓoyayyen ɓoyayyen ƙwaƙwalwar bidiyo (TMZ, Ƙwararren Ƙwararren Ƙwararren Ƙwaƙwalwa). Ƙara goyon baya don katunan zane mai zafi-cushe. Don Radeon RX 6000 (Navi 2x) GPUs da tsofaffin AMD GPUs, tallafi ga ASPM (Active State Power Management) tsarin ceton wutar lantarki yana kunna ta tsohuwa, wanda a baya an kunna shi kawai don Navi 1x, Vega da Polaris GPUs;
    • don kwakwalwan kwamfuta na AMD, an ƙara tallafi don ƙwaƙwalwar ajiya mai mahimmanci (SVM, ƙwaƙwalwar ajiyar ƙwaƙwalwar ajiya) dangane da tsarin HMM (Herogeneous memory management), wanda ke ba da damar yin amfani da na'urori tare da na'urorin sarrafa ƙwaƙwalwar ajiya (MMU, sashin kula da ƙwaƙwalwar ajiya), wanda zai iya shiga babban ƙwaƙwalwar ajiya. Ciki har da yin amfani da HMM, za ku iya tsara sararin adireshi mai raba tsakanin GPU da CPU, wanda GPU zai iya samun dama ga babban ƙwaƙwalwar ajiyar tsari;
    • ƙara goyon bayan fasaha na farko AMD Smart Shift, wanda ke canza yanayin amfani da wutar lantarki na CPU da GPU akan kwamfyutocin kwamfyutoci tare da kwakwalwan kwamfuta da katin zane na AMD don haɓaka aiki lokacin wasan kwaikwayo, gyaran bidiyo da ma'anar 3D;
    • a cikin direban i915 don katunan bidiyo na Intel hada da goyon baya ga kwakwalwan kwamfuta na Intel Alderlake P;
    • ƙara drm/hyperv direba don Hyper-V kama-da-wane graphics adaftan;
    • ya kara da cewa Easydrm graphics direban da ke amfani da EFI-GOP ko VESA framebuffer wanda UEFI firmware ko BIOS ke bayarwa don fitarwa. Babban manufar direban shine don samar da damar fitarwa ta hoto yayin matakan farko na taya, kafin a iya amfani da cikakken direban DRM. Hakanan za'a iya amfani da direba azaman mafita na ɗan lokaci don kayan aikin waɗanda har yanzu basu da direbobin DRM na asali;
    • kara da cewa goyan bayan kwamfuta gabaɗaya Rasberi PI 400;
    • Ƙara direban sirri na dell-wmi don tallafawa kamara da maɓallan kayan aikin makirufo da aka haɗa cikin kwamfyutocin Dell;
    • don kwamfutar tafi-da-gidanka na Lenovo ya kara da cewa WMI dubawa don canza sigogi na BIOS ta hanyar sysfs / sys/class/firmware-attributes/;
    • fadada goyon baya ga na'urori tare da kebul na USB4;
    • kara da cewa goyon bayan katunan sauti da codecs AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 da Texas Instruments TAS2505. Ingantattun tallafin sauti akan kwamfyutocin HP da ASUS. Kara faci don rage jinkiri kafin sauti ya fara kunna akan na'urori tare da kebul na USB.

Source - opennet.ru.

source: linux.org.ru