Notas de la versión

Notas de la versión de HFTKernel 7.3.x.

Explore la serie 7.3.x del kernel, de la versión más reciente a la más antigua, con los cambios upstream más relevantes para una ejecución predecible de CPU, redes estables, gestión precisa del tiempo, virtualización, comportamiento de la memoria y colas de latency medibles.

Registro público de cambios

Notas de la versión

Cada entrada se centra en los cambios upstream que respaldan los objetivos principales de HFTKernel: jitter mínimo, tail latency controlada, una ruta de datos estable, gestión precisa del tiempo y comportamiento medible bajo presión.

HFTKernel 7.3.3

Mejor orden de los paquetes, progreso de I/O más fiable y polling más ligero

Última entrada de la serie 7.3.x

Base upstream: Linux 7.3.3. Cambios acumulados: Linux 7.3.2 y 7.3.3, respecto a 7.3.1. Fecha de publicación upstream: 6 de noviembre de 2026, para ambas versiones.

Transmisión ordenada bajo presión en las colas

El networking scheduler conserva el orden de los paquetes cuando un driver devuelve NETDEV_TX_BUSY. Los paquetes que vuelven a encolarse se colocan al principio de la lista de pendientes en su orden original.

En la prueba upstream de cuatro streams TCP sobre un par veth con un pfifo qdisc, el throughput aumentó de aproximadamente 40 a 76 Gbps. El cambio eliminó alrededor de 1.3 millones de segmentos fuera de orden y 15,000 a 37,000 retransmisiones por intervalo de prueba de 15 segundos.

VLAN hardware offload consistente

Con reorder_hdr=off, las tramas aptas pasan su VLAN tag a los metadatos de inserción de la NIC y conservan la disposición esperada en el egress del dispositivo VLAN. Esto mantiene la inserción VLAN por hardware compatible con los offloads de checksum y segmentación, incluidas las rutas pertinentes de packet-socket y de AF_XDP en copy mode.

NAPI busy polling que respeta el deadline

io_uring limita el busy polling al intervalo de espera restante. Cuando ya ha pasado un deadline absoluto, el presupuesto de polling pasa a cero, lo que permite que la espera retorne rápidamente.

Las entradas NAPI con seguimiento dinámico ahora caducan tras 60 segundos de inactividad. Los rings de larga duración dejan de volver a consultar identificadores de cola obsoletos, manteniendo el polling centrado en el tráfico reciente.

Wakeups fiables para trabajo diferido y progreso de las completions

IORING_SETUP_DEFER_TASKRUN publica el estado de sleep de la tarea en espera antes de exponer su wakeup credit. Los productores pueden notificar de forma fiable al consumidor cuando llega nuevo task work local. El bucle de espera dirigido por BPF sigue el mismo orden.

Cuando las overflow completions pendientes no caben en la completion queue, io_uring devuelve el control a userspace para que la aplicación pueda vaciarla. Esto proporciona una vía explícita de progreso para completion queues de tamaño mixto.

Progreso más sólido para consumidores en tiempo real

La cola lockless de task work protege la publicación del productor en dos pasos con una sección breve con preemption deshabilitada. Un consumidor SCHED_FIFO que comparte una CPU con un productor de menor prioridad observa una publicación completada en lugar de interrumpir al productor a mitad de la actualización mediante preemption.

Las esperas asíncronas de private-futex preparan el hash privado del proceso antes de registrar el waiter. Los wakeups se mantienen alineados con el hash activo durante la posterior creación de threads y los cambios de configuración del hash.

Menos actividad innecesaria de SQPOLL

SQPOLL puede permanecer en sleep mientras un ring está deshabilitado, incluso cuando se han preparado submission entries. Al habilitar el ring, se despierta el thread de polling. Las aplicaciones pueden preparar su configuración de arranque sin dedicar una CPU a comprobar repetidamente trabajo que todavía no está habilitado.

Workers de I/O asíncrona con límites mejor definidos

io_uring resuelve el archivo de destino antes de asignar trabajo a io-wq. Las operaciones forced-async sobre regular files y block devices respetan los límites de bounded workers, incluidos los límites configurados mediante IORING_REGISTER_IOWQ_MAX_WORKERS.

Las buffered writes al mismo regular file se coordinan mediante hashing basado en inode, lo que reduce la competencia de los workers por el mismo inode lock. La identidad del archivo queda fijada cuando la solicitud entra en la work queue.

Buffers de recepción fiables a mayor escala

Zero-copy receive calcula los offsets de los buffers con aritmética de 64 bits antes del desplazamiento. Las completion entries identifican el buffer correcto más allá de los primeros 4 GiB de un área de recepción registrada, manteniendo alineados el consumo y el refill.

Para incremental provided buffers y multi-buffer receive bundles, el progreso parcial se completa antes de que otra solicitud pueda reutilizar la memoria restante. Las aplicaciones reciben la longitud realmente transferida y continúan desde ese límite; estas operaciones MSG_WAITALL pueden devolver un resultado corto.

Clock domains correctos para actualizaciones de timeouts absolutos

Las actualizaciones de timeouts absolutos utilizan el reloj asociado al timer existente al convertir el time namespace del llamante a la hora del host. CLOCK_MONOTONIC, CLOCK_BOOTTIME y CLOCK_REALTIME conservan sus respectivas semánticas.

Esto mantiene los deadlines asíncronos consistentes para los servicios que utilizan time namespaces y distintos clock domains de timeout.

Contabilización de memoria más completa

Los metadatos task-to-ring y los XArrays de personality se cargan a los memory cgroups. Los metadatos de registered buffers y los resource nodes también participan en la contabilización de memcg, manteniendo representada la memoria de I/O del kernel en los presupuestos de los servicios.

El teardown de XArray libera los nodos internos vacíos que dejaron los intentos de inserción fallidos. La creación y limpieza repetidas de rings liberan esas asignaciones de metadatos y sus cargos asociados.

Ciclo de vida más sólido para las páginas HugeTLB

La ruta de fault anónimo de HugeTLB completa las actualizaciones del estado del folio y su desbloqueo antes de liberar el page-table lock. La inicialización se mantiene coordinada con las operaciones concurrentes de unmapping y reclamación de páginas, reforzando los mappings privados de huge pages que se utilizan para grandes buffers de aplicaciones.

Teardown coordinado de IRQ y dispositivos de temporización

La limpieza de threaded-IRQ conserva irqaction hasta que ha terminado el exit task work pendiente, manteniendo la vida útil del recurso durante la ruta de salida anómala del thread.

Las operaciones de control del generador PPS se sincronizan con el unregister de la fuente. Las operaciones existentes terminan sobre un estado válido del driver, y las operaciones posteriores reciben ENODEV tras la retirada. Esto proporciona al software de servicios de temporización un límite claro en el ciclo de vida del dispositivo.

Estado del host KVM más consistente

En hosts Intel VMX, los cambios de userspace que hacen ejecutable una vCPU también eliminan un halt registrado por el hardware cuando es necesario. Esto mantiene el estado de ejecución del hardware alineado con el virtual-machine monitor durante los flujos de reset y reinicio.

AMD SVM actualiza la generación ASID en ambos bloques de control de nested virtualization después de un cambio de CPU física. Los identificadores de espacio de direcciones se mantienen coordinados a medida que las vCPUs anidadas se desplazan entre procesadores.

Mejoras de Xen backend añadidas en Linux 7.3.3

La actualización acumulada final añade tres mejoras para despliegues Xen backend. Las lecturas de estadísticas del block backend se sincronizan con el teardown del frontend. Las estadísticas del network backend permanecen protegidas durante la limpieza de las colas. La limpieza de la multicast list se realiza una vez detenido el procesamiento de transmisión y recepción.

En conjunto, estos cambios mantienen coordinados la monitorización, el estado de la red virtual y la liberación de recursos del backend durante la desconexión y reconfiguración de dispositivos.

Sistemas operativos compatibles

El catálogo de paquetes de HFTKernel cubre 24 OS targets:

  • Ubuntu 20.04 / 22.04 / 24.04 / 26.04 LTS
  • Debian 11 / 12 / 13
  • Plataformas compatibles con RHEL, AlmaLinux, Rocky Linux 8 / 9 / 10
  • CentOS Stream 9 / 10
  • Fedora Linux 44
  • Amazon Linux 2023, perfil Cloud
  • ALT Linux p11 / Simply Linux 11
  • Astra Linux 1.8
  • Arch Linux base-devel
  • Base compatible con NixOS.

Instalación con un solo comando

curl -fsSL https://hftkernel.com/install.sh | sudo bash

El instalador detecta el sistema operativo y el perfil de despliegue, verifica el paquete correspondiente y lo instala. Un reinicio manual activa el kernel instalado.

Enfoque de la versión

Conservar el orden de transmisión, mantener el progreso del trabajo asíncrono, eliminar el polling innecesario y mantener clara la propiedad de la memoria y de los recursos de los dispositivos.

HFTKernel 7.3.1

I/O asíncrona más predecible, wakeups RT precisos y diagnósticos fiables del host

Base upstream: Linux 7.3.1. Cambios desde Linux 7.3. Fecha de publicación upstream: 30 de octubre de 2026.

Progreso oportuno después de las barreras drain de io_uring

Una solicitud drain independiente ahora borra el estado drain cuando se realiza el flush de su completion y no queda otro trabajo diferido. En la ejecución de io-wq, esa transición se realiza bajo el ring lock antes de que la completion sea visible para userspace.

Las solicitudes enviadas después de la barrera completada pueden avanzar sin esperar a que el worker libere su última referencia a la solicitud. Las solicitudes drain enlazadas conservan sus requisitos de ordenación.

Esto hace más predecibles los pipelines de I/O impulsados por completions para las aplicaciones que utilizan barreras drain.

Wakeups de poll fiables y completion multishot

Una operación atómica compare-and-exchange coordina ahora la liberación de la propiedad de poll con las notificaciones de reintento concurrentes. Los wakeups pendientes permanecen visibles, lo que permite continuar el procesamiento sin depender de un evento ajeno.

Multishot poll también actualiza correctamente el contador de referencias compartido al producirse un hangup. La última pasada de procesamiento de eventos puede completarse sin repetir el bucle innecesariamente, lo que mejora la gestión del ciclo de vida de las conexiones en aplicaciones asíncronas.

Timeouts precisos de la completion queue en PREEMPT_RT

Para las tareas RT y deadline en PREEMPT_RT, los callbacks de timeout de la completion queue de io_uring se ejecutan en contexto hard-interrupt. La entrega de wakeups ya no depende de la planificación del timer thread de menor prioridad.

En la prueba upstream con Jetson Orin Nano, con el cambio aplicado mediante backport a Linux 6.18.39-rt, el retraso máximo se redujo de 1,040 µs a 18 µs en 40,000 deadlines bajo carga SCHED_FIFO concurrente. Tras el cambio, el retraso de todos los wakeups se mantuvo dentro de 100 µs.

Gestión coherente de provided buffers de recepción grandes

En las operaciones de recepción non-bundled cuya longitud se obtiene de un provided buffer, io_uring limita la longitud de transferencia seleccionada a MAX_RW_COUNT.

Esto mantiene una longitud válida a través de la ruta de retorno con signo, incluidos los provided buffers de 2 GiB o más, respetando el límite existente del tamaño de transferencia. Refuerza la gestión de los buffers de recepción para las aplicaciones que utilizan regiones reutilizables grandes.

Cierre de workers asíncronos mejor coordinado

La ruta de salida de io-wq aplica una memory barrier después de publicar su flag de salida. El cierre y el task work concurrente de creación de workers respetan la ordenación requerida, incluso en arquitecturas débilmente ordenadas.

Esto refuerza el desmontaje ordenado y el reinicio de los servicios que utilizan pools de workers de io_uring.

La cancelación de solicitudes IORING_OP_WAITID también es idempotente: los intentos repetidos reconocen el estado de cancelación existente sin acumular referencias adicionales. Esto mantiene la coherencia de las solicitudes asíncronas de supervisión de procesos durante la cancelación.

Menos trabajo innecesario durante el desmontaje de namespaces PID

Durante la limpieza del namespace, el process reaper enmascara los wakeups de notificación de task work mientras espera la terminación de los procesos hijos y la liberación de los PID.

Puede permanecer en espera hasta que ocurra el evento pertinente del ciclo de vida, en lugar de volver repetidamente a su ruta de espera. Esto reduce la actividad de CPU evitable en las interacciones afectadas entre el cierre de contenedores y livepatch.

Visibilidad fiable de IRQ por CPU en hosts grandes

/proc/interrupts ahora emite su cabecera de CPU cada vez que se representa el primer registro, incluidos los reintentos después de que crezca el sequence buffer.

La correspondencia entre CPU y contadores se mantiene intacta en sistemas con un gran número de núcleos. Esto permite un análisis fiable de IRQ, la verificación de su ubicación y la monitorización de las CPU aisladas y de housekeeping.

Configuración y desmontaje de tracing más limpios

La configuración de histogramas ahora elimina los triggers field-variable creados automáticamente cuando falla el comando completo. El tracing activo corresponde a la configuración aceptada, y la instrumentación temporal se limpia en lugar de seguir contando eventos.

La limpieza de histogramas field-variable conserva la referencia estable al event-file en lugar de depender del tiempo de vida de otro histograma. Esto mejora la creación, modificación y eliminación repetidas de sesiones de diagnóstico.

El análisis de event filters también rechaza las expresiones lógicas incompletas antes de que lleguen a ejecutarse. Esto refuerza la configuración automatizada de tracefs y de tracepoints de perf.

Diagnósticos postmortem más completos

La recopilación de core dumps está protegida frente a interrupciones por TIF_NOTIFY_SIGNAL durante la transferencia de datos mediante pipes y sockets. Las notificaciones de io_uring y de otros productores de task work ya no interrumpen esas rutas de recopilación.

Esto conserva los datos de diagnóstico para analizar en detalle el estado de la aplicación, los mappings y la I/O pendiente.

Validación coherente de cuotas DAMON

Los objetivos de cuota de DAMOS se validan en el núcleo de DAMON antes de aplicarse. Los valores objetivo de cero se rechazan a través de la ruta común de commit, y el error se propaga a quienes la invocan.

En los despliegues que utilizan gestión de memoria basada en DAMON, esto proporciona un punto de validación coherente para configurar las políticas de cuotas.

Compilaciones out-of-tree fiables del benchmark de DMA

dma_map_benchmark ahora se compila en el directorio de salida seleccionado cuando se especifica O=.

El benchmark se integra en pipelines de compilación que separan los árboles de código fuente de las herramientas generadas, lo que permite preparar los diagnósticos de DMA de forma reproducible.

Sistemas operativos compatibles e instalación

HFTKernel admite 24 OS targets que abarcan Ubuntu, Debian, plataformas compatibles con RHEL, AlmaLinux, Rocky Linux, CentOS Stream, Fedora, Amazon Linux, Arch Linux, despliegues compatibles con NixOS, ALT Linux p11 / Simply Linux 11 y Astra Linux 1.8. Amazon Linux 2023 utiliza el perfil Cloud.

Instale con un solo comando:

curl -fsSL https://hftkernel.com/install.sh | sudo bash

El instalador selecciona el paquete correspondiente al sistema operativo y el perfil de despliegue, y verifica la integridad del paquete.

Enfoque de la versión

La base Linux 7.3.1 refuerza el progreso de I/O, la entrega de timeouts en tiempo real, la gestión del ciclo de vida de los procesos y la coherencia de los diagnósticos. Estos cambios respaldan el objetivo de HFTKernel de ofrecer un host predecible y medible para aplicaciones sensibles a la latency.

HFTKernel 7.3

Lecturas de tiempo preparadas, gestión de memoria más ligera y nuevas capacidades de red CXL

Base upstream: Linux 7.3. Fecha de publicación upstream: 18 de octubre de 2026.

Enfoque: capacidades introducidas con la base Linux 7.3 para implementaciones sensibles a la latency.

Datos vDSO con páginas precargadas para un inicio predecible de las aplicaciones

El mapeo genérico de datos vDSO ahora puede materializarse mediante mlockall(). La eliminación de su indicador VM_IO permite que la fase de preparación de memoria establezca las entradas correspondientes de la tabla de páginas antes de que comience el procesamiento sensible a la latency.

Para las aplicaciones que utilizan lecturas de tiempo asistidas por vDSO, esto traslada un fallo de página evitable de first-touch a la preparación inicial. El autor upstream observó aproximadamente 20 µs para la ruta completa de excepción por fallo de página en la máquina de prueba.

Esto refuerza la preparación de motores de trading, consumidores de marcas de tiempo y procesos de medición que precargan explícitamente las páginas de sus conjuntos de trabajo.

Menor contención del bloqueo LRU durante la recuperación de memoria

La recuperación LRU clásica ahora obtiene los costos de balanceo del escaneo anónimo y de archivos a partir de contadores vmstat. El muestreo y la disminución de costos utilizan un bloqueo dedicado por lruvec en lugar de adquirir repetidamente el bloqueo que protege las operaciones de las listas LRU. La agregación de jerarquías también sustituye las actualizaciones repetidas de costos en los niveles superiores.

En la prueba upstream de presión de memoria con 176 núcleos y 256 GB, la espera agregada del bloqueo LRU disminuyó de aproximadamente 4.23 segundos a 1.66 segundos durante una ventana de registro de 30 segundos, una reducción del 61%, con tasas similares de escaneo y recuperación.

Para implementaciones con LRU clásica, esto reduce la contención entre la contabilidad de recuperación y las operaciones que realmente administran las páginas.

Mayor retención del código ejecutable con MGLRU

MGLRU promociona los folios de archivos ejecutables mapeados tras su primer uso observado. Tanto el envejecimiento de tablas de páginas como la comprobación de referencias reconocen los mapeos ejecutables al actualizar el estado de las páginas.

Esto proporciona mayor protección frente a la recuperación al código de aplicaciones y bibliotecas compartidas utilizado recientemente. Favorece una residencia más uniforme del código en servicios que funcionan con MGLRU bajo presión de memoria.

Menos trabajo innecesario de contabilidad de presión en cgroup v2

El subsistema vmpressure omite la ruta de notificación al espacio de usuario de cgroup-v1 cuando se ejecuta bajo cgroup v2. La recuperación evita contabilidad, bloqueos, envíos a colas de trabajo y recorridos de ancestros que no se utilizan.

La ruta de presión de sockets TCP/SCTP dentro del kernel permanece activa, y la supervisión de presión en el espacio de usuario de cgroup-v2 continúa mediante PSI. Esto elimina trabajo redundante de infraestructura y conserva las señales de presión utilizadas por la red y la gestión de servicios.

Secciones críticas más cortas en las colas de trabajo

El procesamiento de colas de trabajo selecciona el trabajador que debe activar mientras mantiene pool->lock y realiza la activación después de liberarlo. Las operaciones de activación del planificador ya no prolongan la sección crítica del grupo compartido en las rutas afectadas de encolado y trabajo encadenado.

En una microprueba upstream de NVIDIA Grace ARM64 con colas de trabajo no vinculadas y alcance NUMA, el throughput aumentó de 719,794 a 794,049 elementos de trabajo por segundo, con una latency de encolado P95 un 10.3% menor.

Esto mejora la gestión del trabajo en segundo plano con contención en las CPU de mantenimiento y en la infraestructura de apoyo.

Servicios gestionados por el planificador más ágiles

La planificación de cgroups de clase justa pasa a una única cola de ejecución de selección de tareas por CPU, manteniendo la distribución de pesos de los grupos. EEVDF también mejora la planificación de tareas con intervalos cortos, y el balanceo NOHZ prefiere núcleos completamente inactivos.

Estos cambios son relevantes para puertas de enlace, supervisión, orquestación y servicios de mantenimiento gestionados por el planificador. CPU affinity explícita sigue siendo el mecanismo de ubicación para los hilos dedicados de trading.

Recepción zero-copy de io_uring más escalable

El subsistema de recepción zero-copy de io_uring incorpora aprovisionamiento dinámico de áreas de memoria y mejoras coordinadas de reposición. La reposición de páginas grandes escala con la asignación subyacente, las entradas de reposición compatibles se agrupan y la cabecera y la cola del anillo de reposición ocupan líneas de caché separadas. El almacenamiento en caché de la cola reduce aún más los accesos al estado compartido.

Estos cambios mejoran la gestión de memoria de recepción y reducen la sobrecarga de reposición para aplicaciones que utilizan io_uring ZCRX, incluidas cargas de datos de mercado de alta frecuencia y procesamiento de red.

Compatibilidad de transmisión Solarflare asistida por CXL en la base upstream

Linux 7.3 reúne la infraestructura CXL Type-2 y la integración del driver Solarflare para dispositivos compatibles de la familia SFC9100. CONFIG_SFC_CXL habilita la ruta del driver para CTPIO sobre CXL.mem, con hardware CXL compatible y firmware con soporte CXL.

El driver verifica las capacidades del dispositivo CXL, crea una región de memoria CTPIO de 256 MiB y la mapea con semántica de combinación de escrituras. Esto habilita en el kernel una ruta de transmisión del host a la NIC asistida por CXL.

Para una configuración HFTKernel Hardware correspondiente, la integración combina CONFIG_SFC, CONFIG_CXL_BUS y CONFIG_SFC_CXL con un servidor, adaptador y firmware compatibles. Esto crea una opción de optimización de hardware específica para transmisión sensible a la latency.

Control ampliado del reloj de hardware

El driver DPLL ZL3073x incorpora compatibilidad con el reloj de hardware PTP, exponiendo lecturas de tiempo, ajuste de tiempo, ajuste de frecuencia y ajuste de fase mediante las funciones de retorno adecuadas. Las operaciones disponibles siguen el estado actual del canal, incluido el funcionamiento NCO y el seguimiento de referencias.

Esto amplía las opciones de temporización de hardware disponibles mediante interfaces estándar de Linux y facilita la integración de dispositivos de temporización compatibles en la infraestructura de gestión de relojes.

Gestión de red en la nube más escalable

Determinados drivers de red de software, incluidos veth, ipvlan y túneles, incorporan la baja de dispositivos por espacio de nombres de red. Las actualizaciones de reglas de enrutamiento también dejan de depender del bloqueo RTNL global. Estos cambios reducen la serialización compartida durante las operaciones del ciclo de vida de la red y de las políticas de enrutamiento.

La compatibilidad con BIG TCP se extiende a túneles UDP como VXLAN y Geneve. Los lotes internos de segmentación más grandes proporcionan una opción adicional de eficiencia para distribución y reproducción masiva de datos sobre redes superpuestas compatibles, conservando la MTU configurada en la red física.

Diagnósticos multicast más útiles

RTM_GETMULTICAST informa de un recuento de usuarios por grupo. El software de supervisión puede examinar el uso de grupos multicast mediante netlink, mejorando la visibilidad del estado de suscripción en hosts que reciben datos de mercado multicast.

Análisis de asignaciones más eficiente

El análisis de asignaciones de memoria incorpora una interfaz ioctl binaria para /proc/allocinfo. Los filtros de módulo, función, archivo y línea pueden aplicarse antes de agregar los contadores por CPU, de modo que las consultas de diagnóstico procesen únicamente los puntos de asignación coincidentes.

En la prueba upstream con Intel Xeon Platinum 8481C y 224 CPU lógicas, una consulta de un archivo específico redujo el tiempo de CPU del sistema de 22 ms a 1 ms. Esto hace que las investigaciones específicas de memoria sean más ligeras y adecuadas para la recolección automatizada.

Los nuevos contadores pgrotate_anon y pgrotate_file aportan visibilidad del trabajo de recuperación que no libera páginas inmediatamente. Admiten diagnósticos tanto de LRU clásica como de MGLRU.

Herramientas de medición incluidas

HFTKernel incluye cpujitter para intervalos sin ejecución de CPU y colas de latency, memjitter para asignación, first-touch y comportamiento del conjunto de trabajo, e irqjitter para analizar la actividad de IRQ y softIRQ.

Junto con la latency de la aplicación, los contadores de red, el estado del reloj de hardware y la telemetría de memoria, estas herramientas hacen observable toda la infraestructura.

Enfoque de la versión

La base Linux 7.3 impulsa tres prioridades de HFTKernel: preparar más estado antes de que comience la carga de trabajo, reducir la contención en las rutas compartidas del kernel y ofrecer mayor control de red, memoria y temporización.

Filosofía de las versiones

Estabilidad upstream, políticas específicas de la carga de trabajo y resultados medibles

HFTKernel parte de una versión estable exacta de Linux, registra la cadena de herramientas y la identidad de la compilación, aplica el perfil Cloud o Hardware seleccionado, empaqueta cpujitter y memjitter con el entorno de ejecución y valida el resultado como una versión inmutable.

Base exactaCódigo fuente estable de Linux verificado y versión del kernel fijada.
Perfil controladoPolíticas de CPU, memoria, red, gestión del tiempo y aislamiento adaptadas a la plataforma.
Paquetes nativosConjuntos DEB, RPM o TGZ para la matriz de producción compatible.
Entrega con medicionescpujitter y memjitter proporcionan pruebas repetibles en la cola de latency.

Planificación de la implementación

Evalúe la versión según su topología de CPU, NIC, memoria y temporización.

La selección del paquete es solo el primer paso. El resultado en producción depende de los parámetros de arranque, la afinidad en tiempo de ejecución, la ubicación de colas, el diseño PTP/PHC, la política de memoria y un plan de medición controlado.