Rapora Pêşveçûna FreeBSD Q2020 XNUMX

weşandin rapor li ser pêşkeftina projeya FreeBSD ji Çile heta Adar 2020. Di nav guhertinan de em dikarin destnîşan bikin:

  • Pirsgirêkên giştî û sîstematîk
    • Kompleksa berhevkarê GCC ji dara çavkaniyê ya FreeBSD-CURRENT, û hem jî karûbarên gperf, gcov û gtc (berhevkarê devicetree) yên nehatine bikar anîn rakirin. Hemî platformên ku Clang piştgirî nakin ji bo karanîna amûrên çêkirina derveyî yên ku ji portan hatine saz kirin hatine veguheztin. Pergala bingehîn serbestberdanek kevnar a GCC 4.2.1 şand, û entegrasyona guhertoyên nûtir ne gengaz bû ji ber veguheztina 4.2.2 ji lîsansa GPLv3, ku ji bo pêkhateyên bingehîn ên FreeBSD neguncayî hate hesibandin. Weşanên heyî yên GCC, tevî GCC 9, hîn jî dikarin ji pakêt û portan werin saz kirin.
    • Binesaziya emûlasyona jîngehê Linux (Linuxulator) ji bo banga pergala sendfile, moda TCP_CORK (ji bo nginx hewce ye), û ala MAP_32BIT (pirsgirêka bi destpêkirina pakêtên bi Mono re ji Ubuntu Bionic re çareser dike) piştgirî zêde kiriye. Pirsgirêkên çareseriya DNS-ê dema ku glibc ji 2.30-a nûtir bikar tînin (mînak ji CentOS 8) çareser bûne.
      Binesaziya entegrasyonê ya domdar şiyana xebitandina karên LTP (Projeya Testkirina Linux) ku Linuxulator dimeşîne peyda dike da ku çêtirkirinên ku li kodê hatine çêkirin ji bo piştgirîkirina Linux-ê ceribandin. Nêzîkî 400 ceribandinan têk diçin û pêdivî bi rastkirinê heye (hin xeletî ji ber pozîtîfên derewîn têne çêkirin, hin hewcedarî rastkirinên piçûk in, lê yên din hene ku ji bo rastkirina bangên pergalên nû piştgirî zêde dikin). Ji bo paqijkirina koda Linuxulator û hêsankirina xeletkirinê xebatek hate kirin. Paçên bi piştgirî ji bo taybetmendiyên dirêjkirî û banga pergala fexecve hatine amadekirin, lê hêj nehatine lêkolîn kirin.

    • Civînên koma xebatê ya ku ji bo veguheztina kodên çavkaniyê ji pergala kontrolkirina çavkaniya navendî ya Subversion ber bi pergala nenavendî Git ve hatî çêkirin berdewam dike. Raporek bi pêşniyarên ji bo koçberiyê di pêvajoya amadekirinê de ye.
    • В rtld (girêdana dema xebitandinê) moda pêkanîna rasterast çêtir kir ("/libexec/ld-elf.so.1 {rêç} {arguments}").
    • Projeya ceribandina fuzzing a kernel FreeBSD bi karanîna pergala syzkaller berdewam dike. Di heyama raporê de, pirsgirêkên di stûna torê û kodê de ji bo xebata bi tabloyên danasîna pelan ên ku bi karanîna syzkaller ve hatine nas kirin ji holê hatin rakirin. Piştî teşhîsa xeletiyê, guherandin li stûna SCTP hatine zêdekirin da ku debugkirin hêsantir bibe. Rêgez li stresê2 hatine zêdekirin da ku paşveçûnên gengaz nas bikin. Piştgiriyek ji bo ceribandina fuzz a bangên pergalê yên nû, tevî copy_file_range (), __realpathat () û bangên binepergala Capsicum zêde kir. Xebat berdewam dike ku qata emûlasyona Linux-ê bi ceribandina fuzzê veşêre. Me xeletiyên ku di raporên Coverity Scan ên herî dawî de hatine destnîşan kirin analîz kirin û rakirin.
    • Pergala entegrasyonê ya domdar veguheriye pêkanîna hemî ceribandinên şaxê serî tenê bi karanîna clang/lld. Dema ku ji bo RISC-V ceribandin, avakirina wêneyek dîskê ya bêkêmasî ji bo ceribandinên li QEMU bi karanîna OpenSBI ve tête peyda kirin. Ji bo ceribandina wêneyan û makîneyên virtual powerpc64 (FreeBSD-head-powerpc64-images, FreeBSD-head-powerpc64-testvm) peywirên nû lê zêde kirin.
    • Xebat berdewam e ji bo veguheztina koma testa Kyua ji benderan (pêşveçûn/kyua) ber bi pergala bingehîn ve ji bo çareserkirina pirsgirêkên (pakêtan pir hêdî têne saz kirin) ku dema ku Kyua li ser mîmariyên nû bikar tînin, pêşkeftina ku bi karanîna emulatorek an jî pêk tê çê dibin. FPGA. Yekbûn di pergala bingehîn de dê ceribandina platformên pêvekirî û pêwendiya bi pergalên entegrasyonê yên domdar re pir hêsan hêsan bike.
    • Projeyek ji bo xweşbînkirina performansa ajokera pira torê hate destpêkirin if_bridge, ku mutexek yekane bikar tîne da ku daneyên hundurîn bigire, ku rê nade performansa xwestinê li ser pergalên bi hejmarek mezin ji hawîrdorên girtîgehê an makîneyên virtual yên ku di yek torê de hatine yek kirin bigihîje. Di vê qonaxê de, ceribandin li kodê hatine zêdekirin da ku pêşî li paşveçûn bigire di dema nûjenkirina xebata bi qefleyan de. Ihtîmala karanîna ConcurrencyKit-ê ji bo paralelkirina hilgirên veguheztina daneyê (bridge_input (), bridge_output (), bridge_forward (), ...) tê hesibandin.
    • Bangek pergala sigfastblock-a nû lê zêde kir da ku rê bide mijarek ku blokek bîranînê ji bo hilgirê nîşana bilez diyar bike da ku performansa hilgirên îstisnayan baştir bike.
    • Kernel ji bo rêwerzên atomî yên LSE (Pervekirina Sîstema Mezin) piştgirî zêde dike ku ji hêla pergalên ARMv8.1 ve têne piştgirî kirin. Van rêwerzan hewce ne ku dema ku li ser panelên Cavium ThunderX2 û AWS Graviton 2 dixebitin performansê baştir bikin. Guhertinên zêde piştgirîya LSE tespît dikin û bi dînamîk pêkanîna atomê li ser bingeha wan çalak dikin. Di dema ceribandinê de, karanîna LSE ev gengaz kir ku dema pêvajoyek ku dema berhevkirina kernelê 15% derbas dibe kêm bike.
    • Optimîzasyona performansê hate kirin û fonksiyona amûrê ji bo pelên îcrakar ên di forma ELF de hate berfireh kirin.
      Piştgiriyek ji bo cachkirina agahdariya debugkirina DWARF zêde kir, di karûbarên elfcopy/objcopy de pirsgirêkên çareser kirin, pêvajoya DW_AT_ranges zêde kirin,
      readelf şiyana deşîfrekirina alayên PROTMAX_DISABLE, STKGAP_DISABLE û WXNEEDED, û her weha Xen û GNU Build-ID pêk tîne.

  • Ewlekariyê
    • Ji bo baştirkirina performansa FreeBSD di hawîrdorên cloudê Azure de, xebat tê kirin ku piştgirî ji mekanîzmaya HyperV Socket re peyda bike, ku destûrê dide karanîna navberek soketê ji bo danûstendina di navbera pergala mêvan û hawîrdora mêvandar de bêyî sazkirina torê.
    • Xebat berdewam e ji bo peydakirina avahîyên dubarekirî yên FreeBSD-ê, ku dihêle ku hûn pê ewle bibin ku pelên îcrakar ên pêkhateyên pergalê tam ji kodên çavkaniyê yên diyarkirî têne berhev kirin û guheztinên derveyî nehewînin.
    • Kapasîteya kontrolkirina tevlêbûna mekanîzmayên parastinê yên zêde (ASLR, PROT_MAX, gap stack, nexşeya W + X) di asta pêvajoyên kesane de li kargêriya elfctl hate zêdekirin.
  • Pergalên hilanînê û pelan
    • Xebat berdewam e ji bo pêkanîna kapasîteya NFS ku li ser kanalek ragihandinê ya şîfrekirî ya li ser bingeha TLS 1.3 bixebite, li şûna karanîna Kerberos (moda sec=krb5p), ku tenê bi şîfrekirina peyamên RPC-ê sînorkirî ye û tenê di nermalavê de tête bicîh kirin. Pêkanîna nû stûna TLS-a ku ji hêla kernel ve hatî peyda kirin bikar tîne da ku lezkirina hardware çalak bike. NFS li ser koda TLS hema hema ji bo ceribandinê amade ye, lê dîsa jî xebatek hewce dike ku piştgirî bide sertîfîkayên xerîdar ên îmzekirî û kernel TLS-a kernel biguhezîne da ku daneyên NFS bişîne (pişkên ji bo wergirtinê jixwe amade ne).
  • Piştgiriya hardware
    • Xebat li ser zêdekirina piştgirî ji bo x86 CPU Hygon ya Chineseînî li ser bingeha teknolojiyên AMD-ê tê meşandin;
    • Wekî beşek CheriBSD, forkek FreeBSD ji bo mîmariya pêvajoyê ya lêkolînê CHERI (Rêbernameyên RISC yên Hêzdarkirî yên Kapasîteyê), piştgirî ji bo pêvajoya ARM Morello berdewam dike ku were sepandin, ku dê pergala kontrolkirina gihîştina bîranîna CHERI li ser bingeha modela ewlehiya projeya Capsicum piştgirî bike. Çîp Morello plan dikin di sala 2021 de serbestberdan. Xebat naha li ser zêdekirina piştgirîyê ji bo platforma Arm Neoverse N1 ya ku Morello hêzdar dike balê dikişîne. Portek destpêkê ya CheriBSD ji bo mîmariya RISC-V hate pêşkêş kirin. Pêşveçûna CheriBSD ji bo prototîpa referansa CHERI li ser bingeha mîmariya MIPS64 berdewam dike.
    • Veguheztina FreeBSD ji bo 64-bit SoC NXP LS1046A li ser bingeha pêvajoya ARMv8 Cortex-A72 bi motorek bilezkirina pêvajoya pakêta torê ya yekbûyî, 10 Gb Ethernet, PCIe 3.0, SATA 3.0 û USB 3.0 berdewam dike. Heya niha, ajokarên QorIQ û LS1046A, GPIO, QorIQ LS10xx AHCI, VF610 I2C, Epson RX-8803 RTC, QorIQ LS10xx SDHCI ji bo veguheztina li pêkhateya sereke ya FreeBSD têne amadekirin.
    • Ajokara ena bi guhertoya 2.1.1-ê bi piştgirîya nifşa duyemîn a adaptorên torê yên ENAv2 (Adaptera Tora Elastîk) ku di binesaziya Elastic Compute Cloud (EC2) de têne bikar anîn ji bo organîzekirina ragihandinê di navbera girêkên EC2 de bi leza heya 25 Gb/ ve hatî nûve kirin. s. Nûvekirinek ji bo ENA 2.2.0 tê amadekirin.
    • Pêşkeftinên porta FreeBSD ji bo platforma powerpc64 berdewam dikin. Balkêş li ser peydakirina performansa kalîteyê li ser pergalên bi pêvajoyên IBM POWER8 û POWER9 e. Di heyama raporê de, FreeBSD-CURRENT hate veguheztin ku li şûna GCC berhevkarê LLVM/Clang 10.0 û girêdana lld bikar bîne. Bi xwerû, pergalên powerpc64 ELFv2 ABI bikar tînin û piştgirî ji ELFv1 ABI re qut bûye. FreeBSD-STABLE hîn jî gcc 4.2.1 heye. Pirsgirêkên ajokarên virtio, aacraid û ixl hatine çareser kirin. Li ser pergalên powerpc64 gengaz e ku QEMU bêyî piştgiriya Rûpelên Mezin bimeşîne.
    • Xebat ji bo bicihanîna piştgiriyê ji bo mîmariya RISC-V berdewam dike. Di forma xweya heyî de, FreeBSD jixwe bi serfirazî li ser panela SiFive Hifive Unleashed, ku ji bo wê ajokar hatine amadekirin, dest pê dike.
      UART, SPI û PRCI, firmware OpenSBI û SBI 0.2 piştgirî dike. Di heyama raporê de, xebat li ser koçberiya ji GCC ber bi clang û lld ve hate kirin.

  • Serlêdan û pergala portê
    • Koleksiyona portên FreeBSD sînorê 39 hezar port derbas kiriye, hejmara PR-yên negirtî hinekî ji 2400-an derbas dibe, ji wan 640 PR hêj nehatine rêz kirin. Di heyama raporê de, 8146 guhertin ji 173 pêşdebiran hatine çêkirin. Çar beşdarên nû mafên berpirsiyariyê wergirtin (Loïc Bartoletti, Mikael Urankar, Kyle Evans, Lorenzo Salvadore). USES=ala qca lê zêde kir û USES=ala zope jê kir (ji ber lihevnebûna bi Python 3). Ji bo rakirina Python 2.7 ji dara portê xebat didomin - hemî portên bingehîn ên Python 2 divê ji Python 3-ê re bêne barkirin an jî dê bêne rakirin. Rêvebirê pakêtê pkg ji bo serbestberdana 1.13.2 hate nûve kirin.
    • Perçeyên stoka grafîkê û portên têkildar ên xorg-ê nûve kirin.
      Pêşkêşkara X.org ji bo guhertoya 1.20.8 hate nûve kirin (berê li şaxê 1.18 hate şandin), ku hişt ku FreeBSD ji bo hilanîna amûrên têketinê bikar bîne paşperdeya udev/evdev bikar bîne. Pakêta Mesa hate guheztin ku ji hêla xwerû ve li şûna DRI3 dirêjkirina DRI2 bikar bîne. Xebat berdewam e ji bo ku ajokarên grafîkê, stûna cîhaza têketinê, û hêmanên drm-kmod bihêlin (portek ku xebata modulên amdgpu, i915 û radeon DRM-ê dimeşîne, bi karanîna çarçoweya linuxkpi-yê ji bo lihevhatina bi Rêvebirê Renderkirina Rasterê ya kernel Linux re) biroj.

    • Sermaseya KDE Plasma, Çarçoveyên KDE, Serlêdanên KDE û Qt nûve têne hilanîn û li gorî weşanên herî dawî têne nûve kirin. Serlêdanek nû kstars (atlasa stêrk) li benderan hate zêdekirin.
    • Ji bo rakirina guheztinên paşverû di rêvebirê pencereyê xfwm4 de ku piştî nûvekirina Xfce ji guhertoya 4.14-an re xuya bû xebatek hate kirin (mînak, dema xemilandina pencereyan de huner xuya bûn).
    • Porta Wine hate nûve kirin ku Wine 5.0 serbest bike (berê 4.0.3 dihat pêşkêş kirin).
    • Bi guhertoya 1.14 dest pê kir, berhevkarê zimanê Go ji bo FreeBSD 64 piştgirîya fermî ji bo mîmariya ARM12.0 zêde kir.
    • OpenSSH li ser pergala bingehîn ji bo serbestberdana 7.9p1 hate nûve kirin.
    • Pirtûkxaneya sysctlmibinfo2 hatiye bicihkirin û li portan hatiye danîn (pêşveçûn/libsysctlmibinfo2), ji bo gihîştina sysctl MIB-ê API-yek peyda dike û navên sysctl vediguhezîne nav nasnameyên tiştan (OID).
    • Nûvekirinek belavkirinê hate çêkirin NomadBSD 1.3.1, ku weşanek FreeBSD-ê ye ku ji bo karanîna wekî sermaseyek portable ya ku ji ajokerek USB-ê tê bootkirin hatî adapte kirin. Jîngeha grafîkî li ser rêveberek pencereyê ye Openbox. Ji bo sazkirina ajokaran tê bikar anîn DSBMD (sazkirina CD9660, FAT, HFS+, NTFS, Ext2/3/4 tê piştgirî kirin), ji bo mîhengkirina tora bêtêl - wifimgrû ji bo kontrolkirina dengan - DSBMixer.
    • dest pê kir kar li ser nivîsandina belgeyên bêkêmasî ji bo rêveberê jîngeha girtîgehê beroş. Pot 0.11.0 ji bo serbestberdanê tê amadekirin, ku dê amûrên ji bo birêvebirina stûna torê vehewîne.

Source: opennet.ru

Add a comment