Desde Linux Darkcrizt  

Hyper-V como host en Linux ya es una realidad

Tux, la mascota del Kernel de Linux

Después del lanzamiento de Linux 6.14, se ha abierto la ventana para la fusión de cambios, de los cuales muchos de ellos se han estado trabajando incluso desde antes del lanzamiento de la versión actual estable del Kernel.

De estos cambios que se tienen preparados para el lanzamiento de Linux 6.15, uno de ellos ha llamado la atención, ya que se han incorporado cambios significativos que permiten su uso como entorno root (Dom0) para Hyper-V, el hipervisor de Microsoft.

Para quienes desconocen de esta funcionalidad, deben saber que otorga a Linux el control del entorno host, lo que implica la administración del hipervisor, la gestión de recursos, el inicio de sistemas invitados y la comunicación entre máquinas virtuales y hardware físico.

Anteriormente la organización del hipervisor en los kernels de Linux y Windows difería, por lo que la implementación de Hyper-V para Linux utiliza un enfoque distinto para configurar subsistemas y gestionar hiperllamadas.  Es por ello que el código para mapear interrupciones mediante IOMMU ha sido reescrito siguiendo una lógica similar a la utilizada en el soporte para Xen en Linux. Tanto Xen como Hyper-V comparten una arquitectura basada en un entorno root (Dom0) privilegiado para la administración del sistema.

Linux ya cuenta la compatibilidad de Hyper-V Dom0

El hipervisor de Hyper-V en Linux ahora se gestiona a través del dispositivo /dev/mshv, lo que optimiza su integración con el sistema. Además, los parches introducidos han incorporado la capacidad de deshabilitar núcleos de CPU en caliente (CPU offline), lo que permite una mayor flexibilidad en la gestión de los recursos del sistema.

El soporte de Linux como host para Hyper-V fue inicialmente introducido en 2020, aunque hasta ahora solo estaba disponible mediante parches específicos, dado que Microsoft lo utilizaba en su distribución Azure Linux y en su infraestructura en la nube, pero su inclusión en el kernel principal de Linux permite que cualquier proyecto de terceros pueda aprovechar esta capacidad sin requerir modificaciones adicionales.

El motivo principal detrás de esta decisión es la creciente predominancia de Linux en los entornos de virtualización de Microsoft. Desde 2018, la cantidad de sistemas invitados Linux en Azure ha superado a los de Windows, lo que ha llevado a la empresa a optimizar su infraestructura para esta tendencia.

Mejoras en el subsistema de red

Otro de los cambios que se destacan para el próximo lanzamiento de Linux, 6.15, son las optimizaciones para mejorar el rendimiento de las redes en sistemas Linux. Estas mejoras abarcan:

  • Mejoras en MPTCP: El rendimiento de Multipath TCP (MPTCP) se ha optimizado en un 29 % en escenarios de subflujo único.
  • Optimización del tráfico TCP: Activar GRO (Generic Receive Offload) en paquetes redirigidos por XDP (eXpress Data Path) puede duplicar el rendimiento del flujo TCP.
  • Aceleración de conexiones TCP: Se ha mejorado el rendimiento de connect() en situaciones de alta concurrencia en un 200 %, al reemplazar bloqueos de giro con la búsqueda de una estructura RCU de 4 tuplas. Al ajustar la distribución hash, la mejora alcanza un 229 %.
  • Optimización en tráfico UDP: Durante ataques de inundación UDP, la eficiencia en recepción mejora hasta en un 10 %, al reducir accesos innecesarios a las marcas de tiempo de los sockets.

Ademas de ello, también se han implementado nuevas funcionalidades y mejoras de compatibilidad, tales como:

  • Seguimiento de marcas de tiempo TCP: Se agrega la capacidad de recopilar marcas de tiempo en BPF para monitorear datos enviados, registrados y reconocidos en conexiones TCP, permitiendo un rastreo más eficiente con menor impacto en el rendimiento.
  • Soporte para MCTP sobre USB: Se ha añadido un controlador de transporte para MCTP (Management Component Transport Protocol) en conexiones USB.
  • Acceso a módulos SFP: Ahora se permite el acceso a módulos SFP (Small Form-factor Pluggable) a través de SMBus (System Management Bus).
  • Broadcom BNXT: Ahora es compatible con la interfaz Intel Killer E5000 Ethernet.
  • Soporte para NPU Airoha RISC-V: Se incorpora compatibilidad con la unidad de procesamiento de paquetes (NPU) de Airoha basada en RISC-V.
  • Chipsets inalámbricos Realtek: Se agregan los modelos RTL8814AE y RTL8814AU al controlador RTW88.
  • Intel IWLWIFI: Se introduce un nuevo subcontrolador iwlmld dentro del driver IWLWIFI, lo que amplía la compatibilidad con diferentes combinaciones de hardware y firmware.
  • Soporte MLO en Mediatek MT76: El controlador MT76 de Mediatek está preparando compatibilidad con MLO, específicamente para el chipset MT7996.

Finalmente, si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.