Se ha lanzado Linux 5.8, uno de los mejores. Una descripción más detallada



A principios de agosto, Linus Torvalds presentó una nueva versión del kernel de Linux. De acuerdo con una larga tradición, el lanzamiento del proyecto de código abierto más grande ocurre de manera bastante rutinaria, el creador escribe un correo electrónico a los colegas en el taller con un breve resumen de la nueva versión estable del kernel.



Una característica del kernel 5.8 fue el número récord de cambios durante toda la existencia del proyecto. Solo hubo una versión más grande del kernel de Linux 4.9, pero eso se infló artificialmente debido al nuevo subsistema greybus, mientras que la 5.8 incorporó más cambios en muchas direcciones diferentes. Veamos qué es tan útil e interesante en Linux 5.8, y al mismo tiempo 5.8.1, principalmente para usuarios comunes y estaciones de trabajo.



El parche de 64 MiB contiene el trabajo de los desarrolladores de 1991, incluidos 304 nuevos. Los esfuerzos de la comunidad agregaron 904K y eliminaron 553K líneas de código. Si observa las empresas, entre las más activas hay nombres familiares.



  • Intel;
  • Tecnologías Huawei;
  • Habana Labs;
  • Sombrero rojo;
  • Google;
  • Linaro;
  • IBM;
  • AMD;
  • Mellanox;
  • SUSE;


Gráficos



La mayor parte del código base del kernel de Linux está ocupada por controladores, por lo que no es de extrañar que una parte importante de los cambios y actualizaciones de versiones estén dedicados a ellos.



Compatibilidad con controladores de GPU Adreno 405/640/650



Gracias a la actualización abierta del controlador MSM (Freedreno), se ha agregado compatibilidad con las GPU Qualcomm Adreno 405, 640 y 650. Estas GPU móviles se pueden ver en algunos de los últimos SoC (sistema en un chip) como Snapdragon 855+ y Snapdragon 865. Estos chips se puede encontrar en los teléfonos inteligentes Samsung Galaxy S10 / S20, OnePlus y muchos otros dispositivos.



Al mismo tiempo, en el marco de las API abiertas OpenGL y Vulkan, los controladores Adreno continúan desarrollándose, respectivamente con Freedreno Gallium3D y TURNIP. Los nuevos cambios se incluirán en Mesa 20.2-devel.



Numerosas mejoras a los controladores amdgpu



AMD hizo todo lo posible para mejorar la calidad de los controladores de gráficos en Linux 5.8. Junto con un mayor rendimiento, se implementó la capacidad de usar búferes de memoria de video encriptados (Trusted Memory Zone).



AMD Radeon Trusted Memory Zone está diseñado para proteger las páginas seleccionadas de ser leídas por la CPU y otros clientes que no sean GPU y para evitar escrituras en páginas protegidas por TMZ.



Además, se ha agregado compatibilidad con el formato de píxeles FP16 al controlador y se ha completado un trabajo extenso para proporcionar el intercambio de búfer DMA de igual a igual entre dispositivos (p2p DMA-BUF) sin compatibilidad con las páginas de memoria del sistema.



Sistemas de archivos



Próximas actualizaciones de los controvertidos Btrfs, FAT, exFAT y otros.



Mejoras varias de Btrfs



OpenSUSE y SUSE Linux se encuentran entre los pocos que utilizan Btrfs como su sistema de archivos principal. Como era de esperar, SUSE ha lanzado una serie de parches para este sistema de archivos. Como resultado, Btrfs ha mejorado el manejo de lectura de E / S.



  • El código de E / S directo se ha adaptado a las interfaces de iomap;
  • ahora, cuando la eliminación de un volumen anidado falla debido a la falta de espacio, el sistema de archivos no entra en modo de solo lectura;
  • eliminación de diversos defectos y limpieza de códigos.


Compresión usando el algoritmo LZO-RLE en F2FS



Una nueva adición notable al sistema de archivos compatible con Flash en el nuevo kernel de Linux es el formato de compresión LZO-RLE. La codificación LZO Run-Length tiene como objetivo las mismas tasas de compresión que el algoritmo LZO estándar, pero con un rendimiento superior. Esto se hizo posible después de que ARM introdujera la implementación de LZO-RLE en el kernel el año pasado.



Soporte para verificar el área de arranque exFAT



Samsung ha introducido mejoras exFAT para el kernel de Linux 5.8, y la nueva versión del controlador incluye una serie de correcciones y optimizaciones. En particular, se limpió el código, se mejoró el registro y se optimizó la función de almacenamiento en caché de registros. Además, los ingenieros de la compañía han agregado una nueva funcionalidad: verificar el área de arranque para exFAT.



Mejora del rendimiento de E / S SMB v3 / CIFS



Se ha definido un nuevo parámetro nodelete, con el que el cliente puede realizar comprobaciones periódicas en el servidor, pero está prohibido borrar archivos y carpetas. Los parches SMB v3 incluyen mejoras de rendimiento significativas para E / S grandes cuando se usa multicanal, así como correcciones DFS.



Carga ansiosa de elementos FAT mejorada



La lectura anticipada de registros FAT en la versión anterior era muy simple, pero tenía algunos inconvenientes que la hacían ineficaz en algunos entornos.

Gracias al mecanismo para actualizar la ventana de lectura anticipada al máximo y las bdi-> ra_pages personalizables, hemos logrado importantes mejoras de rendimiento. La prueba se realizó en una unidad USB lenta de 2 TB y el resultado fue una reducción en el tiempo de prueba de 383 a 51 segundos.



Soporte DAX para Ext4 y XFS



DAX, o Direct Access, está diseñado para acceder directamente al sistema de archivos sin pasar por la caché de la página. Omitir el almacenamiento en caché de la página en el modo DAX significa eliminar una copia adicional de lectura / escritura en el dispositivo de almacenamiento. Esto, a su vez, permite que el dispositivo de almacenamiento se asigne al espacio del usuario de forma directa y más eficiente.



Estas mejoras en el código DAX de Intel permiten habilitar el modo de acceso directo por inodo, en lugar de simplemente activarlo o desactivarlo para todo el sistema de archivos. Además, utilizando la llamada al sistema statx (), puede consultar el estado del acceso directo a un archivo específico desde el espacio de usuario.



Subsistema de red



La pila TCP / IP del kernel de Linux ocupa un lugar especial en el panorama general, en vista de la significativa complejidad de la arquitectura y las enormes posibilidades de uso en una amplia variedad de dispositivos. La infraestructura de red más que otras asegura el dominio del sistema operativo Linux en los servidores y continúa evolucionando a pasos agigantados.



  • Netfilter, el módulo nftables proporciona actualizaciones dinámicas de dispositivos para tablas de flujo;
  • * MRP, soporte agregado para Protocolo de Redundancia de Medios - Estándar de red IEC 62439-2. El protocolo permite proporcionar resistencia a las fallas de la red al combinar varios conmutadores Ethernet en un anillo, siendo más rápido que STP.
  • bluetooth, nuevos controladores para Realtek RTL8761B, Intel Typhoon Peak y Qualcomm QCA6390;
  • lx5/mlx5e, Mellanox , 10, 40 100 . mlx5 mlx5e TLS, IPsec, MPLS ;
  • rnbd, RNBD RDMA RTRS. , - .


Wi-Fi



  • ath10k - VHT160 VHT80+80. Qualcomm Atheros IEEE 802.11ac Wifi 5(802.11ac).
  • El controlador iwlwifi ahora es compatible con ACPI DSM (método específico del dispositivo) para los nuevos chips Intel.


Actualizaciones de ipv6



  • La pila Ipv6 ahora tiene soporte MPLS;
  • Se agregó encapsulación IPv6 para ESP sobre transporte UDP y TCP;
  • RFC 6069 apoyo se ha implementado . La norma describe el algoritmo de interrupciones TCP largo de conectividad, que ofrece la posibilidad de realizar el transporte de TCP más resistente a fallos de comunicación a largo plazo.


La seguridad



Esto incluye correcciones relacionadas con los agujeros de seguridad de Intel como Spectre, SELinux, bloqueo de módulos del kernel con bits de ejecución y escritura, un generador de números aleatorios, etc.



Correcciones de espectro



Está claro que Intel no sobrepasará su plan para abordar todas las consecuencias de la vulnerabilidad Spectre en sus conjuntos de chips en el corto plazo.



Estamos hablando de varias correcciones urgentes para que el kernel de Linux maneje la ejecución especulativa de instrucciones x86 / x86_64. Esto sucedió después de que un ingeniero de seguridad de Google descubriera la vulnerabilidad y el hecho de que una de las correcciones anteriores, como efecto secundario, afectaba a los procesadores AMD.



Barrera de predicción de rama indirecta (IBPB): la protección contra ataques del búfer de rama de destino para la segunda variante de Spectre se desactivará a la fuerza en Linux. La condición es escenarios donde STIBP no está disponible o la Especificación de sucursal restringida indirecta (IBRS) está disponible.



Chips y chipsets



Hubo muchos cambios en Linux 5.8 para la arquitectura ARM.



Soporte de arranque inicial para procesadores Power 10



Power 10 es un próximo procesador de IBM y OpenPOWER Foundation, que se espera que salga a la venta en 2021 y se fabricará mediante un proceso de 7 nm. Según datos preliminares, el nuevo chip ofrece mejoras significativas sobre la microarquitectura existente de Power 9.



Además del soporte de arranque básico para la arquitectura Power 10, el kernel de Linux 5.8 también admite el conjunto de instrucciones con prefijo Power 10.



Soporte para nuevos SoC ARM



De acuerdo con el progreso del subsistema del kernel de Linux para Android, se han agregado los siguientes a la lista de dispositivos compatibles:



  • Realtek RTD1195 como solución Arm Cortex A7;
  • Realtek RTD1395;
  • Realtek RTD1619;
  • Plataforma Renesas RZ / G1H;
  • SoC económico Rockchips RK 3326 de 64 bits junto con la consola de juegos Odroid-GO Advance;
  • Caja de TV Smartlabs SML-5442TW basada en AMLogic S905D;
  • ODROID-C4 basado en AMLogic S905X3;
  • TV-box Beelink GT-King Pro basado en AMLogic S922XH;
  • Controlador de gestión de placa base basado en Aspeed ast 2500 en Facebook x86 Yosemite V2 y YADRO OpenPower P9 Nicole ;
  • Olimex A20-OLinuXino-LIME-eMMC SBC;
  • Enrutador Check Point L-50;
  • Chromebooks Elm / Hana basados ​​en Mediatek MT8173;
  • Teléfono inteligente Samsung Galaxy S2 basado en Samsung Exynos 4210;
  • Plataforma Qualcomm SDM660 / SDM630 y teléfono inteligente Xiaomi Redmi Note 7;
  • Caja de TV Xnano X5 basada en Realtek RTD1295;


Nuevo controlador AMD Energy



El nuevo y esperado controlador AMD Energy para monitorear sensores de energía en procesadores Zen / Zen 2. Esto le permite obtener informes de energía en cada socket / núcleo en procesadores AMD Zen / Zen2.



Interfaz Thunderbolt / USB4 en procesadores Intel Tiger Lake



Con solo 28 líneas de código en este parche , la compatibilidad con Thunderbolt / USB4 para los chips Tiger Lake se debe en gran parte a la reutilización de Ice Lake.



La interfaz Thunderbolt también se puede ejecutar en la arquitectura ARM utilizando una tarjeta de expansión Thunderbolt PCIe. Actualmente no hay dispositivos ARM SoC disponibles.



Versión estable de Linux 5.8.1



La versión menor de Linux 5.8.1 es una actualización menor que cambia un total de 40 archivos con 548 inserciones y 186 eliminaciones. Contiene principalmente correcciones de errores para varios controladores:



  • GPIO, max77620;
  • LEDs;
  • SCSI;
  • MTD;
  • PCI, tegra;
  • USB;
  • sonido;
  • vídeo;
  • Actualizaciones para la arquitectura ARM64;
  • Actualizaciones de la arquitectura PowerPC.


¿Qué kernel es más útil?



Siempre que se lanza una nueva versión estable del kernel de Linux con muchas actualizaciones útiles, es posible que tenga ganas de descargar inmediatamente el archivo de kernel.org , modificar la configuración de menuconfig o xconfig, compilar y arrancar desde la imagen recién creada. Aún así, no debe apresurarse y he aquí por qué.



El mantenedor de sucursales estables Greg Kroah-Hartman ha compilado una pequeña calificación de sucursales estables. Esto es lo que parece.



  1. Un kernel estable y actualizado para su distribución de Linux.
  2. Última versión estable.
  3. Versión más reciente de LTS (soporte a largo plazo);
  4. Versión anterior de LTS que todavía es compatible.


En primer lugar, el criterio de conveniencia es el kernel de Linux, compilado específicamente para su distribución. Contiene todos los parches necesarios y configuraciones especiales. Además, los desarrolladores de la distribución trabajan mucho para corregir errores y, a veces, nuevas funciones para el código del kernel, y todo esto en un esfuerzo quijotesco por no cambiar el número de versión principal, a pesar de la presencia de muchos miles de cambios.



Con estas consideraciones en mente, tiene sentido esperar hasta que el nuevo kernel esté disponible para su distribución. Para Debian Linux y RHEL, así como para dispositivos Android, pueden pasar años antes de que un nuevo kernel esté en producción. Sin embargo, hay toneladas de distribuciones para estaciones de trabajo y usuarios generales para las que un nuevo kernel estará disponible en unas pocas semanas.



Las nuevas distribuciones Ubuntu Linux 20.10 (Groovy Gorilla) se enviarán con el kernel de Linux 5.8 en octubre de 2020.



Materiales usados








All Articles