I-WD ithuthukisa umshayeli we-NVMe eRust. Ukuhlola i-Rust ku-FreeBSD

Engqungqutheleni eqhubekayo ye-Linux Plumbers 2022 kulezi zinsuku, unjiniyela ovela eWestern Digital wenze isethulo mayelana nokuthuthukiswa komshayeli wokuhlola wama-NVM-Express (NVMe) SSD abhalwe nge-Rust futhi asebenza ezingeni le-Linux kernel. Naphezu kokuthi iphrojekthi isesigabeni sokuqala sokuthuthukiswa, ukuhlolwa okwenziwe kubonise ukuthi ukusebenza komshayeli we-Rust NVMe kuhambisana nomshayeli we-NVMe obhalwe ku-C ku-kernel.

I-WD ithuthukisa umshayeli we-NVMe eRust. Ukuhlola i-Rust ku-FreeBSD
I-WD ithuthukisa umshayeli we-NVMe eRust. Ukuhlola i-Rust ku-FreeBSD

Umbiko uthi umshayeli wamanje we-NVMe ku-C ugculisa ngokuphelele konjiniyela, kodwa uhlelo olungaphansi lwe-NVMe luyinkundla enhle yokuhlola ukuthi kungenzeka yini ukuthuthukiswa kwabashayeli eRust, njengoba ilula kakhulu, isetshenziswa kabanzi, inezidingo zokusebenza eziphezulu, futhi ine ukuqaliswa kwereferensi okuqinisekisiwe. ukuze kuqhathaniswe futhi kusekelwe izixhumanisi ezihlukene (dev, pci, dma, blk-mq, gendisk, sysfs).

Kuyaphawulwa ukuthi umshayeli we-Rust PCI NVMe usevele uhlinzeka ngokusebenza okudingekayo ukuze usebenze, kodwa awukakalungeli ukusetshenziswa kabanzi, njengoba kudinga ukuthuthukiswa okuhlukile. Izinhlelo zesikhathi esizayo zihlanganisa ukususa amabhulokhi angaphephile akhona, ukusekelwa kokukhipha idivayisi kanye nokuthulula umshayeli, ukusekela isixhumi esibonakalayo se-sysfs, ukusebenzisa ukuqaliswa kobuvila, ukudala umshayeli we-blk-mq, kanye nokuzama imodeli yokuhlela engavumelanisiwe ye-queue_rq.

Ukwengeza, singabona ukuhlolwa okwenziwa yi-NCC Group ukuthuthukisa abashayeli ngolimi lwe-Rust lwe-FreeBSD kernel. Njengesibonelo, umshayeli we-echo olula obuyisela idatha ebhalwe kufayela /dev/rustmodule ihlaziywa ngokuningiliziwe. Esigabeni esilandelayo sokuhlola, Iqembu le-NCC licubungula ukusebenza kabusha kwezingxenye eziyinhloko ku-Rust ukuze kuthuthukiswe ukuphepha kwenethiwekhi nokusebenza kwefayela.

Lokho okushiwo, nakuba kuboniswe ukuthi kungenzeka ukudala amamojula alula ku-Rust, ukuhlanganiswa okuqinile kwe-Rust ku-kernel ye-FreeBSD kuzodinga umsebenzi owengeziwe. Isibonelo, ikhuluma ngesidingo sokudala isethi yezendlalelo ezingabonakali phezu kwezinhlelo ezingaphansi nezakhiwo ze-kernel, ezifana nezengezo ezilungiselelwe iphrojekthi ye-Rust ye-Linux. Ngokuzayo, kuhlelwe ukwenza izivivinyo ezifanayo ngomongo we-Illumos futhi kugqanyiswe amazwibela avamile ku-Rust angasetshenziswa kumashayeli abhalwe ngokuRust e-Linux, BSD kanye ne-Illumos.

Ngokusho kwe-Microsoft ne-Google, cishe u-70% wokulimala emikhiqizweni yabo yesofthiwe kubangelwa ukuphathwa kwememori okungaphephile. Kucatshangwa ukuthi ukusetshenziswa kolimi lwe-Rust kuzonciphisa ingcuphe yokuba sengozini okubangelwa ukuphatha inkumbulo okungaphephile, futhi kususe ukwenzeka kwamaphutha njengokufinyelela indawo yememori ngemva kokuba ikhululiwe kanye nokugcwala kwebhafa.

Ukuphepha kwenkumbulo kunikezwa ku-Rust ngesikhathi sokuhlanganiswa ngokuhlolwa kwereferensi, ukulandelela ubunikazi bento kanye nesikhathi sokuphila kwento (ububanzi), kanye nokuhlola ukulunga kokufinyelela inkumbulo ngesikhathi sokukhishwa kwekhodi. I-Rust iphinde inikeze ukuvikeleka ekuchichimeni okuphelele, idinga ukuqaliswa okuyisibopho kwamanani ahlukile ngaphambi kokusetshenziswa, iphatha amaphutha kangcono kulabhulali evamile, isebenzisa umqondo wezithenjwa ezingaguquleki nokuguquguqukayo ngokuzenzakalelayo, inikeza ukuthayipha okuqinile okuqinile ukuze kuncishiswe amaphutha anengqondo.

Source: opennet.ru

Engeza amazwana