Kerna eldono Linux 6.12 kun subteno por reala tempo

Post du monatoj da disvolviĝo, Linus Torvalds publikigis la kernon. Linux 6.12. Inter la plej rimarkindaj ŝanĝoj: la kapablo ebligi realtempan reĝimon, sched_ext por krei CPU-horaligilojn per eBPF, QR-koda eligo en krizaj kondiĉoj, TCP-mekanismo por Aparata Memoro, SCHED_DEADLINE-mekanismo por servilaj rimedoj, plibonigo de la EEVDF-taskohoraligilo, IPE-modulo por agordi integrecajn politikojn.

La nova versio inkluzivas 14607 korektojn de 2167 programistoj, la flikgrandeco estas 37 MB (la ŝanĝoj influis 13087 dosierojn, 507913 linioj de kodo estis aldonitaj, 234083 linioj estis forigitaj). La lasta eldono havis 15130 korektojn de 2078 programistoj, la flikgrandeco estis 85 MB (en la 6.10-kerno la flikaĵo estis 41 MB en grandeco). Proksimume 45% de ĉiuj ŝanĝoj lanĉitaj en 6.12 rilatas al aparataj ŝoforoj, proksimume 12% de ŝanĝoj rilatas al ĝisdatigo de kodo specifa por hardvararkitekturoj, 13% rilatas al la interkonekta stako, 6% rilatas al dosiersistemoj kaj 3% estas rilataj al internaj kernaj subsistemoj.

Ŝlosilaj novigoj en kerno 6.12:

  • Memoraj kaj sistemaj servoj
    • La kapablo konstrui la kernon per la opcio PREEMPT_RT sen aldonaj flikaĵoj por realtempa operacio nun haveblas. La lasta mankanta kerna funkcio, kiu malhelpis la ebligon de PREEMPT_RT-reĝimo, estis subteno por ne-blokanta atoma eligo per la funkcio printk, kiu ankaŭ estas inkluzivita en la kerno. Subteno por PREEMPT_RT haveblas por la arkitekturoj x86, x86_64, ARM64 kaj RISC-V. Ĝis nun, la efektivigo de PREEMPT_RT-reĝimo estis provizita en la formo de eksteraj flikaĵoj, kiujn iuj distribuaĵoj, kiel RHEL, SUSE kaj... Ubuntu, kreis apartajn Realtempajn eldonojn de siaj produktoj, postulataj en tiaj areoj kiel financaj sistemoj, aŭdaj kaj videaj prilaboraj aparatoj, aviado, medicino, robotiko, telekomunikadoj kaj industriaj sistemoj, kie necesas certigi antaŭvideblan okazaĵan prilaboran tempon.
    • La mekanismo "sched_ext" (SCX) estis aldonita, ebligante la uzon de eBPF por krei CPU-horaligilojn, kiuj kovras preskaŭ ĉiujn aspektojn de taskohorado kaj CPU-rimeda asigno. Tiaj horaligiloj povas esti dinamike ŝargitaj kaj efektivigitaj ene de la kerno. Linux в virtuala maŝino eBPF. La mekanismo sched_ext simpligas la kreadon de task-specifaj planiloj, ebligas eksperimentadon kun diversaj planadteknikoj kaj strategioj, kaj permesas la rapidan kreadon de funkciaj prototipoj kaj la tujan anstataŭigon de planiloj en produktadaj infrastrukturoj. Ekzemple, uzante sched_ext, vi povas krei planilon, kiu konsideras la specifajn detalojn de specifa aplikaĵo kaj dinamike ŝanĝas sian planadstrategion depende de la sistema stato kaj aliaj faktoroj.
    • La komponado inkluzivas la restantan parton de la diakiloj necesaj por la funkciado de la SCHED_DEADLINE-servila mekanismo, kiu solvas la problemon de subutiligo de CPU-resursoj per ordinaraj taskoj kiam la CPU estas monopoligita de altprioritaj (realtempaj) taskoj. Por malhelpi CPU-monopoligon, la kerno antaŭe uzis la Realtime-ŝrangimekanismon, kiu provis rezervi 5% por malalt-prioritataj taskoj, lasante 95% de la tempo por realtempaj taskoj. Ĉi tiu mekanismo lasis multon por deziri, ĉar ordinaraj taskoj en multaj situacioj ne ricevis sufiĉe da procesora tempo. SCHED_DEADLINE-servilo efektivigas pli efikan rezervmekanismon de rimedoj.
    • La integriĝo de la EEVDF (Earliest Eligible Virtual Deadline First) taskoplanilo estis kompletigita, kiu anstataŭigis la CFS (Completely Fair Scheduler) planigilon, provizitan ekde la kerno 2.6.23. La nova planisto, kiam elektas la sekvan procezon por transdoni ekzekuton, enkalkulas procezojn, kiuj ne ricevis sufiĉe da procesoraj rimedoj aŭ ricevis maljuste grandan kvanton da procesora tempo. En la unua kazo, la translokigo de kontrolo al la procezo estas devigita, kaj en la dua, male, ĝi estas prokrastita. La malnova CFS-planilo uzis heŭristiko kaj fajnagordado por identigi procezojn kiuj bezonis specialan atenton, dum la nova planilo spuras ilin pli eksplicite kaj ne postulas fajnagordon. EEVDF estas atendita redukti prokrastojn en taskoj por kiuj CFS havis planproblemojn.
    • En la kerna kriz-traktilo - DRM Panic, kiu uzas la subsistemon DRM (Direct Rendering Manager) por montri vidan raporton en la stilo de la "blua ekrano de morto", la kapablo montri emblemon kaj QR-kodon kun kmsg-raporto sur la ekrano kiam okazas kriz-kondiĉo estis aldonita. Ĉar nur 2953 bajtoj taŭgas en QR-kodon, la opcio DRM_PANIC_SCREEN_QR_CODE_URL estas provizita, en kiu la raporto de kmsg estas kunpremita uzante zlib kaj alfiksita kiel parametro al la URL, kiu permesas proksimume 40 bajtojn esti transdonitaj per la V7500 QR-kodo. Konstruante pakaĵojn kun la kerno, distribuoj povas agordi bazan URL por la URL, kio permesos al ili navigi al paĝo por raporti problemon. Por elekti la QR-kodformaton, la agordo DRM_PANIC_SCREEN_QR_VERSION estas provizita.
    • Aldonita subteno por la ARM POE (Permission Overlay Extension), kiu ebligas al vi agordi alirrajtojn al memorareoj. Uzante ĉi tiun etendaĵon, sur sistemoj kun ARM64-procesoroj, la mekanismo de Memory Protection Keys povas esti efektivigita, kiu estas uzata por limigi aliron al memorpaĝoj sen ŝanĝado de la memorpaĝa tablo.
    • Por Loongarch, ARM64, PowerPC kaj s390 arkitekturoj, la efektivigo de la getrandom () sistemvoko estis movita, optimumigita uzante la vDSO (virtuala dinamika komuna objekto) mekanismo, kiu ebligas movi la sistemvoka prizorganto de la kerno al uzanto. spaco kaj eviti kuntekstŝaltilojn. Optimumigo permesas vin akceli la generacion de hazardaj nombroj ĝis 15 fojojn.
    • La kapablo uzi absolutajn tempodaŭrojn, ekigitajn kiam certa tempo estas atingita sur la sistema horloĝo, estis aldonita al la io_uring nesinkrona enigo/eliga subsistemo (antaŭe oni povis agordi nur relativajn tempodaŭrojn, kiuj indikis la daŭron de la komenco de la operacio. ).
    • Aldonitaj dosieroj por generi ligojn por la biblioteko libcpupower uzante la ilaron SWIG, kiu ebligas al vi generi ligojn el C/C++-kodo por diversaj programlingvoj. Ligoj permesas krei skriptojn en Python kaj aliaj lingvoj, kaj uzi ilin por etendi la funkciecon de la biblioteko libcpupower, kiu disponigas API por administri cpufreq kaj ŝoforojn de uzantspaco.
    • La cpuidle-servaĵo montras la valoron de la neaktiva ŝtato "loĝejo", uzita por realtempaj sistemoj kaj konsiderante la minimuman tempon ke la procesoro devas esti en la neaktiva ŝtato por pravigi la energikostojn de transiro en kaj el tiu ŝtato.
    • Aldonis la kapablon uzi la kompililon Clang por konstrui la norman C-bibliotekon nolibc, kiu estas inkluzivita en la kerna fontkodo. Linux kaj provizas envolvaĵon ĉirkaŭ bazaj sistemvokoj. Dum konstruado de nolibc en Clang, ligtempa optimumigo (LTO) estas ebligita.
    • Kelkaj cgroup1-interfacoj estis malrekomenditaj, kiel ekzemple TCP-kontado, mola limversio XNUMX, kaj memorelĉerpadministrado. Subteno por ĉi tiuj funkcioj restas plena nuntempe, kaj la averto estas farita por studi la nombron da uzantoj, kiuj daŭre uzas ĉi tiujn funkciojn.
    • Aldonis la kapablon agordi ringan spurbufron por konservi amasigitajn datumojn post rekomenco, kio permesos al vi ne perdi amasigitajn sencimigan informon en kazo de kraŝo de la kerno. La datumoj estas konservitaj en memoro. Ebligo estas farita per la parametro de komandlinio de trace_instance kernel, ekzemple, agordi "trace_instance=boot_map@0x285400000:12M" rezervos 12 MB da memoro ĉe 0x285400000 por la bufro "boot_map", kiu estos alirebla per la dosiero /sys. /tracing/instances/boot_map.
    • Daŭra migrado de ŝanĝoj el la branĉo Rust-for-Linux, rilate al uzado de Rust kiel dua lingvo por disvolvi pelilojn kaj kernmodulojn (Rust-subteno ne estas aktiva defaŭlte kaj ne inkluzivas Rust inter la bezonataj konstruaj dependecoj de la kerno). Aldonitaj la moduloj 'list' kaj 'rbtree' por labori kun duoble ligitaj listoj kaj ruĝ-nigraj serĉarboj. Plivastigitaj la kapabloj de la moduloj 'init', 'sync', 'types' kaj 'error'. Aldonita la kapablo uzi Rust-kodon dum konstruado de kerno kun protekto kontraŭ Spectre-atakoj (opcioj MITIGATION_{RETHUNK,RETPOLINE,SLS}), uzante la sencimigan sistemon KASAN, la protektajn mekanismojn kCFI (kernel Control Flow Integrity) kaj Shadow Call, kaj dum uzado de pliaj GCC-kromprogramoj. Aldonita pelilo por la Applied Micro QT2025 PHY Ethernet-regilo, skribita en Rust. Aparta retejo kun dokumentado estis preparita: rust.docs.kernel.org.
    • La ilo xdrgen estis aldonita al la kerna fontkodo por konverti XDR (eXternal Data Representation) specifojn en XDR-kodajn kaj malkodajn funkciojn skribitajn uzante la C-stilon adoptitan de la kerno. Linux.
    • La kerno estis ŝanĝita por efektivigi montrilon maskantan mekanismon por redukti la nombron da malrapidaj vokoj al barrier_nospec() en la 64-bita copy_from_user() funkcio, uzata por kopii datumojn en la kernon de uzantspaco. Uzado de maskado plirapidigas la teston "per_thread_ops", kiu taksas la nombron da operacioj, kiuj povas esti faritaj en unu fadeno, je 2.6%.
    • Nova USB-ŝoforo estis aldonita, kiu ebligas al vi uzi la protokolon 9pfs kiel transportilon por sendi kaj ricevi datumojn de USB-aparato dum muntado de la 9p-dosiersistemo per USB (ekzemple, “mount -t 9p -o trans=usbg, aname=/vojo/al/ fs /mnt/9"). Ekzemplo de uzado de la nova pelilo estas uzi ĝin anstataŭ NFS por organizi la lanĉon de la radika subdisko dum disvolvado de enigitaj aparatoj.
  • Diska Subsistemo, I/O kaj Dosiersistemoj
    • La kapablo labori kun stokaj aparatoj kies blokgrandeco estas pli granda ol la grandeco de la memorpaĝo en la sistemo estis aldonita al la VFS-subsistemo. En dosiersistemoj, ĉi tiu funkcio estas nuntempe nur subtenata en XFS.
    • La subsistemo FUSE, kiu ebligas al vi krei realigojn de dosiersistemoj funkcianta en uzantspaco, aldonis subtenon por mapado de uzantidentigiloj de surmuntitaj dosiersistemoj, uzataj por kongrui la dosierojn de specifa uzanto sur muntita eksterlanda sekcio kun alia uzanto sur la nuna. sistemo.
    • Nova fcntl operacio, F_CREATED_QUERY, estis efektivigita, donante al aplikaĵo la kapablon determini ĉu dosiero malfermita per la O_CREAT-flago estis kreita aŭ ĉu ĝi jam ekzistis antaŭe.
    • Aldonis la kapablon uzi unikajn 64-bitajn muntajn punkto-IDojn al la sistemvoko name_to_handle_at() por eviti raskondiĉojn dum analizado de /proc/mountinfo.
    • La grandeco de la "dosiero" strukturo en la kerno estis reduktita de 232 ĝis 184 bajtoj, kio reduktas memorkonsumon en sistemoj kiuj aktive laboras kun dosieroj.
    • Munti dosiersistemojn por munti punktojn ene de la /proc-hierarkio, kiel ekzemple /proc/PID/fd, estis malpermesita, kio kreis eblajn sekurecproblemojn.
    • La pseŭdo-FS NSFS (NameSpace FS), uzata por labori kun nomspacoj, disponigas kromajn informojn pri la nomspacoj de muntpunktoj.
    • La dosiersistemo EROFS (Etendebla Nurlegebla Dosiersistemo), dizajnita por uzo sur nurlegeblaj sekcioj, nun subtenas muntadon de dosiersistemoj rekte de diskobildoj konservitaj kiel dosieroj.
    • Novaj ioctl-komandoj XFS_IOC_START_COMMIT kaj XFS_IOC_COMMIT_RANGE estis aldonitaj al XFS por interŝanĝi enhavon inter du dosieroj.
    • NFS aldonis subtenon por la protokolo "LOCALIO", kiu permesas al vi determini ĉu la kliento kaj servilo NFS sur la sama gastiganto por ebligi la respondajn optimumigojn.
    • En la dosiersistemo Btrfs, agado-optimumigoj estis proponitaj, la kodo estis refactorigita, la areo de amplekso de ŝlosado dum legaj operacioj estis reduktita, laboro daŭris pri konverti memorpaĝojn por uzi paĝajn foliojn, kaj aŭtomata memorliberigo estis efektivigita por la strukturo btrfs_path.
    • En la dosiersistemo Ext4, cimoj rilataj al bloka asigno, administrado de amplekso, rapida transdono kaj ĵurnalo estis korektitaj.
  • Virtualigo kaj Sekureco
    • Aldonis la IPE (Integrity Policy Enforcement) LSM-modulon, evoluigitan de Mikrosofto por vastigi la ekzistantan devigan alirkontrolsistemon. La modulo permesas vin difini ĝeneralan integrecpolitikon por la tuta sistemo, indikante kiuj operacioj estas permesitaj kaj kiel la aŭtentikeco de komponantoj devus esti kontrolita. Ekzemple, uzante IPE, vi povas specifi, kiuj ruleblaj dosieroj rajtas ruliĝi, konsiderante ilian konformecon al la referenca versio uzante kriptajn haŝojn provizitajn de la dm-verity-sistemo.
    • En la kernkompila stadio, estas eble aparte ebligi disponeblajn metodojn de protekto kontraŭ malsamaj vundeblecoj de Spectre-klaso en la CPU. Kconfig ofertas novajn parametrojn: MITIGATE_MDS (protekto kontraŭ la vundebleco de Microarchitectural Data Sampling), MITIGATE_TAA (protekto kontraŭ la vulnerebleco de TSX Asynchronous Abort), MITIGATE_MMIO_STALE_DATA (protekto kontraŭ la vundebleco de MMIO Stale Data), MITIGATE_L1RET1TF (protekto kontraŭ la vulnerebleco de Terminal FIGATE_ED1TF) (protekto kontraŭ Retbleed vundeblecoj), MITIGATE_SPECTRE_V2, MITIGATE_SPECTRE_VXNUMX (protekto kontraŭ Spectre vundeblecoj), MITIGATE_SRBDS (protekto kontraŭ la Special Register Buffer Data Sampling vundebleco), MITIGATE_SSB (protekto kontraŭ la Speculative Store Bypass vundebleco).
    • Aldonita komandlinia opcio proc_mem.force_override kaj aro de agordoj en Kconfig (PROC_MEM_FORCE_ALWAYS, PROC_MEM_FORCE_PTRACE kaj PROC_MEM_FORCE_NEVER) por malhelpi memorŝanĝojn per /proc/pid/mem.
    • LSM-subsistemo (Linux sekureca modulo) estis ŝanĝita al uzado de statikaj vokoj, kio plibonigis sekurecon kaj rendimenton.
    • La kapablo uzi normajn kernojn por la ARM64-arkitekturo en gastaj medioj funkciantaj sur Android-sistemoj kun modifita KVM-hipervizoro (protektita KVM).
    • La Landlock LSM-modulo, kiu ebligas vin limigi la interagadon de grupo de procezoj kun la ekstera medio, efektivigas la koncepton "IPC-skoping" por selekteme limigi interagadon kun sablokesto-medioj uzante Unix-ingojn kaj signalojn. Ekzemple, vi povas malpermesi konektojn uzantajn Uniksajn ingojn de sablokesto-medio al procezoj, kiuj ne havas izolitecon aplikata, sed permesas ligojn al procezoj en la sama amplekso.
    • En la KVM-hiperviziero, flago estis aldonita al la CPUID por gastsistemoj indikante subtenon por AVX10.1-etendaĵoj.
  • Reta subsistemo
    • La mekanismo de Device Memory TCP estis aldonita, permesante la uzon de retaj ingoj por rekte sendi la enhavon de la memoro de ekstercentraj aparatoj tra la reto (nul-kopia reĝimo) kaj rekte meti la enhavon de retaj pakoj en la aparatan memorareon sur la reto. ricevanto flanko. Datenoj elsenditaj en pakaĵoj estas transdonitaj de la retkarto al la memoro de ekstercentra aparato aŭ de la aparatmemoro al la retkarto rekte, preterirante la CPU, kaj la pakaĵettitoloj alvenas en regulaj kernbufroj.
    • La kapabloj de multaj Eterreto kaj sendrataj ŝoforoj estis vastigitaj. Ekzemple, la Intel iwlwifi-ŝoforo aldonis subtenon por movi RLC/SMPS-operaciojn al la firmware-flanko, la RealTek rtw89-ŝoforo pliigis efikecon kaj aldonis subtenon por RTL8852BT/8852BE-VT (WiFi 6) blatoj, la mikroĉipa Ethernet-ŝoforo aldonis subtenon por IEEE 802.3. bw (100BASE) specifoj -T1) kaj IEEE 802.3bp, Microsoft vNIC kaj IBM-veth virtualaj Ethernet-efektivigoj estis plibonigitaj. Aldonitaj novaj ŝoforoj por Realtek RTL9054, RTL9068, RTL9072, RTL9075, RTL9068, RTL9071 kaj Microchip LAN8650/1 10BASE-T1S MAC-PHY Ethernet-blatoj.
    • En MPTCP (MultiPath TCP), etendaĵo de la TCP-protokolo por organizi la liveron de TCP-pakaĵoj samtempe laŭ pluraj itineroj tra malsamaj retaj interfacoj, la grandeco de la pezoj uzitaj en vojigo estas pliigita de 8 ĝis 16 bitoj. Efektivigita detekto de perdita (nigra truo) trafiko kaj suspendo por iom da tempo de provoj establi ligojn kun sistemoj kaŭzantaj perdon de trafiko.
    • Por IPv6, subteno estas efektivigita por la "p" flago en la PIO (Prefix Information Option), uzita en RA-reklamoj (IPv6 Router Advertisements) por elekti klientdeplojan modelon per DHCPv6-PD (DHCPv6 Prefix Delegation, RFC9663) anstataŭ atribui individuaj adresoj bazitaj sur prefiksoj uzante SLAAC (Stateless Address Autoconfiguration). IPv6 IOAM6 aldonas subtenon por nova tunsrc enkapsuliga reĝimo kiu permesas pli bonan rendimenton.
    • Plibonigita rendimento por prilaborado de IPsec-kontrolpakaĵoj.
    • Plibonigita agado de ruŝado de grandaj nfttablej reguloj. nfnetlink_queue plibonigis subtenon por la SCTP-protokolo.
    • La ethtool API aldonis subtenon por ligi plurajn retkartojn al unu retinterfaco.
  • Ekipaĵo
    • En la AMDGPU-ŝoforo, laboro daŭre efektivigi subtenon por AMD RDNA4 ("GFX12") GPU-oj. Aldonis la kapablon restarigi individuajn taskovicojn sen restarigi la tutan GPU.
    • Laborado daŭris pri la Xe drm-ŝoforo (Direct Rendering Manager) por GPU-oj bazitaj sur la Intel Xe-arkitekturo, kiu estas uzata en Intel Arc-familiaj vidkartoj kaj integraj grafikaĵoj, komencante per Tiger Lake-procesoroj. La nova versio inkluzivas subtenon por GPU-oj bazitaj sur la mikroarkitekturoj Battlemage kaj Lunar Lake. Subteno por Xe2 CCS (Kolorkontrola Surfaco) modifiloj estis lanĉita por kontroli la parametrojn de integraj kaj diskretaj GPUoj.
    • La i915-ŝoforo efektivigas la kapablon eligi informojn pri la ventumila rapideco per la HWMON aŭ sysfs-interfaco (la "fan1_input" atributo). La parametro "i915.modeset" estas malrekomendita; la parametro "i915.nomodeset" devus esti uzata anstataŭ "i0.modeset=915".
    • Aldonita subteno por A615, A306 kaj A621 GPU-oj al la msm DRM-ŝoforo (Qualcomm Adreno GPU).
    • La Nouveau-ŝoforo havis siajn internajn strukturojn reverkitaj kaj purigitaj.
    • La ŝoforo intel_pstate, kiu kontrolas energikonsumajn parametrojn (P-stato) sur sistemoj kun Intel-procesoroj, aldonis subtenon por hibridaj sistemoj kun nesimetriaj (malsamaj karakterizaĵoj) CPUoj, kaj ankaŭ subtenon por potenca administrado de procesoroj bazitaj sur Granite Rapids kaj Sierra Forest. mikroarkitekturoj. Aldonita subteno por Xeon Granite Rapids CPU al la intel_idle-ŝoforo. La ŝoforo intel_rapl disponigas rekonon de AMD 1Ah familiaj procezoj kaj Intel ArrowLake-U procesoroj.
    • Daŭra inkludo de ŝanĝoj por subteni la ARM SoC Snapdragon X Elite, kiu uzas la propran 12-kernan Oryon CPU de Qualcomm kaj Qualcomm Adreno GPU. La blato celas uzi en tekkomputiloj kaj komputiloj, kaj estas antaŭ la blatoj Apple M3 kaj Intel Core Ultra 155H en multaj rendimentaj testoj.
    • Aldonita subteno por ARM-tabuloj, SoC-oj kaj aparatoj: Broadcom bcm2712 (Raspberry Pi 5), Renesas R9A09G057 (RZ/V2H), Qualcomm Snapdragon 414 (MSM8929), Lenovo ThinkPad T14s Gen 6, Lenovo A6000/A6010pnic7 RG, Surface AnX35pnic30, Qualcomm Snapdragon 4 (MSM68). , Firefly Core-PX433-JD2, Lunzn Fastrhino R920S, Aspeed Riser, AGX Orin, Rockchip Qnap-TS2002, Huashan Pi, Meta Catalina, BeagleY-AI, NanoPi R5332S Plus, ExynosAuto v4, SOPHGO SG815, LG5, IP35, LG11 ), Cool Pi CM93 GenBook, Anbernic RG6XXSP, GameForce Ace, IBM PXNUMX, Kontron i.MXXNUMX OSM-S, NanoPC-TXNUMX
    • Aldonita subteno por ekranaj paneloj Anbernic RG28XX, On Tat Industrial Company KD50G21-40NT-A1, Innolux G070ACE-LH3, Melfas lmfbx101117480, Densitron DMT028VGHMCMI-1D, Microchip AC40T08A, AOU B116 02.3XAT116, BOE TV06.1WUM -LL116, BOE NV04.1WUM-N101, BOE NV2WUM-N140, BOE NV41WHM-A133D, BOE NE63WUM-N116G, CMN N4BCA-EA140, CMN N6BCP-EA116, CSW MNB2LS116-2.
    • La aŭda subsistemo aldonis subtenon por blatoj kaj kodekoj RME Digiface USB, AMD ACP 7.1, Mediatek MT6367, MT8365, Realtek RTL1320, C-Media CM9825. Malnovaj sonŝoforoj por Intel ASoC estis deklaritaj malnoviĝintaj, kaj rekomendas uzi AVS-ŝoforojn anstataŭe. Multaj plibonigoj estis faritaj al la SoundWire-ŝoforo.

fonto: opennet.ru

Aĉetu fidindan gastigadon por retejoj kun DDoS-protekto, VPS-VDS-serviloj 🔥 Aĉetu fidindan retejan gastigadon kun DDoS-protekto, VPS VDS-servilojn | ProHoster