Note di rilascio

Note di rilascio di HFTKernel 7.2.x.

Esplora la serie del kernel 7.2.x dalla più recente alla più vecchia, con le modifiche upstream più rilevanti per esecuzione CPU prevedibile, rete stabile, gestione del tempo precisa, virtualizzazione, comportamento della memoria e code di latency misurabili.

Registro pubblico delle modifiche

Note di rilascio

Ogni voce si concentra sulle modifiche upstream che supportano gli obiettivi principali di HFTKernel: jitter minimo, tail latency controllata, percorso dati stabile, gestione del tempo precisa e comportamento misurabile sotto pressione.

HFTKernel 7.2.11

Rete zero-copy più robusta, code NIC ordinate e hardware temporale più affidabile

Ultima voce della serie 7.2.x

Base upstream: Linux 7.2.11. Modifiche da Linux 7.2.10. Data di rilascio: 15 ottobre 2026.

Proprietà dei buffer mlx5 AF_XDP più solida

HFTKernel 7.2.11 rafforza l'elaborazione della ricezione zero-copy AF_XDP sugli adattatori NVIDIA mlx5.

Per le code di ricezione striding, i nuovi tentativi di refill MPWQE preservano ora lo stato esplicito di proprietà di ogni buffer XSK. Se l'allocazione fallisce temporaneamente, un successivo tentativo NAPI non rilascia più lo stesso frame UMEM attraverso un puntatore obsoleto.

Il percorso di ripetizione è ora idempotente:

  • ogni buffer XSK originale viene rilasciato una sola volta;
  • i refill parzialmente completati mantengono il proprio stato di proprietà;
  • un'allocazione riuscita sostituisce il buffer e cancella il marcatore di rilascio;
  • i tentativi successivi operano solo sui buffer che richiedono ancora la sostituzione.

Un test upstream AF_XDP sotto pressione di 20 secondi ha esercitato 1,575,262 errori di allocazione dei buffer senza descrittori non validi, errori WQE o avvisi del kernel.

La coda di ricezione ciclica legacy riceve la stessa protezione della proprietà.

Nel test upstream corrispondente è stato offerto traffico UDP da 64 byte a 12 Mpps. Il percorso aggiornato ha elaborato 356,904,225 pacchetti in 30 secondi, inclusi 571,405 eventi xdp_rx_ring_full, senza errori di proprietà o dati.

Per HFTKernel, rafforza l'acquisizione di dati di mercato ad alta frequenza, i feed handler AF_XDP, i sistemi di distribuzione dei pacchetti e le acquisizioni zero-copy sotto pressione sui ring di ricezione.

Doorbell TX Intel ICE ordinate

Il driver Intel ICE usa nuovamente scritture MMIO ordinate quando pubblica le doorbell delle code TX.

Il driver aggiorna prima la contabilità Dynamic Queue Limits nella memoria normale, poi notifica alla NIC la disponibilità di nuovi descrittori. La scrittura ordinata garantisce che la contabilità della coda sia visibile globalmente prima che il dispositivo possa completare il lavoro trasmesso.

È particolarmente importante su ARM64, dove writel_relaxed() non fornisce l'ordinamento richiesto tra memoria normale e MMIO.

La modifica è stata esercitata con un adattatore Intel E810-XXV sotto carico di rete prolungato. Il percorso ordinato ha mantenuto sincronizzati il completamento della NIC e la contabilità software della coda.

Per HFTKernel, rafforza l'elaborazione TX prolungata su hardware Intel compatibile e preserva una relazione coerente tra invio dei descrittori, esecuzione hardware e contabilità dei completamenti.

Ordine corretto dei completamenti mlx5 ICOSQ

Il driver mlx5 aggiorna ora la doorbell della coda di completamento prima di pubblicare il contatore consumer ICOSQ.

Un dma_wmb() mantiene ordinate le due operazioni:

  1. Lo spazio CQ viene rilasciato al dispositivo.
  2. Il contatore consumer software avanza.
  3. Il dispositivo osserva la capacità di completamento aggiornata prima dell'invio di ulteriore lavoro di controllo interno.

Preserva il ciclo di vita della coda di completamento e mantiene allineata l'elaborazione interna delle code di invio mlx5 tra host e NIC.

Ciclo di vita Google GVE AF_XDP più affidabile

Google Virtual Ethernet DQO riceve un insieme coordinato di miglioramenti al ciclo di vita zero-copy AF_XDP.

I buffer XSK vengono ora rilasciati quando un descrittore di completamento RX segnala un errore. I buffer consegnati alla NIC vengono inoltre restituiti quando i ring RX vengono arrestati o reimpostati.

La chiusura del pool XSK usa ora la variante corretta di locking NAPI quando le operazioni di gestione delle code detengono già il lock netdevice. La riconfigurazione delle code procede senza tentare di acquisire due volte lo stesso lock.

Le modifiche all'arresto delle code e al pool XSK coprono scenari di produzione osservati negli ambienti Google Cloud.

Per HFTKernel Cloud, supporta configurazione, riconfigurazione, riavvio e smantellamento corretti di AF_XDP sulle interfacce GVE DQO.

Stima più precisa del ritardo PCIe in OCP PTP

Il driver OCP PTP usa ora KTIME_MAX come limite superiore iniziale per la stima del ritardo PCIe.

Il precedente massimo senza segno diventava negativo quando rappresentato come ktime_t, impedendo ai ritardi reali misurati di sostituirlo. Il calcolo aggiornato usa il corretto dominio temporale con segno e mantiene una regolazione valida della finestra di timestamp.

Migliora la compensazione del ritardo del percorso PCIe per le schede temporali OCP supportate e rafforza la relazione tra la finestra di timestamp dell'host e la lettura del clock hardware.

Per HFTKernel, fornisce una base hardware temporale più solida per sincronizzazione PTP, correlazione dei timestamp e misurazione della latency.

Stato cpuset più coerente durante i cambiamenti del ciclo di vita CPU

HFTKernel 7.2.11 include diverse correzioni cpuset rilevanti per la collocazione automatizzata delle CPU.

Durante la disattivazione delle CPU, guarantee_active_cpus() considera ora l'intervallo tra le modifiche alla maschera CPU attiva e la propagazione delle maschere cpuset effettive aggiornate.

La modalità cgroup viene valutata mantenendo cpuset_mutex, sincronizzando stato della gerarchia e aggiornamenti delle maschere.

Il controllo della modalità v2 usa inoltre un flag stabile dedicato invece di leggere un puntatore cgroup-root potenzialmente variabile.

Insieme, queste modifiche rafforzano lo stato cpuset durante:

  • hotplug CPU;
  • operazioni di mount e rebind dei cgroup;
  • cambiamenti del ciclo di vita dei servizi;
  • gestione automatizzata delle partizioni CPU.

Per HFTKernel, supporta una separazione affidabile tra core di trading, core di rete, CPU di housekeeping e carichi dei servizi.

Elaborazione limitata dei flow dump Open vSwitch

I flow dump netlink di Open vSwitch mantengono ora disabilitate le bottom halves per ogni callback di dump limitato.

In precedenza, ripetute abilitazioni locali delle bottom halves potevano far elaborare al thread di dump stesso l'arretrato softIRQ pendente. Su una CPU di elaborazione pacchetti occupata, l'arretrato poteva riempirsi continuamente.

Il percorso aggiornato mantiene il callback limitato alle voci di flusso inserite nella risposta netlink corrente. L'elaborazione softIRQ dei pacchetti rimane nei normali percorsi di esecuzione di rete invece di essere assorbita dal thread di controllo del flow dump.

Per HFTKernel Cloud e i profili di rete virtualizzati, crea un confine più chiaro tra carico del percorso dati e operazioni diagnostiche del piano di controllo.

Configurazione prevedibile dei ring io_uring

I ring SQ, CQ e provided-buffer non vengono più addebitati a RLIMIT_MEMLOCK, ripristinando la loro semantica di configurazione consolidata.

Impedisce ai normali servizi non privilegiati di ricevere un limite artificiale al numero di ring da memoria già controllata dal ciclo di vita io_uring e memory-cgroup.

Il riproduttore upstream con ring da 4,096 voci è tornato da 21 ring alla configurazione prevista di 64 ring con il limite memlock predefinito di 8 MiB.

Per le regioni di memoria compound io_uring effettivamente addebitate, la contabilità include ora ogni pagina allocata, comprese le pagine residue dovute alla potenza di due esterne alla regione logica richiesta.

Quando l'allocazione compound supererebbe il limite, io_uring può ripiegare su un'allocazione bulk di dimensione esatta.

Questa combinazione fornisce:

  • creazione prevedibile di SQ e CQ;
  • creazione prevedibile dei ring provided-buffer;
  • contabilità accurata delle allocazioni compound vincolate;
  • migliore utilizzo della memoria vicino ai limiti configurati.

Contabilità corretta della memoria bloccata rimappata

MREMAP_DONTUNMAP preserva ora una contabilità locked_vm coerente in altri due casi.

Le VMA anonime bloccate che si fondono con sé stesse rimangono separate, affinché sorgente e destinazione conservino lo stato di blocco corretto.

I remap parziali delle VMA bloccate dividono l'intervallo sorgente prima dello spostamento delle tabelle delle pagine, mantenendo la contabilità allineata alle pagine che rimangono alla sorgente e a quelle rappresentate dalla destinazione.

Per HFTKernel, rafforza la contabilità del ciclo di vita della memoria per applicazioni che usano insiemi di lavoro bloccati insieme a operazioni avanzate di rimappatura.

Parsing più affidabile di AF_PACKET, Virtio, VLAN e GSO

I percorsi di rete virtuale e packet socket applicano ora una sequenza coerente di analisi degli header.

I pacchetti GSO con tag VLAN inviati tramite AF_PACKET SOCK_RAW vengono analizzati dopo l'applicazione dei metadati Virtio. Preserva le posizioni corrette degli header di rete e trasporto ed evita analisi ridondanti.

I pacchetti GSO basati su Virtio vengono sempre sottoposti ad analisi del flusso quando i metadati di checksum offload non forniscono la posizione del trasporto. Garantisce che:

  • il protocollo di rete sia validato;
  • l'header di trasporto sia presente nei dati lineari;
  • l'offset di trasporto sia inizializzato;
  • le opzioni IPv4 e gli header di estensione IPv6 siano gestiti correttamente.

Gli offset di analisi del flusso vengono gestiti correttamente anche per buffer di pacchetti superiori a 64 KiB, inclusi BIG TCP e frame AF_PACKET PACKET_VNET_HDR grandi. Il percorso BPF flow-dissector riceve la stessa protezione.

Per HFTKernel, rafforza acquisizione dei pacchetti, replay, TUN/TAP, Virtio, classificazione BPF e carichi dei gateway virtuali.

Ricezione zero-copy TCP più robusta con memoria dei dispositivi

La ricezione zero-copy TCP riconosce ora i frammenti net_iov non basati su pagine prima di richiedere suggerimenti di mapping delle pagine.

Copre sia la memoria dei dispositivi basata su DMA-BUF sia i tipi net_iov di io_uring.

I dati leggibili basati su pagine possono ancora essere copiati o mappati normalmente. Quando il frammento successivo appartiene alla memoria del dispositivo, il kernel restituisce il suggerimento di salto corretto invece di trattarlo come una pagina convenzionale.

Rafforza l'interazione tra ricezione zero-copy TCP, memoria dei dispositivi, DMA-BUF e buffer di rete basati su io_uring.

Configurazione più sicura di XDP e della separazione header-dati TCP

I dispositivi di rete riconoscono ora i programmi XDP a buffer singolo collegati tramite bpf_link quando decidono se abilitare la separazione header-dati TCP.

Il kernel preserva quindi la compatibilità tra il programma XDP collegato e la disposizione dei buffer di ricezione NIC, indipendentemente dall'installazione tramite percorso legacy o API BPF link.

Veth aggiorna inoltre correttamente la capacità di trasmissione XDP del peer dopo modifiche alla configurazione GRO con l'interfaccia disattivata, mantenendo i percorsi di redirect di container e namespace allineati alla configurazione attiva del peer.

Mapping IOMMU diretto per risorse MMIO

Le risorse MMIO con DMA_ATTR_MMIO evitano ora la gestione bounce di SWIOTLB.

MMIO non può essere copiato attraverso un bounce buffer. Il percorso aggiornato procede direttamente al mapping IOMMU IOVA, anche per risorse non allineate alle pagine.

Per HFTKernel Hardware, rafforza il mapping delle risorse di dispositivi e acceleratori dietro una IOMMU ed elimina un percorso intermedio incompatibile dalla configurazione MMIO.

Protezione dell'invalidazione TLB AMD

HFTKernel 7.2.11 rileva AMD TLBI Erratum #1718.

Sui processori interessati, una sequenza INVLPGB e TLBSYNC potrebbe non invalidare la voce TLB prevista. Quando non è disponibile microcodice aggiornato, il kernel attiva una soluzione software.

Rafforza la correttezza delle transizioni degli spazi di indirizzamento e dell'invalidazione TLB sui sistemi AMD supportati.

TX e ripristino PCIe Broadcom NetXtreme-E più robusti

Il driver Broadcom bnxt_en mappa ora l'intera lunghezza con padding dei pacchetti TX corti.

Mantiene la lunghezza DMA allineata alla dimensione del pacchetto presentata all'hardware, inclusi piccoli frame di controllo trasmessi tramite interfacce VLAN e macvlan sugli adattatori NetXtreme-E supportati.

Il ripristino PCIe ripristina inoltre coerentemente la configurazione BAR nei percorsi di reset sia fatali sia non fatali. Visibilità MMIO del dispositivo, bus mastering e decodifica della memoria vengono ristabiliti in ordine controllato dopo il ripristino.

Strumenti di misurazione inclusi

HFTKernel 7.2.11 include:

cpujitter

Per intervalli di mancata esecuzione CPU, interferenze dello scheduler, attività IRQ e softIRQ e code di latency.

memjitter

Per allocazione, first-touch, insiemi di lavoro bloccati e comportamento sotto pressione sulla memoria.

irqjitter

Per l'analisi dell'attività IRQ e softIRQ.

Questi strumenti collegano le modifiche a livello kernel al comportamento dell'intero stack applicativo.

Risultato di HFTKernel 7.2.11

HFTKernel 7.2.11 rafforza il sistema operativo attorno alle applicazioni sensibili alla latency:

  • i nuovi tentativi mlx5 AF_XDP preservano la proprietà UMEM sotto pressione sui ring e sulle allocazioni;
  • Google GVE gestisce coerentemente i buffer AF_XDP tra errori ed eventi del ciclo di vita delle code;
  • Intel ICE pubblica lo stato della coda TX prima di attivare la doorbell NIC;
  • mlx5 mantiene ordinati gli aggiornamenti dello spazio di completamento rispetto all'avanzamento delle code di invio interne;
  • le schede OCP PTP mantengono una compensazione corretta del ritardo PCIe;
  • lo stato cpuset rimane coerente durante i cambiamenti del ciclo di vita CPU e cgroup;
  • Open vSwitch mantiene il lavoro di flow dump separato da un arretrato softIRQ illimitato;
  • i ring io_uring mantengono configurazione prevedibile e contabilità della memoria accurata;
  • i percorsi AF_PACKET, Virtio, GSO, BIG TCP, XDP e TCP zero-copy ricevono una gestione più solida di buffer e header;
  • l'invalidazione TLB AMD e il mapping MMIO IOMMU ricevono protezioni specifiche dell'hardware.

Insieme, queste modifiche offrono una base più prevedibile e misurabile per HFT, dati di mercato, gateway di esecuzione, rete cloud, elaborazione dei pacchetti e infrastruttura con timestamp hardware.

HFTKernel 7.2.10

Completamenti dei timer più rapidi, località LLC più forte e rete zero-copy più affidabile

Base upstream: Linux 7.2.10. Modifiche da Linux 7.2.9. Data di rilascio: 11 ottobre 2026.

Completamenti più rapidi dei timer ad alta risoluzione

Il percorso di ritorno dei timer ad alta risoluzione cancella ora TIF_HRTIMER_REARM usando la maschera di bit corretta.

Mantiene visibile al ciclo di ritorno allo userspace il lavoro delle attività accodato da un callback hrtimer. Le applicazioni che interrogano un ring di completamento io_uring ricevono prontamente i completamenti dei timer invece di attendere una chiamata di sistema, un interrupt o una rischedulazione successivi.

Nella configurazione upstream QEMU con 2 vCPU e HZ=1000, il ritardo mediano di completamento dei timeout è migliorato da 30 ms a 70 µs.

Per HFTKernel, rafforza macchine a stati guidate dai timer, gestione dei timeout, I/O asincrono, supervisione delle connessioni e altri percorsi di controllo sensibili alla latency.

Scheduling consapevole della cache più solido

Linux 7.2.10 include un insieme coordinato di miglioramenti dello scheduler consapevoli della cache.

I thread del kernel vengono esclusi dalla contabilità dei gruppi cache userspace, impedendo loro di ereditare statistiche della cache applicativa.

L'accesso ai gruppi cache nel percorso frequente dello scheduler passa ora direttamente da task_struct, con un riferimento indipendente per ogni attività. Separa la durata del gruppo cache dello scheduler dalla sostituzione di mm_struct durante fork, exec ed exit.

Il bilanciamento attivo del carico preserva la politica migrate_llc_task, selezionando un'attività che preferisce realmente la LLC di destinazione invece di spostarne un'altra dal dominio cache preferito.

La contabilità delle attività eseguibili segue inoltre l'insieme preciso delle attività idonee alla migrazione, incluse le transizioni di dequeue ritardato.

Sui processori asimmetrici e ibridi, la capacità dello scheduler ha priorità quando spostare un'attività nella LLC preferita la collocherebbe su una CPU troppo piccola per il carico.

HFTKernel continua a usare affinità esplicita per i thread di trading critici. Questi miglioramenti dello scheduler rafforzano servizi di supporto, componenti di monitoraggio, processi del piano di controllo e altri carichi che rimangono gestiti dallo scheduler.

Ricezione zero-copy io_uring più deterministica

Multishot RECV_ZC registra ora quando un passaggio di ricezione si interrompe per esaurimento di una risorsa locale.

Se sono stati compiuti progressi parziali, la richiesta viene riaccodata. Il passaggio successivo continua l'elaborazione oppure restituisce un completamento di errore esplicito che l'applicazione può usare per riarmare l'operazione.

Sostituisce uno stato inattivo implicito con una transizione deterministica e osservabile. I dati TCP non letti non attendono più un futuro evento socket non correlato prima della ripresa dell'elaborazione.

Per HFTKernel, rafforza l'acquisizione zero-copy dei dati di mercato, l'elaborazione TCP ad alta frequenza e le applicazioni di rete basate su io_uring.

Flussi di timestamp TX io_uring affidabili

Le richieste multishot SOCKET_URING_OP_TX_TIMESTAMP terminano ora con un completamento ENOBUFS visibile quando la coda di completamento non ha spazio per un altro record di timestamp.

Il CQE terminale raggiunge lo userspace attraverso il percorso di overflow. I timestamp già conservati nella coda degli errori del socket vengono consegnati quando l'applicazione riarma la richiesta.

Fornisce agli utilizzatori di timestamp un ciclo di vita chiaro:

  1. Ricevere i completamenti dei timestamp.
  2. Rilevare la saturazione della coda di completamento.
  3. Svuotare la coda.
  4. Riarmare la richiesta.
  5. Continuare con i timestamp conservati.

Il risultato è un percorso dei timestamp hardware di trasmissione più esplicito e gestibile.

Rete Google GVE DQO più robusta

Il driver Google Virtual Ethernet DQO tratta ora gso_type come maschera di bit quando prepara i pacchetti TSO.

I pacchetti TSO provenienti da TUN/TAP, packet socket e macchine virtuali includono comunemente flag come SKB_GSO_DODGY, SKB_GSO_TCP_ECN o SKB_GSO_TCP_FIXEDID. Vengono ora accettati quando il tipo di segmentazione TCP sottostante è supportato.

In un test upstream con un'istanza GCE n4 DQO-QPL e un guest Cloud Hypervisor, un upload guest di 64 MB è migliorato da un timeout di 60 secondi a circa 0.9 MB/s a 0.19 secondi. Il contatore del dispositivo tx_dropped è rimasto stabile dopo la modifica.

Rafforza virtualizzazione annidata, appliance di rete cloud, gateway virtualizzati e carichi guest che usano Google GVE DQO.

Stato RTT TCP più preciso

TCP aggiorna ora TS.Recent quando un ACK precedente accettato trasporta anche nuovi dati.

È importante per le connessioni bidirezionali di lunga durata, dove il riordinamento dei pacchetti può consegnare dati utili insieme a una conferma precedente a una già elaborata.

Il lato ricevente ora riecheggia il timestamp del pacchetto che ha colmato il vuoto di ricezione. Il mittente calcola quindi RTT dallo scambio corrente invece di includere un lungo intervallo di inattività.

Nello scenario upstream con 300 secondi di inattività, riordinamento controllato e ritrasmissione, l'RTT smussato del mittente è passato da 37.5 secondi a 15.5 ms.

Per HFTKernel, supporta un comportamento più stabile delle connessioni persistenti TCP, TLS, WebSocket, dati di mercato ed esecuzione.

Liberazione della memoria basata su RCU più pulita

Lo slab allocator non risveglia più kswapd durante l'allocazione di memoria interna da __kfree_rcu_sheaf().

kfree_rcu() può essere eseguito mentre lo scheduler mantiene pi_lock. La rimozione di __GFP_KSWAPD_RECLAIM da questo percorso evita un risveglio reclaim che può tornare allo stesso lock dello scheduler.

La gestione sheaf aggiornata usa inoltre meglio la memoria di riserva locale quando lo spinning non è disponibile.

Per HFTKernel, elimina lavoro in background inutile da un percorso di gestione della memoria sensibile allo scheduler e rafforza la liberazione RCU in batch.

Gestione del ciclo di vita futex più solida

Il ridimensionamento dell'hash futex privato pubblica ora il nuovo puntatore hash prima di registrare lo stato del periodo di grazia RCU associato.

I lettori dell'hash precedente rimangono protetti fino al completamento del periodo di grazia corretto.

Rafforza l'infrastruttura di sincronizzazione per applicazioni multithread che usano mutex basati su futex, variabili di condizione e coordinamento durante l'esecuzione.

Pulizia limitata degli oggetti BPF

Gli oggetti di memoria BPF aggiunti mentre un periodo di grazia Tasks Trace RCU è già attivo attivano ora un altro ciclo di pulizia.

Gli oggetti non rimangono più indefinitamente in free_by_rcu_ttrace e la creazione e distruzione ripetuta delle mappe non causa più oggetti trattenuti senza limite o accumulo di worker di pulizia.

Per HFTKernel, migliora il ciclo di vita di osservabilità, tracciamento, politiche e strumentazione di rete basati su BPF.

Ring TX AF_PACKET più sicuri

AF_PACKET arresta ora un invio bloccante PACKET_TX_RING prima che il conteggio positivo accumulato dei byte superi INT_MAX.

Il frame rimanente resta pendente per la chiamata di invio successiva, preservando avanzamento e risultato positivo valido anche quando lo userspace ricicla continuamente gli slot completati del ring.

Rafforza carichi di lunga durata di replay dei pacchetti, generazione del traffico, test di rete e qualificazione dei dati di mercato.

Riciclo dei page pool più affidabile

Il riciclo bulk dei page pool aggiorna le statistiche mentre il lock del produttore protegge ancora il pool.

Gli ultimi buffer di rete in volo e la rimozione del pool rimangono coordinati anche quando CONFIG_PAGE_POOL_STATS è abilitato.

Supporta il riciclo affidabile dei buffer di rete ad alta frequenza e un'osservabilità attendibile dei page pool.

Configurazione migliore dei timestamp hardware

Le operazioni ethtool netlink TSCONFIG_GET e TSCONFIG_SET raggiungono ora i dispositivi in cui il timestamping hardware è fornito interamente dal PHY.

L'interfaccia netlink è ora allineata al comportamento ioctl consolidato per i fornitori di timestamp basati su PHY.

Rafforza la configurazione e il rilevamento del timestamping hardware nelle architetture di rete supportate.

Rimozione più pulita dei timestamp mlx5 AF_XDP

Il driver mlx5 gestisce ora il completamento dei descrittori TX AF_XDP senza CQE durante la rimozione delle code.

Quando non è disponibile un CQE, l'helper dei timestamp restituisce un risultato neutro invece di dereferenziare una voce di completamento non disponibile.

Migliora il ciclo di vita delle code AF_XDP che usano timestamp TX e checksum offload.

Osservabilità fprobe con overhead ridotto

Gli handler fprobe verificano ora se RCU sta osservando prima di operare in stati inattivi o di quiescenza estesi nohz_full.

Il percorso di attivazione delle sonde usa rcu_sched_notrace, eliminando il precedente lavoro rcu_read_lock() e lockdep a ogni attivazione e preservando una sincronizzazione sicura dei periodi di grazia.

Per HFTKernel, allinea meglio la strumentazione del kernel alle configurazioni CPU isolate e tickless.

Transizioni di stato KVM SVM più solide

Sugli host KVM AMD, lo stato TLB flush pendente viene preservato quando VMRUN non si completa correttamente.

I requisiti di flush di tutti gli ASID vengono tracciati per CPU fisica, in linea con l'ambito di riutilizzo degli ASID. I campi di controllo vengono aggiornati solo dopo una transizione riuscita.

Rafforza la gestione dello stato TLB sugli host di virtualizzazione AMD.

Attraversamenti KVM shadow MMU più sicuri

KVM interrompe ora immediatamente l'attraversamento delle tabelle shadow quando la radice corrente non è valida o è una radice fittizia basata sulla pagina zero.

Mantiene la creazione concorrente di memslot e la gestione dei page fault annidati su un percorso MMU valido.

Ordine corretto della manutenzione cache SEV

Durante la migrazione SEV interna all'host, la manutenzione della cache della VM sorgente termina ora prima che la VM perda lo stato SEV attivo.

La memoria non può tornare all'allocator dell'host prima che lo stato della cache del guest cifrato sia stato riscritto nell'ordine richiesto.

Rafforza la gestione del ciclo di vita delle VM riservate nel profilo HFTKernel KVM Host.

PCI AtomicOps per dispositivi passthrough

Un guest passthrough riconosce ora le PCI AtomicOps già abilitate dall'hypervisor su un endpoint, anche quando il Root Port a monte è nascosto nella topologia del guest.

Consente ad acceleratori e dispositivi di rete compatibili di usare il proprio percorso di operazioni atomiche in ESXi, Hyper-V e ambienti passthrough simili.

Meno lavoro in x86 AES-GCM

L'implementazione x86 AES-GCM non tratta più il segmento AAD finale come segmento intermedio.

Elimina una copia aggiuntiva nel buffer temporaneo e una chiamata assembly extra dal percorso del segmento finale.

Il miglioramento è utile per infrastrutture che usano l'API crittografica del kernel per rete cifrata, storage o servizi di sicurezza.

Strumenti di misurazione inclusi

HFTKernel 7.2.10 include:

cpujitter

Per intervalli di mancata esecuzione CPU, interferenze dello scheduler, attività IRQ e softIRQ e code di latency.

memjitter

Per allocazione, first-touch, comportamento dell'insieme di lavoro e sotto pressione sulla memoria.

irqjitter

Per l'analisi dell'attività IRQ e softIRQ.

Metriche applicative, telemetria dei completamenti dei timer, stato dei completamenti io_uring, statistiche TCP, timestamp hardware, contatori di rete ed eventi KVM completano il livello di misurazione.

Risultato di HFTKernel 7.2.10

HFTKernel 7.2.10 rafforza il sistema operativo attorno alle applicazioni sensibili alla latency:

  • i completamenti dei timer ad alta risoluzione raggiungono prontamente lo userspace;
  • i carichi gestiti dallo scheduler mantengono una località LLC più forte;
  • le ricezioni zero-copy espongono esplicitamente i limiti delle risorse;
  • i flussi di timestamp di trasmissione recuperano correttamente dalla saturazione CQ;
  • Google GVE DQO gestisce efficientemente il traffico TSO virtualizzato;
  • TCP mantiene uno stato RTT preciso dopo lunghi periodi di inattività;
  • la liberazione RCU genera meno attività di reclaim in background;
  • i cicli di vita futex e BPF rimangono limitati e coordinati;
  • i percorsi AF_PACKET e page pool mantengono un avanzamento affidabile;
  • il timestamping hardware funziona con i fornitori basati su PHY;
  • fprobe si integra meglio con nohz_full;
  • i percorsi KVM, SEV e PCI passthrough ricevono una gestione dello stato più solida.

Insieme, queste modifiche rendono le piattaforme cloud, bare-metal, di elaborazione pacchetti e virtualizzazione più prevedibili, misurabili e controllabili.

HFTKernel 7.2.9

Isolamento CPU più forte, ring di pacchetti più sicuri e percorsi di virtualizzazione più puliti

Base upstream: Linux 7.2.9. Modifiche da Linux 7.2.8. Data di rilascio: 3 ottobre 2026.

Partizionamento CPU più affidabile

La gestione cpuset di cgroup v2 rifiuta ora configurazioni in cui una partizione root remota tenta di usare CPU già assegnate a una partizione locale antenata.

Preserva la proprietà esclusiva delle CPU e rafforza la separazione dei carichi di trading, rete, housekeeping e servizi.

Per HFTKernel, lo stato delle partizioni CPU rimane coerente durante creazione, riconfigurazione e rimozione dei servizi.

Completamento zero-copy AF_PACKET più sicuro

PACKET_TX_RING usa ora il meccanismo standard di completamento zero-copy.

Uno slot del ring diventa disponibile solo dopo che tutti i riferimenti ai suoi dati sono stati rilasciati o copiati. Mantiene esplicita la proprietà dei buffer dei pacchetti nell'intero ciclo di vita TX.

La modifica rafforza:

  • replay dei dati di mercato;
  • generatori di traffico;
  • sonde di latency basate su pacchetti;
  • ambienti di test AF_PACKET;
  • carichi di qualificazione della rete.

Avanzamento affidabile dei ring virtio-net

Virtio-net rilascia ora i frammenti zero-copy rilevanti prima di rendere orfani i pacchetti quando NAPI TX è disabilitato.

Mantiene l'avanzamento delle configurazioni PACKET_TX_RING limitate e restituisce gli slot completati al mittente senza attendere un'ulteriore trasmissione.

Lo stesso miglioramento del ciclo di vita supporta percorsi di virtualizzazione annidata con vhost-net e virtio-net.

Comportamento limitato dei timer TPACKET_V3

TPACKET_V3 calcola ora i timeout di ritiro dei blocchi con aritmetica che supporta in sicurezza blocchi grandi dei ring di pacchetti.

Impedisce a un overflow del timer di creare un timer ad alta risoluzione che si riavvia continuamente in contesto softIRQ.

Per i sistemi di acquisizione e replay, il risultato è un comportamento controllato dei timer e protezione da un ring che consuma un'intera CPU tramite elaborazione softIRQ continua.

Gestione della trasmissione Google GVE DQO più solida

Il driver GVE DQO valida ora la geometria TSO e GSO prima nel percorso di trasmissione.

I pacchetti con MSS inferiore al minimo supportato dall'hardware passano al percorso software appropriato prima di raggiungere il dispositivo. Evita scarti hardware silenziosi e le ritrasmissioni conseguenti.

L'elaborazione UDP GSO usa inoltre la lunghezza corretta dell'header di trasporto per calcolare limiti dei segmenti e requisiti dei descrittori.

Queste modifiche migliorano la coerenza della trasmissione di rete Google Cloud per carichi TCP e UDP che usano GVE DQO.

Gestione HugeTLB più resiliente

Lo spostamento delle tabelle delle pagine HugeTLB durante mremap() preserva ora la corretta relazione tra gli indirizzi dei mapping sorgente e destinazione.

Le pagine gigantesche senza supporto alla dissoluzione durante l'esecuzione rimangono sul loro percorso di ciclo di vita compatibile, preservando la coerenza di lista libera e stato delle pagine.

Queste modifiche rafforzano gli insiemi di lavoro HugeTLB esplicitamente riservati, incluse configurazioni con pagine da 1 GiB sui sistemi x86 supportati.

Ordinamento della memoria anonima più solido

L'inizializzazione delle VMA anonime pubblica ora il puntatore anon_vma con l'ordinamento di memoria richiesto.

Tutti i campi inizializzati diventano visibili prima che un'altra CPU possa usare la nuova struttura.

Rafforza i percorsi concorrenti di page fault, first-touch, mprotect() e VMA adiacenti, soprattutto sulle architetture debolmente ordinate come ARM64.

Rimozione del writeback cgroup più prevedibile

La pulizia writeback dei cgroup di memoria offline segnala ora stati di quiescenza Tasks-RCU durante lunghe operazioni di svuotamento.

Il percorso interessato di svuotamento degli inode avanza inoltre linearmente, proseguendo dalla precedente posizione di scansione invece di ripercorrere lo stesso prefisso della lista.

Mantiene l'avanzamento di BPF, ftrace e altri utenti Tasks-RCU durante la rimozione di servizi o container di grandi dimensioni.

Controllo DPLL più preciso

La sincronizzazione dei riferimenti DPLL usa ora una ricerca precisa per ID del pin.

Una richiesta userspace si applica solo al pin di riferimento selezionato e non può essere reindirizzata a una voce vicina con identificatore diverso.

Rafforza il controllo deterministico della topologia delle sorgenti temporali sull'hardware supportato.

Timestamping hardware basato su PHY ripristinato

I dispositivi di rete che forniscono timestamp hardware tramite PHY non dipendono più da callback di timestamp del driver MAC non applicabili alla loro architettura.

La configurazione PTP raggiunge direttamente il percorso di timestamping PHY, preservando i timestamp hardware sui dispositivi supportati.

Inizializzazione AWS ENA più pulita

Il percorso di pulizia del probe AWS ENA rilascia ora le risorse di lettura PHC e MMIO nell'ordine corretto.

Registrazione del clock PTP, stato PHC, risorse MMIO basate su DMA e dati privati del driver rimangono allineati durante inizializzazione parziale e pulizia del dispositivo.

Rafforza la gestione del ciclo di vita ENA nel profilo HFTKernel Cloud.

Overhead delle transizioni KVM ridotto

Le operazioni di virtualizzazione annidata usano ora chiamate statiche in diversi percorsi L2 attivi.

Sugli host Intel supportati, KVM evita inoltre di cambiare la configurazione DS_AREA e PEBS quando PEBS del guest è inattivo. Il percorso interessato elimina due o quattro scritture MSR inutili per andata e ritorno VMX.

I processori con isolamento PEBS evitano tre ulteriori scritture MSR relative a PEBS a ogni transizione VMX.

Questi miglioramenti rendono HFTKernel più efficiente come host KVM per carichi virtualizzati annidati e sensibili alle prestazioni.

Misurazioni Intel PEBS più affidabili

Intel PEBS riceve classificazioni più precise di caricamenti e scritture, vincoli delle sorgenti dati e decodifica dello stato snoop nelle microarchitetture recenti supportate.

Migliora l'analisi assistita dall'hardware di:

  • latency della memoria;
  • comportamento della cache;
  • stalli di caricamento e scrittura;
  • effetti NUMA;
  • ritardi di esecuzione rari.

Il risultato è un livello di osservabilità più affidabile per l'ottimizzazione delle prestazioni e le analisi della tail latency.

Instradamento delle code XPS più coerente

XPS rifiuta ora gli identificatori di classe di traffico esterni alla configurazione attiva delle code.

Mantiene coerenti le mappe di instradamento delle code dopo cambiamenti delle classi di traffico e preserva metadati validi di collocazione CPU-coda TX.

Strumenti di misurazione inclusi

Ogni bundle di pacchetti HFTKernel include:

cpujitter

Per intervalli di mancata esecuzione CPU, interferenze dello scheduling, attività IRQ e softIRQ e code di latency.

memjitter

Per allocazione, first-touch, comportamento dell'insieme di lavoro e sotto pressione sulla memoria.

irqjitter

Per l'analisi dell'attività IRQ e softIRQ.

Gli strumenti vengono distribuiti in pacchetti nativi del sistema operativo allineati alla versione HFTKernel e al profilo di piattaforma.

Risultato di HFTKernel 7.2.9

HFTKernel 7.2.9 rafforza il sistema attorno alle applicazioni sensibili alla latency:

  • la proprietà esclusiva delle CPU rimane coerente;
  • proprietà e completamento dei ring di pacchetti sono espliciti;
  • i carichi di acquisizione mantengono un comportamento limitato dei timer;
  • le transizioni HugeTLB e della memoria anonima sono più robuste;
  • la rimozione dei cgroup genera meno interferenze prolungate in background;
  • la configurazione PTP e DPLL diventa più precisa;
  • la gestione del ciclo di vita ENA è più pulita;
  • le transizioni KVM eseguono meno lavoro inutile;
  • le misurazioni PEBS forniscono dati sulle prestazioni più affidabili.

Insieme, queste modifiche rendono l'host più prevedibile, misurabile e controllabile nelle distribuzioni cloud, bare-metal, di acquisizione pacchetti e virtualizzazione.

HFTKernel 7.2.8

Reclaim della memoria più pulito, acquisizione pacchetti più solida e diagnostica temporale migliore

Base upstream: Linux 7.2.8. Modifiche da 7.2.7. Data di rilascio upstream: 25 settembre 2026.

Reclaim della memoria più prevedibile

Linux 7.2.8 migliora la separazione tra shrinker globali dei filesystem e reclaim per cgroup di memoria.

Gli hook di oggetti in cache non consapevoli di memcg restano sul percorso di reclaim globale, mentre gli hook dei filesystem consapevoli di memcg possono ancora partecipare al reclaim per memcg. Evita lavoro globale ripetuto su molte coppie memcg/nodo NUMA, ripristinando un reclaim per memcg utile per percorsi come quello degli slab inode XFS.

Per HFTKernel, supporta un isolamento dei servizi più pulito e minori interferenze in background sui sistemi che usano container, cgroup v2 o limiti di memoria per servizio.

Contabilità più precisa della memoria bloccata

La versione corregge la contabilità locked_vm per MREMAP_DONTUNMAP quando VMA bloccate vengono rimappate senza smappare la sorgente.

Rende inoltre più sicuri gli aggiornamenti NR_MLOCK nei percorsi in cui munlock(), I/O diretto, folio della page cache e completamento IRQ possono interagire sulla stessa CPU.

Per HFTKernel, rafforza la contabilità della memoria attorno agli insiemi di lavoro vincolati e bloccati, comuni nelle applicazioni sensibili alla latency e nei carichi di misurazione.

Comportamento più chiaro dei mapping grandi per la memoria gestita dai driver

I mapping PFNMAP grandi evitano ora i parametri THP generici dove non sono applicabili. Il registro upstream segnala che questi mapping non sono normale memoria THP recuperabile e che una gestione errata causava degrado reale delle prestazioni nelle configurazioni interessate.

Per HFTKernel, riguarda mapping specializzati dei dispositivi, mapping di tipo DAX e memoria gestita dai driver, non la politica THP applicativa predefinita.

Percorsi di acquisizione e replay AF_PACKET più solidi

AF_PACKET riceve due correzioni pratiche per l'elaborazione dei pacchetti basata su ring.

TPACKET_V3 preserva ora la dimensione validata dell'area privata senza troncarla in un campo interno più piccolo. Impedisce ai record dei pacchetti di sovrapporsi ai metadati privati del ring.

Il percorso di errore dell'header VNET cancella ora correttamente la proprietà RX, impedendo a un pacchetto fallito di rendere indisponibile uno slot del ring per il pacchetto valido successivo.

Per HFTKernel, è direttamente utile per acquisizione dei dati di mercato, replay dei pacchetti, sonde di latency, generatori di traffico e ambienti di test di rete basati su AF_PACKET.

Comportamento più robusto dei timestamp TCP e socket

TCP esclude ora gli ACK eccessivamente vecchi dal percorso rapido e li invia al normale percorso di validazione. Mantiene gli aggiornamenti dello stato della connessione TCP allineati alla validazione degli ACK.

La configurazione dei timestamp dei socket acquisisce ora il lock del socket quando modifica i relativi flag, preservando il caso comune senza lock. Rafforza la correttezza del ciclo di vita dei timestamp nei sistemi con molti socket.

Per HFTKernel, queste modifiche migliorano la correttezza delle connessioni di lunga durata TCP, TLS, WebSocket, del piano di controllo e di osservabilità.

Diagnostica PTP e PHC migliore

Per MACB/GEM, i timestamp di sistema restituiti attorno a una lettura PHC delimitano ora correttamente la lettura del registro hardware. Il registro upstream riporta che l'intervallo precedente poteva essere irrealisticamente breve rispetto alla lettura ordinata effettiva, distorcendo la sincronizzazione basata sul punto medio.

Per stmmac, phc_index rimane ora non impostato quando il timestamping hardware è supportato ma non è ancora stato registrato un clock PTP. Evita di riportare un indice PHC apparentemente valido per il clock sbagliato.

Per HFTKernel, migliora l'integrità della diagnostica temporale e riduce il rischio di rilevamento PHC fuorviante nelle configurazioni NIC supportate.

Gestione più solida del ciclo di vita RDMA, EFA e IRQ

Il driver AWS EFA mantiene ora attive risorse EQ e code amministrative mentre i relativi handler IRQ sono registrati. L'ordine di inizializzazione e rimozione è allineato alle risorse usate dal contesto di interrupt.

I percorsi RDMA ricevono inoltre miglioramenti del ciclo di vita e dell'ordinamento, inclusi fence locali per la registrazione della memoria Intel irdma e gestione XArray sicura per IRQ nelle tabelle QP e CQ erdma.

Per HFTKernel Hardware e ambienti prossimi al cloud, rafforza l'affidabilità del ciclo di vita RDMA guidato dagli interrupt.

Diagnostica e osservabilità più affidabili

perf migliora la pulizia degli eventi PMU guest mediati quando i moduli vengono scaricati con connessioni perf attive.

I metadati dei gruppi netlink vengono ora aggiornati con pubblicazione sicura per RCU e liberazione ritardata per i lettori senza lock.

drop_monitor riceve una gestione più sicura della rimozione di tracepoint, puntatori per CPU e timer, incluso timer_shutdown_sync() per impedirne il riarmo durante la rimozione.

Per HFTKernel, queste modifiche rafforzano l'affidabilità delle sessioni diagnostiche usate per analizzare pacchetti scartati, interferenze dello scheduling ed eventi rari di tail latency.

Strumenti di misurazione inclusi

cpujitter

Misura jitter dell'esecuzione CPU, interferenze degli interrupt e code di latency.

memjitter

Misura latency di allocazione, comportamento first-touch, insiemi di lavoro bloccati e comportamento della memoria sotto carico.

Usali entrambi insieme alle misurazioni a livello applicativo.

Valida l'aggiornamento con test A/B controllati usando la stessa toolchain, configurazione del kernel, collocazione CPU e IRQ e carico. Includi test di acquisizione pacchetti, diagnostica temporale e ciclo di vita per le funzionalità usate nella distribuzione.

HFTKernel 7.2.7

Isolamento CPU più coerente, percorsi di controllo più snelli e misurazioni più affidabili

Base upstream: Linux 7.2.7. Modifiche da 7.2.6. Data di rilascio upstream: 21 settembre 2026.

Isolamento CPU e contabilità dello scheduler

La gestione cpuset di cgroup v2 conserva le CPU isolate all'avvio nella contabilità dell'isolamento quando una partizione isolata viene rilasciata o cambia stato. Mantiene cpuset.cpus.isolated allineato all'isolamento dei domini all'avvio e supporta un'automazione affidabile della collocazione nei cicli di vita dei servizi.

EEVDF mantiene ora coerentemente il tempo virtuale minimo e i metadati degli intervalli minimo/massimo durante gli aggiornamenti dell'albero runqueue, inclusa l'inizializzazione di max_slice prima dell'accodamento. Questi affinamenti supportano lo scheduling della classe fair per thread applicativi e di housekeeping.

La contabilità dell'inattività media viene aggiornata solo quando è disponibile un timestamp inattivo valido, mantenendola legata a intervalli reali.

Meno lavoro di migrazione RT e deadline inutile

Gli scheduler RT e deadline saltano le attività con migrazione disabilitata quando scelgono quale spostare su un'altra CPU. Possono selezionare un candidato trasferibile o ritornare subito, evitando risvegli ripetuti del CPU stopper che non possono avanzare. Il miglioramento riguarda i relativi percorsi di scheduling RT/DL.

Lavoro differito della console più efficiente

L'output differito della console nbcon usa lavoro IRQ lazy. Quando il tick locale dello scheduler è attivo, il lavoro può essere servito su quel tick invece di richiedere un altro interrupt immediato. Una CPU con tick fermo può ancora richiedere un interrupt, preservando l'avanzamento nelle configurazioni tickless.

Allocazione più prevedibile dei pacchetti di controllo TCP

I pacchetti TCP di reset attivo usano flag di allocazione atomica, evitando il reclaim diretto della memoria mentre è mantenuto un lock socket. Mantiene leggera l'allocazione nei percorsi interessati di chiusura e disconnessione, inclusa la rimozione dei socket usata dagli stack di storage di rete.

Contabilità più precisa dei buffer di ricezione io_uring

Le operazioni di ricezione con MSG_TRUNC contabilizzano i byte effettivamente copiati nei buffer forniti, preservando il risultato richiesto a lunghezza completa. Il consumo incrementale rimane allineato alla regione disponibile, supportando un riutilizzo affidabile dei buffer nelle applicazioni che usano questa modalità.

Diagnostica coerente dei timestamp hardware

Il driver mlx5 conserva le statistiche cumulative dei timestamp hardware durante modifiche al numero di canali, alle classi di traffico e alle modalità di timestamping DMA o di porta. Le statistiche persistenti consentono inoltre al percorso di lettura di evitare il precedente mutex di stato. Rafforza la telemetria dei timestamp durante la riconfigurazione NIC.

Cicli di vita dei driver di rete più affidabili

Azure MANA: la riconfigurazione XDP conserva il precedente stato valido del programma quando la preallocazione dei buffer di ricezione non può completarsi.

Intel IDPF: il lavoro di moderazione dinamica degli interrupt viene fermato prima del rilascio dei vettori delle code. Gli header VLAN vengono inoltre considerati nell'analisi dei pacchetti ricevuti aggregati dall'hardware.

GRO e inoltro: i pacchetti TCP aggregati dall'hardware rimangono compatibili con l'elaborazione fraglist GRO e la segmentazione successiva. Riguarda configurazioni di inoltro Linux che combinano questi offload.

Osservabilità delle prestazioni più affidabile

Il campionamento Intel PEBS coordina l'arresto PMU e lo svuotamento dei buffer condivisi per evitare operazioni di svuotamento sovrapposte. Migliora l'affidabilità del campionamento delle prestazioni assistito dall'hardware sui sistemi Intel supportati.

Gli istogrammi di tracciamento conservano i modificatori percentuali e grafici dei valori. La configurazione seleziona e valida il clock di tracciamento prima di pubblicare il trigger, rafforzando la ripetibilità della configurazione delle sessioni diagnostiche.

Gestione più solida del ciclo di vita della memoria e dell'I/O

SLUB coordina le restituzioni alla freelist con gli aggiornamenti della lista parziale sotto il lock del nodo appropriato, mantenendo coerente lo stato dell'allocator durante operazioni concorrenti.

Su x86, le tabelle delle pagine create dividendo mapping grandi del kernel usano il percorso standard di allocazione delle tabelle del kernel. Mantiene coordinati costruzione, contabilità, liberazione differita e invalidazione IOTLB.

Per le scritture asincrone io_uring, la contabilità delle scritture del filesystem termina nel callback di completamento I/O effettivo invece di attendere l'elaborazione successiva del task work. Migliora il coordinamento con blocco e arresto dei filesystem.

Strumenti di misurazione inclusi

cpujitter

Misura jitter dell'esecuzione CPU e comportamento delle code di latency.

memjitter

Misura allocazione della memoria, first-touch, comportamento dell'insieme di lavoro e sotto pressione sulla memoria.

Usali entrambi insieme alle misurazioni a livello applicativo.

Valida l'aggiornamento con test A/B controllati usando la stessa toolchain, configurazione del kernel, collocazione CPU e IRQ e carico. Includi misurazioni a regime e test del ciclo di vita per le funzionalità usate nella distribuzione.

HFTKernel 7.2.6

Gestione del tempo più coerente, gestione delle risorse più snella e cicli di vita di rete più solidi

Base upstream: Linux 7.2.6. Modifiche da 7.2.5. Data di rilascio upstream: 14 settembre 2026.

Gestione del tempo di sistema più coerente

La gestione del tempo considera ora in ntp_error la regolazione del timestamp che preserva la continuità quando cambia il moltiplicatore di frequenza della clocksource. Mantiene il calcolo dell'errore di regolazione del clock allineato alla correzione, soprattutto durante correzioni di frequenza maggiori da un riferimento esterno.

Gestione più efficiente della collocazione CPU e memoria

In cgroup v2, la gestione hotplug cpuset evita aggiornamenti ridondanti delle attività quando le maschere effettive CPU e dei nodi NUMA sono ereditate dal genitore. Riduce lavoro superfluo di gestione della collocazione durante gli aggiornamenti topologici interessati.

Meno lavoro superfluo di reclaim della memoria

Quando un cgroup di memoria viene rimosso, la contabilità della dimensione LRU passa al genitore invece di rimanere duplicata nel figlio. Il reclaim LRU tradizionale evita scansioni ripetute di liste svuotate, mentre MGLRU beneficia di una contabilità più precisa del budget dei nodi shadow. Migliora la contabilità delle risorse durante riavvii dei servizi, ricambio dei container e pressione sulla memoria.

Pacing dei pacchetti FQ più coerente

FQ compensa ora solo la deriva positiva dello scheduling nel calcolo dei ritardi di pacing. Con pacing offload abilitato, un dequeue anticipato non accorcia più l'intervallo successivo nei percorsi interessati con limite di velocità e non EDT. La validazione durante l'esecuzione di quantum e initial_quantum mantiene inoltre la configurazione FQ entro limiti supportati.

Gestione più affidabile di AF_XDP e dei buffer DMA

Il driver virtio-net ridimensiona ora l'array dei buffer AF_XDP insieme al ring RX. Mantiene la capacità dei buffer allineata alla configurazione della coda quando è collegata un'applicazione AF_XDP.

Il codice condiviso dei page pool coordina inoltre più attentamente lo smappaggio DMA e la pulizia dei metadati dei buffer durante rimozione e restituzione delle pagine concorrenti, rafforzando la gestione del ciclo di vita dei buffer di rete.

Configurazione hardware e di rete virtuale più solida

Intel E810 PTP: il driver ICE può ripiegare sulla coda sideband quando l'interfaccia del timer PHY a bassa latency scade. Migliora la reinizializzazione PTP dopo aggiornamenti firmware e reset correlati, mantenendo il normale percorso a bassa latency.

Azure MANA: l'allocazione MSI-X rispetta la capacità effettiva della tabella dei vettori del dispositivo, migliorando la configurazione delle risorse interrupt su VM molto grandi.

NVIDIA mlx5: i cambiamenti di stato dei vport E-Switch conservano la velocità TX massima configurata, mantenendo coerente la configurazione delle porte virtuali attraverso le transizioni di stato.

Diagnostica della latency più affidabile

La diagnostica dei timer ad alta risoluzione conta ora i tentativi di interrupt che recuperano correttamente, migliorando la precisione di nr_retries in /proc/timer_list.

Intel Processor Trace riceve una gestione arresto/avvio più affidabile. Lo strumento aggiornato perf sched richiede campioni di traccia pertinenti prima di presentare una tabella di latency, rendendo esplicite le registrazioni incomplete.

Contabilità I/O più completa attraverso hotplug CPU

Le statistiche del livello a blocchi raccolgono e azzerano campioni da tutte le CPU possibili, incluse quelle disattivate durante una finestra di campionamento. Preserva i campioni di latency pendenti per i percorsi di controllo I/O che usano queste statistiche.

Strumenti di misurazione inclusi

cpujitter

Misura jitter dell'esecuzione CPU, interferenze degli interrupt e code di latency.

memjitter

Misura latency di allocazione, comportamento first-touch, insiemi di lavoro bloccati e comportamento della memoria sotto carico.

HFTKernel 7.2.6 offre gestione del tempo più coerente, gestione delle risorse più snella e cicli di vita di rete più solidi.

HFTKernel 7.2.5

Memoria, sincronizzazione e diagnostica della latency più prevedibili

Basato su Linux 7.2.5. Modifiche rispetto a Linux 7.2.4.

Controllo HugeTLB e NUMA più affidabile

L'allocazione di pagine HugeTLB gigantesche tramite CMA valida ora il nodo NUMA preferito rispetto alla nodemask consentita, ripiega sui limiti cpuset correnti se non è fornita una maschera esplicita e può riprovare dopo una modifica cpuset concorrente. Migliora il controllo della collocazione di grandi buffer preallocati, incluse pagine da 1 GiB su x86 usando questo percorso di allocazione.

La gestione dei pool HugeTLB conserva max_huge_pages quando libera pagine eccedenti. Le pagine migrate mantengono lo stato migrabile e l'appartenenza alla lista attiva anche nello stesso nodo NUMA. I contatori cgroup sono inizializzati coerentemente indipendentemente da CONFIG_DEBUG_VM, inclusi i limiti illimitati riportati come max.

Sincronizzazione con ereditarietà della priorità più coerente

Helper di scheduling PI-futex dedicati delimitano rt_mutex_wait_proxy_lock() senza chiamare sched_submit_work() nel percorso proxy-lock. Migliora la contabilità della sincronizzazione per applicazioni che usano futex con ereditarietà della priorità.

Su PREEMPT_RT, il completamento PI-requeue evita un rcuwait_wake_up() ridondante in Q_REQUEUE_PI_LOCKED, mantenendo coerenti il passaggio del lock e i risvegli dei thread in attesa. Questa seconda modifica è specifica di PREEMPT_RT.

Diagnostica BPF e ftrace più affidabile

bpf_get_stackid() protegge dalla preemption la raccolta della callchain e l'accesso al buffer per CPU restituito. L'inizializzazione concorrente di ftrace_ops viene sincronizzata mantenendo il percorso rapido per gli oggetti inizializzati.

Le operazioni dei filtri funzione e le letture di filtri/trigger degli eventi mantengono i riferimenti richiesti all'istanza di traccia. Queste modifiche rafforzano la profilazione automatizzata e l'analisi di valori anomali rari di latency sui sistemi PREEMPT.

Profilazione hardware più precisa

La disponibilità di Intel PMU AnyThread segue la capacità CPUID pertinente. Il filtro Intel LBR solo utente controlla entrambi gli indirizzi dei salti, mantenendo i campioni nell'ambito richiesto.

Il programma BPF esteso per gli argomenti delle syscall in perf trace usa bpf_for, rendendo più robusti i controlli del verifier sulla terminazione dei cicli rispetto alle modifiche di Clang. Questo miglioramento richiede una build aggiornata di perf.

Inizializzazione una tantum dei socket più pulita

DO_ONCE_SLEEPABLE() differisce la disabilitazione delle chiavi statiche a una workqueue di sistema, fuori dai lock mantenuti dal chiamante. Separa gli aggiornamenti globali delle chiavi statiche dal locking dei socket in percorsi come __inet_hash_connect(). La modifica riguarda l'inizializzazione una tantum, non l'elaborazione per pacchetto.

Gestione più solida della memoria e dei timer KVM

L'invecchiamento senza lock della shadow MMU riusa il valore di reverse mapping acquisito durante il controllo del lock. Gli aggiornamenti del bit Accessed della TDP-MMU usano LOCK CMPXCHG per rimanere coerenti con modifiche SPTE concorrenti.

I timer sintetici Hyper-V emulati da KVM validano le conversioni da 100 nanosecondi e limitano le scadenze a KTIME_MAX, mantenendo nel futuro le scadenze lontane. Queste modifiche si applicano al kernel host KVM. Per un guest cloud, il beneficio dipende dall'aggiornamento dell'host del fornitore.

Storage e politiche di memoria facoltative più robusti

NVMe multipath coordina la rimozione dei namespace con i lettori SRCU. NVMe/TCP verifica tempestivamente i C2HData in ingresso rispetto alla direzione del comando, rafforzando i percorsi interessati dello storage di rete.

La prioritizzazione DAMOS usa una somma mobile degli accessi per decisioni di schema più coerenti. Con tmpfs THP abilitato, MADV_HUGEPAGE passa i flag VMA aggiornati a khugepaged. Questi miglioramenti si applicano alle configurazioni che usano i rispettivi sottosistemi e politiche.

Strumenti di misurazione inclusi

cpujitter

Misura jitter dell'esecuzione CPU, interferenze degli interrupt e code di latency.

memjitter

Misura latency di allocazione, comportamento first-touch, insiemi di lavoro bloccati e comportamento della memoria sotto carico.

Valida il carico con un confronto A/B tra 7.2.4 e 7.2.5, mantenendo invariati toolchain, configurazione del kernel, collocazione CPU/IRQ e carico.

HFTKernel 7.2.5 rafforza collocazione delle huge page, sincronizzazione con ereditarietà della priorità e diagnostica della latency, con gestione più coerente di memoria e timer per gli host KVM.

HFTKernel 7.2.4

Meno lavoro inutile del kernel. Infrastruttura più prevedibile.

Basato su Linux 7.2.4. Modifiche rispetto a Linux 7.2.3.

Vincolo a lungo termine della memoria più efficiente

La contabilità dei riferimenti GUP per le pagine vincolate è stata corretta. Il percorso interessato di vincolo a lungo termine può ora evitare svuotamenti locali e globali superflui dei buffer LRU interni.

Per HFTKernel, riduce lavoro superfluo tra CPU durante la preparazione dei buffer vincolati e supporta l'obiettivo di minimizzare le interferenze di sistema attorno ai core di trading dedicati.

Reclaim dei filesystem meglio limitato

JBD2 conta ora ogni buffer di checkpoint esaminato nel budget di scansione, inclusi quelli occupati. Verifica inoltre se è necessaria una rischedulazione quando salta buffer occupati.

Limita il lavoro di un singolo passaggio dello shrinker e consente di rilasciare prontamente il lock del journal quando viene richiesta una rischedulazione. Sui nodi ext4, la modifica è utile quando l'attività del filesystem coincide con pressione sulla memoria.

Gestione della memoria più coordinata

I cicli di reclaim e migrazione delle pagine segnalano ora esplicitamente stati di quiescenza a RCU Tasks. Aiuta i relativi periodi di grazia a completarsi anche durante elaborazioni prolungate della memoria sui kernel PREEMPT. La modifica alla migrazione è particolarmente rilevante per gli host KVM che usano callback MMU notifier.

Nelle configurazioni con vm.defrag_mode=1, le allocazioni non spostabili passano attraverso il percorso appropriato di reclaim e compaction dei pageblock. La compaction di interi pageblock usa inoltre regole di selezione della memoria più adatte, permettendo all'allocator di avanzare meglio in questa modalità.

SLUB rifornisce gli sheaf riutilizzabili senza consumare le riserve di emergenza pfmemalloc, preservandole per gli usi previsti del kernel.

Gestione più coerente delle code TX di rete

Lo stack di rete comune migliora l'inizializzazione di trans_start quando vengono attivate le code TX. Ogni coda interessata riceve il tempo di riferimento corretto per il watchdog, rendendo più affidabile il monitoraggio dello stato durante l'attivazione dell'interfaccia.

Il driver Broadcom bnxt_en attiva ora la doorbell per i pacchetti già preparati anche quando l'ultimo pacchetto di un burst fallisce la linearizzazione. Il dispositivo viene notificato dei descrittori TX accodati senza attendere un'altra chiamata di trasmissione.

Consegna degli interrupt PCI più affidabile su Hyper-V

Durante l'hot-unplug CPU, un interrupt PCI MSI pendente può ora essere reinviato alla nuova CPU di destinazione attraverso il dominio interrupt genitore.

Per HFTKernel Cloud su Hyper-V, migliora l'affidabilità dei dispositivi PCI quando cambia l'insieme delle vCPU online. La modifica riguarda specificamente il reindirizzamento degli interrupt quando una CPU viene disattivata.

Overhead I/O dei filesystem ridotto

Per piccole sovrascritture bufferizzate in folio grandi già aggiornati, l'elaborazione si ferma dopo l'intervallo richiesto invece di attraversare i buffer head rimanenti. Riduce lavoro CPU inutile, incluso quello del percorso di scrittura ext4 interessato.

In dm-io, le richieste DM_IO_BIO clonano il bio originale invece di ricostruire il vettore delle pagine. Iteratore e allineamento originali vengono preservati, semplificando la gestione I/O nelle configurazioni Device Mapper che usano questo percorso.

Diagnostica della latency e del jitter più affidabile

Raccolta e copia della callchain BPF sono protette dalla preemption durante l'accesso al buffer condiviso per CPU. Migliora l'affidabilità della raccolta degli stack sui kernel PREEMPT.

Le letture da trace_pipe vengono sincronizzate con il ridimensionamento dei sottobuffer di tracciamento, rafforzando l'osservabilità degli eventi kernel durante la riconfigurazione del tracciamento.

Gestione più rigorosa dei clock ausiliari

__do_adjtimex() verifica ora se la lettura di un clock ausiliario è riuscita. Quando non è disponibile, restituisce -ENODEV invece di usare un valore temporale non ottenuto.

Migliora la gestione dello stato dei clock ausiliari nelle configurazioni che usano questa API temporale.

Configurazione Intel Speed Select più affidabile

Sulle piattaforme Intel supportate, viene rafforzata la validazione dei parametri SST-CP per intervalli di frequenza, priorità proporzionale, identificatori CPU e CLOS.

Per HFTKernel Hardware, migliora il controllo delle impostazioni delle prestazioni hardware nella configurazione di sistemi compatibili.

Strumenti di misurazione inclusi

cpujitter

Misura jitter dell'esecuzione CPU e code della distribuzione di latency.

memjitter

Analizza latency della memoria, comportamento dell'allocazione, first-touch e insiemi di lavoro bloccati.

Valuta l'impatto sul carico di destinazione tramite test A/B riproducibili, metriche di rete e distribuzioni della latency applicativa.

HFTKernel 7.2.4 si concentra sulla riduzione del lavoro inutile del kernel, sulla maggiore prevedibilità del servizio di memoria e dispositivi e su una base affidabile per le misurazioni.

HFTKernel 7.2.3

Elaborazione dei pacchetti più prevedibile nelle distribuzioni Cloud e Hardware

HFTKernel è stato aggiornato a Linux Kernel 7.2.3.

HFTKernel 7.2.3 include le modifiche del ramo stabile Linux 7.2.3 più rilevanti per HFT, dati di mercato, sistemi di esecuzione e infrastruttura sensibile alla latency.

Il focus principale è un ciclo di vita dei pacchetti più affidabile, comportamento TX senza lock prevedibile, funzionamento TCP corretto su reti asimmetriche e percorsi infrastrutturali virtualizzati più solidi.

AF_PACKET e acquisizione dei pacchetti

Il ciclo di vita di AF_PACKET TX_RING basato su memoria vmalloc è stato migliorato.

La memoria del ring TX rimane ora attiva finché ogni skb associato non è completato. Gli aggiornamenti dei timestamp e TP_STATUS_AVAILABLE terminano prima del rilascio del riferimento pendente, senza aggiungere un altro lock al percorso frequente di completamento TX.

È particolarmente utile per sistemi HFTKernel usati per:

  • Acquisizione dei dati di mercato
  • Replay dei pacchetti
  • Sonde di latency
  • Generatori di traffico
  • Ambienti di test di rete
  • Sistemi di misurazione basati su AF_PACKET

La modifica rende più coerenti completamento TX e rilascio della memoria del ring senza aggiungere sincronizzazione al percorso principale di elaborazione dei pacchetti.

Percorso dati VLAN più stabile

Le interfacce VLAN conservano ora una hard_header_len stabile, ereditano correttamente headroom e tailroom richiesti e mantengono il corretto allineamento degli header per AF_PACKET SOCK_RAW.

Migliora la prevedibilità dei percorsi TX senza lock quando si usano:

  • Offload VLAN hardware
  • Interfacce di rete virtuali
  • Container e namespace di rete
  • Rete cloud
  • Acquisizione dei pacchetti tramite raw socket

Per HFTKernel, significa metadati dei pacchetti e disposizione dei buffer più coerenti quando cambia lo stato di VLAN offload.

MSS TCP corretto nelle reti asimmetriche

Linux 7.2.3 calcola l'MSS TCP annunciato dalla MTU configurata dell'interfaccia o della rotta invece che da una PMTU del percorso in uscita rilevata in precedenza.

È particolarmente rilevante per configurazioni cloud asimmetriche, bilanciatori DSR e reti overlay in cui traffico in uscita e in ingresso possono attraversare percorsi con MTU diverse.

La modifica evita che una MTU overlay in uscita più piccola limiti inutilmente la dimensione dei segmenti TCP in ingresso per tutta la durata della connessione.

L'MSS derivato dalla rotta è inoltre limitato a TCP_MIN_MSS, rendendo più robusta l'inizializzazione della finestra di ricezione TCP quando le metriche della rotta contengono valori insoliti.

Per HFTKernel, migliora la prevedibilità delle connessioni TCP, TLS e WebSocket di lunga durata usate dai sistemi di dati di mercato ed esecuzione.

Transizione pulita tra AVX2 e SSE

L'implementazione di ricerca nftables PIPAPO AVX2 esegue ora vzeroupper prima di tornare a codice che può usare istruzioni SSE.

Azzerare le parti superiori dei registri YMM impedisce la penalità documentata della transizione AVX-SSE nel codice SSE successivo.

Si applica ai sistemi in cui nftables e la ricerca AVX2 PIPAPO rimangono attivi sui core di infrastruttura o housekeeping. Per HFTKernel, elimina un'altra piccola ma evitabile fonte di overhead CPU imprevedibile.

Piano di controllo XFRM e IPsec più prevedibile

Gli stati keepalive NAT XFRM vengono ora elaborati in batch di dimensione fissa, limitando la memoria temporanea indipendentemente dal numero totale di stati.

Anche il locking è stato rielaborato affinché raccolta dei riferimenti ed elaborazione degli stati avvengano in fasi separate.

Per l'infrastruttura cloud, fornisce:

  • Uso limitato della memoria temporanea
  • Elaborazione più robusta di grandi insiemi di stati XFRM
  • Comportamento più prevedibile del piano di controllo IPsec
  • Interazione più coerente con softirq e percorsi di rimozione degli stati

Queste modifiche sono esterne al percorso frequente principale del trading, ma rafforzano la resilienza operativa dei nodi cloud e degli overlay di rete cifrati.

Offload zero-copy TLS più solido

L'offload TLS del dispositivo gestisce ora più affidabilmente il limite di frammenti di un record TLS aperto.

Quando l'array di frammenti è pieno, il record viene inviato anche se l'applicazione usa MSG_MORE e percorsi zero-copy splice().

Rafforza:

  • Offload TLS della NIC
  • TLS_TX_ZEROCOPY_RO
  • Percorsi di invio zero-copy
  • Flussi TCP cifrati ad alto carico

Per HFTKernel, la modifica è utile sui nodi infrastrutturali in cui terminazione TLS o offload TLS del kernel vengono eseguiti direttamente dall'adattatore di rete.

KVM e AMD SEV/SNP

KVM migliora la gestione di AMD SEV e SEV-SNP:

  • Gli hook guest_memfd specifici di SEV vengono collegati solo quando il supporto SEV è abilitato
  • L'infrastruttura delle chiamate statiche può eliminare un CALL+RET inutile quando SEV non è usato
  • Il tracciamento VMSA controllato dal guest è più robusto
  • Una vCPU torna correttamente allo stato eseguibile dopo AP_CREATE
  • Il supporto della memoria basata su file per guest cifrati è ripristinato
  • I buffer temporanei per le operazioni di crittografia vengono allocati come pagine intere

Queste modifiche contano soprattutto quando HFTKernel è usato come host KVM o con virtualizzazione riservata AMD. Il loro impatto diretto in una normale VM cloud dipende dal kernel host del fornitore.

NVMe/TCP e Soft RoCE

L'uso di page_frag_cache durante la creazione concorrente di namespace NVMe/TCP viene ora serializzato, migliorando il ciclo di vita dei buffer PDU nell'inizializzazione parallela dello storage.

Soft RoCE aggiorna ora più coerentemente le risorse del responder quando cambia IB_QP_MAX_DEST_RD_ATOMIC: gli array sostitutivi vengono installati solo dopo l'arresto dell'attività responder.

Queste modifiche sono utili per infrastrutture HFT che usano storage di rete, RDMA software, ambienti di laboratorio o validazione RDMA virtualizzata. Non modificano il percorso rapido principale RDMA hardware.

Validazione eBPF

Il selftest BPF sockmap è corretto per pacchetti con skb non lineare.

Il parser rimane in sola lettura, mentre i dati richiesti del pacchetto vengono esplicitamente linearizzati nel programma di verdetto prima dell'accesso diretto.

Migliora i test di regressione dei percorsi BPF sockmap e rafforza la pipeline di compilazione e qualificazione HFTKernel.

Valutazione dell'impatto

Linux 7.2.3 non pubblica nuove misurazioni di latency mediana, p99, p99.9 o p99.99 per queste modifiche.

L'effetto pratico della versione va quindi verificato con misurazioni A/B controllate sul carico di destinazione.

HFTKernel 7.2.3 rafforza i percorsi di rete Linux in cui ciclo di vita dei pacchetti, metadati dei buffer, selezione dei percorsi TCP e operazioni infrastrutturali in background possono influire sulla stabilità e ripetibilità dei sistemi sensibili alla latency.

Strumenti di misurazione inclusi

HFTKernel 7.2.3 include inoltre cpujitter e memjitter come strumenti di misurazione nativi allineati alla versione.

cpujitter

misura jitter dell'esecuzione CPU, interferenze IRQ e softirq e tail latency estrema.

memjitter

misura latency di allocazione, comportamento first-touch, insiemi di lavoro bloccati e latency della memoria sotto carico.

Ambiente di esecuzione e strumenti di misurazione rimangono allineati alla stessa matrice di versioni immutabili Cloud e Hardware.

HFTKernel 7.2.3 rafforza ciclo di vita dei pacchetti, metadati VLAN, selezione MSS TCP, offload TLS, I/O virtualizzato, KVM cifrato, storage e percorsi di validazione per una piattaforma HFT più stabile e prevedibile.

HFTKernel 7.2.2

Gestione dei frammenti GSO più affidabile nella rete cloud

HFTKernel è stato aggiornato a Linux Kernel 7.2.2.

Questa versione mirata rafforza la gestione dei pacchetti IPv4 e IPv6 frammentati in configurazioni di rete virtualizzate e mediate dallo userspace.

Percorso dati di rete

Quando un frammento IP entra nella coda condivisa di riassemblaggio, il kernel azzera ora il suo stato GSO con skb_gso_reset().

  • Lo stato GSO non viene più trasferito dai singoli frammenti al pacchetto riassemblato.
  • Il pacchetto riassemblato raggiunge la segmentazione software con lo stato corretto.
  • La correzione condivisa copre il riassemblaggio IPv4, IPv6, del tracciamento connessioni Netfilter e 6LoWPAN.
  • L'interazione tra riassemblaggio dei frammenti, GSO e skb_segment() è più robusta.

La modifica è implementata nel percorso condiviso inet_frag_queue_insert() e interessa un solo file del kernel.

Valore pratico per HFTKernel

L'aggiornamento è particolarmente rilevante per i sistemi che usano:

  • TUN/TAP
  • AF_PACKET con PACKET_VNET_HDR
  • Virtio-net e KVM
  • Macchine virtuali cloud
  • Namespace di rete
  • Acquisizione e replay dei pacchetti
  • Generatori di traffico e ambienti di test di rete
  • Gateway virtualizzati di dati di mercato ed esecuzione

Per HFTKernel, significa un percorso dati di rete più resiliente e una gestione più affidabile di combinazioni rare di frammentazione IP e metadati GSO.

Validazione upstream

I test upstream hanno coperto quattro geometrie diverse di pacchetti IPv4 e IPv6 frammentati. Dopo la correzione, ogni datagramma di prova è stato consegnato interamente e senza messaggi del kernel.

Valutazione dell'impatto

Questo miglioramento mira alla resilienza operativa anziché all'accelerazione del normale percorso rapido di rete.

Upstream non pubblica nuove misurazioni di throughput, latency mediana o tail latency per Linux 7.2.2. La formulazione corretta per HFTKernel è:

HFTKernel 7.2.2 migliora l'affidabilità dei percorsi GSO e di riassemblaggio dei frammenti nelle configurazioni di rete virtualizzate e mediate dallo userspace.

Strumenti di misurazione nativi inclusi

HFTKernel 7.2.2 include inoltre cpujitter e memjitter come strumenti di misurazione nativi.

cpujitter

misura jitter dell'esecuzione CPU, interferenze IRQ e softirq e tail latency estrema.

memjitter

analizza latency di allocazione, comportamento first-touch, insiemi di lavoro bloccati e comportamento della memoria sotto carico.

HFTKernel 7.2.2 rafforza i percorsi di rete usati da infrastruttura cloud, macchine virtuali e sistemi di acquisizione e replay del traffico, rendendo la piattaforma Linux per HFT più resiliente e prevedibile.

HFTKernel 7.2

Isolamento CPU più pulito, temporizzazione più precisa e controllo migliore della tail latency

HFTKernel è stato aggiornato a Linux Kernel 7.2.

Questa versione rafforza i percorsi del kernel più importanti per HFT, dati di mercato, gateway di esecuzione e altra infrastruttura sensibile alla latency.

Miglioramenti principali

  • Isolamento CPU NO_HZ_FULL più pulito con meno attività di housekeeping sui core critici per la latency
  • Correlazione più precisa tra i percorsi temporali PTP, PHC, TSC, KVMclock e Hyper-V
  • Scheduling consapevole della cache e località della cache di ultimo livello migliorata per carichi correlati
  • Correttezza futex migliore e scalabilità membarrier mirata
  • Task work io_uring senza lock con overhead ridotto e percorsi di rete zero-copy più solidi
  • Miglioramenti NAPI, TCP e Azure MANA per un percorso dati di rete più stabile
  • Miglioramenti NUMA, MGLRU, memoria contigua e /proc per un comportamento di sistema più prevedibile
  • Osservabilità IRQ e RTLA con overhead ridotto per individuare eventi rari di latency

Strumenti di misurazione nativi inclusi

HFTKernel 7.2 include cpujitter e memjitter come pacchetti nativi per ogni destinazione Cloud e Hardware supportata.

cpujitter

misura jitter dell'esecuzione CPU, interferenze IRQ e softirq e tail latency estrema.

memjitter

analizza latency di allocazione, comportamento first-touch, insiemi di lavoro bloccati e prestazioni della memoria sotto pressione.

Insieme, HFTKernel, cpujitter e memjitter forniscono sia l'ambiente di esecuzione ottimizzato sia gli strumenti di misurazione necessari per validare l'infrastruttura sensibile alla latency.

HFTKernel 7.2 rafforza isolamento CPU, precisione temporale, località della cache, elaborazione di rete, comportamento della memoria e osservabilità della latency in un'unica piattaforma misurabile per HFT.

Filosofia dei rilasci

Stabilità upstream, politiche specifiche per il carico di lavoro e risultati misurabili

HFTKernel parte da una precisa versione stabile di Linux, registra toolchain e identità della build, applica il profilo Cloud o Hardware selezionato, include cpujitter e memjitter con l'ambiente di esecuzione e valida il risultato come versione immutabile.

Base precisaSorgenti Linux stabili verificati e versione del kernel fissata.
Profilo controllatoPolitiche CPU, memoria, rete, gestione del tempo e isolamento abbinate alla piattaforma.
Pacchetti nativiBundle DEB, RPM o TGZ per la matrice di produzione supportata.
Consegna verificata con misurazionicpujitter e memjitter forniscono evidenze ripetibili sulle code.

Pianificazione della distribuzione

Valuta la versione rispetto alla tua topologia CPU, NIC, memoria e temporizzazione.

La selezione dei pacchetti è solo il primo passo. Il risultato in produzione dipende da parametri di avvio, affinità durante l'esecuzione, collocazione delle code, progettazione PTP/PHC, politica di memoria e piano di misurazione controllato.