FreeBSD Q2019 XNUMX Progress Report

Lofalitsidwa lipoti pakukula kwa projekiti ya FreeBSD kuyambira Epulo mpaka Juni 2019. Zina mwa zosintha zomwe tingazindikire:

  • General ndi zokhudza zonse
    • Gulu la Core lidaganiza zokhazikitsa gulu logwira ntchito kuti lifufuze kuthekera kosuntha gwero lachidziwitso kuchokera kugawo lapakati la Subversion source control system kupita kudongosolo la Git.
    • Kuyesa kwa fuzz kwa kernel ya FreeBSD pogwiritsa ntchito dongosolo syzkaller ndipo zolakwika zingapo zodziwika zidakonzedwa. Adawonjezapo kuyesa kosokoneza kwama library kuti agwirizane ndi malo a 32-bit pamakina okhala ndi 64-bit kernel. Kutha kuyendetsa syzkaller mumakina opangidwa ndi bhyve kwakhazikitsidwa. Pa gawo lotsatira, akukonzekera kukulitsa kufalikira kwa kuyezetsa kuyimba foni, gwiritsani ntchito LLVM sanitizer kuti muwone kernel, gwiritsani ntchito netdump kupulumutsa kutayira kwa kernel panthawi ya ngozi pakuyesa kwa fuzzing, ndi zina zambiri.
    • Ntchito yayamba pakukonzanso kukhazikitsa kwa zlib pamlingo wa kernel. Kuti kernel ifikire ku zlib code, chikwatu cha contrib/zlib chinasinthidwa kukhala sys/contrib/zlib, ndipo fayilo yamutu ya crc.h idasinthidwanso kuti isasemphane ndi zlib/crc.h. Kuyeretsa kachidindo komwe kumadalira zlib ndi kufufuma. Chotsatira, akukonzekera kupereka mphamvu yomanga kernel nthawi imodzi ndi zlib yakale ndi yatsopano kuti asamutsire pang'onopang'ono ku mtundu watsopano wa ntchito zomwe zimagwiritsa ntchito kuponderezana;
    • Zomangamanga za Linux chilengedwe emulation (Linuxulator) zasinthidwa. Thandizo lowonjezereka la zida zowonongeka za Linux monga strace utility. Phukusi la linux-c7-strace lawonjezedwa pamadoko, omwe angagwiritsidwe ntchito kutsata mafayilo a Linux m'malo mwazomwe zimagwiritsidwa ntchito pa truss ndi ktrace, zomwe sizingadziwikebe mbendera ndi zida za Linux. Kuphatikiza apo, phukusi la linux-ltp lomwe lili ndi Linux Test Project executables yawonjezedwa ndipo zovuta zofananira ndi zolumikizidwa ndi mitundu yatsopano ya glibc zathetsedwa;
    • Kukhazikitsidwa kwa kuchedwa kwa ntchito zoletsedwa mu makina a pmap kwasamutsidwa kuti agwiritse ntchito ndondomeko ya ndondomeko ya mzere yomwe imagwira ntchito popanda zokhoma, zomwe zapangitsa kuti zikhale zotheka kuthetsa mavuto a scalability pochita ntchito zambiri zofanana za unmap;
    • Njira yotsekera vnode pakuchita mafoni amtundu wa execve() banja yasinthidwa, zomwe zapangitsa kuti zitheke kuchita bwino pochita nthawi yomweyo execve () pa fayilo yomweyi (mwachitsanzo, pochita ntchito zosonkhana ndi kufanana. kukhazikitsidwa kwa compiler);
  • Chitetezo
    • The bhyve hypervisor ikupitirizabe kupititsa patsogolo chithandizo cha kusamuka kwa moyo kwa alendo kuchokera ku gulu lina kupita ku lina ndi Sungani / Bwezerani magwiridwe antchito, omwe amakulolani kuti muyimitse dongosolo la alendo, kusunga boma ku fayilo, ndikuyambiranso kuphedwa.
    • Pogwiritsa ntchito laibulale ya libvdsk, bhyve yawonjezera chithandizo cha zithunzi za disk mu mtundu wa QCOW2. Imafunika kukhazikitsa kuti igwire ntchito
      kusinthidwa mwapadera mtundu wa bhyve, womwe wasinthidwa kuti ugwiritse ntchito zowongolera mafayilo kutengera libvdsk. Munthawi yopereka lipoti, libvdsk idachitanso ntchito yochepetsera kuphatikizika kwa chithandizo chamitundu yatsopano, kuwongolera bwino kuwerenga ndi kulemba, ndikuwonjezera thandizo la Copy-On-Write. Mwa ntchito zotsala, kuphatikiza kwa libvdsk mu kapangidwe kake ka bhyve kumazindikirika;

    • Dongosolo lotolera zambiri zamagalimoto awonjezedwa pamadoko
      Maltrail, zomwe zimakulolani kuti mupange misampha ya zopempha zoipa zapaintaneti (ma IPs ndi madera ochokera ku mindandanda yakuda amafufuzidwa) ndikutumiza zambiri zokhudzana ndi zochitika zomwe zapezeka ku seva yapakati kuti mutseke kapena kusanthula zoyesa;

    • Mapulatifomu awonjezedwa pamadoko kuti azindikire kuwukiridwa, kusanthula zipika ndi kuyang'anira kukhulupirika kwa mafayilo Wazu (foloko ya Ossec ndi chithandizo chophatikizira ndi Mtengo wa ELK-Stack);
  • Network subsystem
    • Dalaivala wa ena wasinthidwa kuti athandizire m'badwo wachiwiri wa ma adapter a netiweki a ENAv2 (Elastic Network Adapter) omwe amagwiritsidwa ntchito mu Elastic Compute Cloud (EC2) kukonza kulumikizana pakati pa EC2 node pa liwiro la 25 Gb/s. Thandizo la NETMAP lawonjezedwa kwa oyendetsa ena.
    • FreeBSD HEAD imatengera stack yatsopano ya MMC/SD, kutengera dongosolo la CAM ndikukulolani kulumikiza zida ndi mawonekedwe a SDIO (Secure Digital I/O). Mwachitsanzo, SDIO imagwiritsidwa ntchito mu WiFi ndi Bluetooth modules kwa matabwa ambiri, monga Raspberry Pi 3. Stack yatsopanoyo imalolanso mawonekedwe a CAM kuti agwiritsidwe ntchito kutumiza malamulo a SD kuchokera ku mapulogalamu omwe ali mu malo ogwiritsira ntchito, zomwe zimapangitsa kuti pakhale chipangizo. madalaivala omwe amagwira ntchito pamlingo wogwiritsa ntchito. Ntchito yayamba popanga madalaivala a tchipisi opanda zingwe a Broadcom omwe akugwira ntchito mu FullMAC mode (mbali ya chip imayendera mawonekedwe ake ogwiritsira ntchito ndi kukhazikitsidwa kwa stack yake yopanda zingwe ya 802.11);
    • Ntchito ikuchitika yokhazikitsa NFSv4.2 (RFC-7862) ya FreeBSD. Mtundu watsopano wa NFS umawonjezera kuthandizira kwa posix_fadvise, posix_fallocate ntchito, mawonekedwe a SEEKHOLE/SEEKDATA mu lseek, ndikugwiritsa ntchito kukopera kwapagawo kwa fayilo pa seva (popanda kusamutsa kwa kasitomala).

      FreeBSD pakadali pano imapereka chithandizo chofunikira pa LayoutError, IOAdvise, Allocate, ndi Copy ntchito. Zomwe zatsala ndikukhazikitsa ntchito ya Fufuzani yofunikira kugwiritsa ntchito lseek(SEEKHOLE/SEEKDATA) ndi NFS. Thandizo la NFSv4.2 lakonzekera FreeBSD 13;

  • Makina osungira ndi mafayilo
    • Ntchito yokonzanso dalaivala wa FUSE (File system in USerspace) subsystem, yomwe imalola kukhazikitsidwa kwamafayilo pamalo ogwiritsira ntchito, yatsala pang'ono kutha. Dalaivala yemwe adaperekedwa poyamba ndi yakale ndipo ali ndi nsikidzi zambiri. Monga gawo la projekiti yoyendetsa madalaivala, chithandizo cha protocol ya FUSE 7.23 idakhazikitsidwa (yomwe idatulutsidwa kale 7.8, yomwe idatulutsidwa zaka 11 zapitazo idathandizidwa), code idawonjezedwa kuti muwone ufulu wopezeka kumbali ya kernel ("-o default_permissions"), kuyimba kwa VOP_MKNOD, VOP_BMAP ndi VOP_ADVLOCK adawonjezedwa, kuthekera kosokoneza magwiridwe antchito a FUSE, kuonjezera thandizo la mapaipi osatchulidwa mayina ndi sockets unix mu fusefs, kuthekera kogwiritsa ntchito kqueue kwa / dev/fuse, kuloledwa kukonzanso magawo okwera kudzera pa "mount -u", thandizo lowonjezera. potumiza ma fusef kudzera mu NFS, kugwiritsa ntchito RLIMIT_FSIZE kuwerengera ndalama, kuwonjezera FOPEN_KEEP_CACHE mbendera ndi FUSE_ASYNC_READ, kukhathamiritsa kwakukulu kwachitika komanso kukonza kasungidwe kake kawongoleredwa;
    • Thandizo la ntchito ya BIO_DELETE lawonjezeredwa ku code yosinthira pager, yomwe imakulolani kugwiritsa ntchito lamulo la TRIM pochotsa midadada kuchokera ku SSD drives kuti muwonjezere moyo wawo wautumiki.
  • Thandizo la Hardware
    • Ntchito ikupitilizabe kugwiritsa ntchito thandizo la ARM64 SoC Broadcom BCM5871X yokhala ndi mapurosesa a ARMv8 Cortex-A57, omwe cholinga chake ndi kugwiritsa ntchito ma routers, zipata ndi kusungirako maukonde. Panthawi yopereka lipoti, chithandizo cha mabasi amkati ndi akunja a iProc PCIe chinasinthidwa, chithandizo cha BNXT Ethernet chinawonjezedwa, ndipo ntchito ikuchitika kuti agwiritse ntchito injini ya crypto yomangidwa kuti ifulumizitse IPsec. Kuphatikizidwa kwa code mu nthambi ya HEAD kukuyembekezeka mu theka lachiwiri la chaka;
    • Ntchito yayambika pakuthandizira 64-bit SoC NXP LS1046A kutengera purosesa ya ARMv8 Cortex-A72 yokhala ndi injini yophatikizika yamapaketi opangira paketi, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 ndi USB 3.0. Thandizo la nsanja yoyambira (SMP ya ogwiritsa ntchito ambiri) ndi SATA 3.0 yakhazikitsidwa kale. Thandizo la USB 3.0, SD/MMC ndi I2C likukula. Zolingazo zikuphatikiza thandizo la Ethernet, GPIO ndi QSPI. Kumaliza kwa ntchito ndikuphatikizidwa mu nthambi ya HEAD kukuyembekezeka mu kotala ya 4 ya 2019.
    • Madalaivala osinthidwa a mlx5en ndi mlx5ib a Mellanox ConnectX-4 [Lx], ConnectX-5 [Ex], ndi ConnectX-6 [Dx] Ethernet ndi ma adapter a InfiniBand. Thandizo lowonjezera la ma adapter a Mellanox Socket Direct (ConnectX-6), kulola kupitilira mpaka 200Gb/s pa basi ya PCIe Gen 3.0. Kwa tchipisi tambiri-core BlueField, chithandizo cha driver wa RShim wawonjezedwa. Phukusi la mstflint lomwe lili ndi zida zowunikira ma adapter a Mellanox awonjezedwa pamadoko;
  • Mapulogalamu ndi ma port system
    • Zithunzi za stack zasinthidwa. Dalaivala wa drm.ko (Direct Rendering Manager) watengedwa kuchokera ku Linux 5.0 kernel. Dalaivala uyu amaonedwa ngati woyesera ndipo wawonjezedwa kumtengo wamadoko ngati graphics/drm-devel-kmod. Popeza dalaivala amagwiritsa ntchito Linux KPI yosinthidwa kuti igwirizane ndi Linux kernel DRM API, FreeBSD CURRENT ikufunika kuthamanga. Dalaivala wa vboxvideo.ko drm wa VirtualBox virtual GPU adatengedwanso kuchokera ku Linux. Phukusi la Mesa lasinthidwa kuti litulutse 18.3.2 ndikusintha kugwiritsa ntchito LLVM kuchokera padoko la devel/llvm80 m'malo mwa devel/llvm60.
    • Mtengo wa madoko a FreeBSD wadutsa madoko a 37000, chiwerengero cha PRs chosatsekedwa chikukhalabe pa 2146. Panthawi yofotokozera, kusintha kwa 7837 kunapangidwa kuchokera kwa opanga 172. Otsatira atatu atsopano adalandira ufulu wochita nawo ntchito. Zina mwazosintha zofunikira pamadoko ndi: MySQL 5.7, Python 3.6, Ruby 2.5, Samba 4.8, Julia 1.0, Firefox 68.0, Chromium 75.0.3770.100. Madoko onse a Go asinthidwa kuti agwiritse ntchito mbendera ya "USES=go". Onjezani mbendera ya "USES=cabal" kwa woyang'anira phukusi la Cabal lomwe amagwiritsidwa ntchito pa code ya Haskell. Njira yotetezedwa ya stack imayatsidwa. Mtundu wosasinthika wa Python ndi 3.6 m'malo mwa 2.7.
    • Kutulutsa kothandizira kwakonzedwa nssctl 1.0, yomwe imapereka analogue ku /sbin/sysctl yomwe imagwiritsa ntchito libxo kwa zotulutsa ndi kupereka zosankha zowonjezera. Nsysctl itha kugwiritsidwa ntchito kuwunika momwe ma sysctl amakhalira ndikupereka zidziwitso zazinthu zomwe zili m'njira yokhazikika. Kutulutsa mu XML, JSON ndi HTML ndizotheka;

Source: opennet.ru

Kuwonjezera ndemanga