{"id":115726,"date":"2024-05-13T13:52:06","date_gmt":"2024-05-13T11:52:06","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-yadra-linux-6-9"},"modified":"2024-05-13T13:52:06","modified_gmt":"2024-05-13T11:52:06","slug":"reliz-yadra-linux-6-9","status":"publish","type":"post","link":"https:\/\/prohoster.info\/es\/blog\/news\/reliz-yadra-linux-6-9","title":{"rendered":"Lanzamiento del n\u00facleo Linux 6.9","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Despu\u00e9s de dos meses de desarrollo, Linus Torvalds present\u00f3 el lanzamiento del n\u00facleo Linux 6.9. Entre los cambios m\u00e1s notables se encuentran: el m\u00f3dulo dm-vdo para deduplicaci\u00f3n y compresi\u00f3n de dispositivos de bloque, el modo de acceso directo a archivos en FUSE, soporte para la creaci\u00f3n de pidfd para hilos individuales, el mecanismo de tokens BPF, soporte para Rust en sistemas ARM64, la degradaci\u00f3n del sistema de archivos Ext2 a obsoleto, la eliminaci\u00f3n del antiguo controlador NTFS y el soporte para el mecanismo Intel FRED.        <\/p>\n<p>La nueva versi\u00f3n incluye 15,680 correcciones de 2,106 desarrolladores, con un tama\u00f1o de parche de 54 MB (los cambios afectaron a 11,825 archivos, se a\u00f1adieron 687,954 l\u00edneas de c\u00f3digo y se eliminaron 225,344 l\u00edneas). En la versi\u00f3n anterior, hubo 15,641 correcciones de 2,018 desarrolladores, con un tama\u00f1o de 44 MB. Aproximadamente el 42% de todos los cambios presentados en 6.9 est\u00e1n relacionados con controladores de dispositivos, alrededor del 17% tiene que ver con la actualizaci\u00f3n de c\u00f3digo espec\u00edfico de arquitecturas de hardware, el 13% se relaciona con la pila de red, el 7% con sistemas de archivos y el 4% con subsistemas internos del n\u00facleo.      <\/p>\n<p>Novedades principales en el n\u00facleo 6.9:  <\/p>\n<ul>\n<li class=\"l\"> <b>Subsistema de disco, entrada\/salida y sistemas de archivos<\/b>\n<ul>\n<li class=\"l\"> En Device Mapper (DM) se ha a\u00f1adido un nuevo controlador dm-vdo (optimizador de datos virtuales), que permite crear un dispositivo de bloque virtual basado en dispositivos de bloque existentes, con capacidades como deduplicaci\u00f3n de datos repetidos, compresi\u00f3n de datos, exclusi\u00f3n de bloques vac\u00edos y aumento del tama\u00f1o del dispositivo de bloque seg\u00fan sea necesario (thin provisioning). Estas capacidades se implementan a nivel de dispositivo de bloque y no dependen del sistema de archivos utilizado (por ejemplo, con dm-vdo se puede realizar la combinaci\u00f3n autom\u00e1tica de datos duplicados y almacenar informaci\u00f3n de forma comprimida para cualquier sistema de archivos). Se admite la aplicaci\u00f3n de dm-vdo a almacenes f\u00edsicos de hasta 256TB y la creaci\u00f3n de vol\u00famenes l\u00f3gicos de hasta 4PB. Se recomienda utilizar lvm para gestionar particiones vdo. La tecnolog\u00eda VDO fue desarrollada por Permabit y se hizo p\u00fablica tras su adquisici\u00f3n por Red Hat en 2017.\n<li class=\"l\"> En el subsistema FUSE, utilizado para la implementaci\u00f3n de sistemas de archivos en el espacio de usuario, se ha a\u00f1adido una implementaci\u00f3n inicial del modo \u00abpassthrough\u00bb, que permite obtener datos de archivos directamente a nivel del n\u00facleo, omitiendo el proceso que se ejecuta en el espacio de usuario, lo que puede aumentar significativamente el rendimiento en ciertas situaciones. Por ejemplo, las implementaciones de FUSE de sistemas de archivos que operan en modo de solo lectura y restringen el acceso a los archivos pueden entregar el contenido de los archivos desde el sistema de archivos original sin tener que enviarlos al proceso FUSE.\n<li class=\"l\"> El controlador con la implementaci\u00f3n del sistema de archivos Ext2 se ha clasificado como obsoleto (deprecated). La raz\u00f3n mencionada es que el controlador solo admite contadores de tiempo de 32 bits en el inode, que se desbordar\u00e1n el 19 de enero de 2038. Se sugiere utilizar el controlador ext4, que es compatible con el sistema de archivos Ext2 y puede trabajar con las particiones ext2 utilizando marcas de tiempo que no est\u00e1n afectadas por el problema del a\u00f1o 2038, siempre que el sistema de archivos se cree con inodes de m\u00e1s de 255 bytes (en el controlador ext2, los contadores de tiempo de 32 bits se usaban independientemente del tama\u00f1o del inode).\n<li class=\"l\"> Se ha eliminado el antiguo controlador del sistema de archivos NTFS, siendo reemplazado a partir de la versi\u00f3n 5.15 por el nuevo controlador NTFS3. Se considera poco pr\u00e1ctico tener dos controladores de NTFS en el n\u00facleo, dado que el antiguo no se ha actualizado en muchos a\u00f1os, est\u00e1 en mal estado y solo puede operar en modo de lectura.\n<li class=\"l\"> Se ha a\u00f1adido soporte para el mapeo de identificadores de usuario de sistemas de archivos montados en los sistemas de archivos zonefs y hugetlbfs, utilizado para asociar archivos de un usuario espec\u00edfico en una partici\u00f3n montada de otro usuario en el sistema actual.\n<li class=\"l\"> En NFSv4, se ha proporcionado a los administradores la capacidad de limpiar los estados de apertura y bloqueo de archivos.\n<li class=\"l\"> Para el sistema de archivos Ext4, solo se han se\u00f1alado correcciones de errores y actualizaciones de pruebas kunit.\n<li class=\"l\"> En Btrfs, se ha continuado la traducci\u00f3n de funciones para utilizar folios de p\u00e1ginas de memoria (page folios).\n<li class=\"l\">  En el sistema de archivos XFS, se continu\u00f3 trabajando en la implementaci\u00f3n de la herramienta fsck para verificar y corregir problemas en modo online, sin necesidad de desmontar el sistema de archivos.\n<li class=\"l\"> Se ha a\u00f1adido el flag RWF_NOAPPEND a la llamada al sistema pwritev2(), que permite especificar un desplazamiento para la escritura, incluso si el archivo se abri\u00f3 en modo de solo adici\u00f3n de datos al final del archivo.\n<li class=\"l\"> Se han a\u00f1adido nuevos comandos ioctl: FS_IOC_GETUUID \u2014 devuelve el identificador UUID del sistema de archivos especificado, y FS_IOC_GETFSSYSFSPATH \u2014 determina la ubicaci\u00f3n en \/sys\/fs del sistema de archivos montado especificado.\n<li class=\"l\"> Los sistemas de archivos efs, qnx4 y coda han sido actualizados para utilizar la nueva API de montaje de particiones.\n<li class=\"l\"> Se ha mejorado la implementaci\u00f3n de operaciones con archivos que se realizan en modo sin distinci\u00f3n entre may\u00fasculas y min\u00fasculas. Se ha aumentado el rendimiento al realizar primero una comparaci\u00f3n con distinci\u00f3n de may\u00fasculas y luego retroceder a una b\u00fasqueda sin distinci\u00f3n de may\u00fasculas. Se han solucionado problemas al montar overlayfs sobre directorios donde se ha establecido el modo sin distinci\u00f3n entre may\u00fasculas y min\u00fasculas.                  <\/ul>\n<li class=\"l\"> <b>Memoria y servicios del sistema<\/b>\n<ul>\n<li class=\"l\"> Se ha implementado el soporte para el mecanismo Intel FRED (Flexible Return and Event Delivery), dise\u00f1ado para mejorar la eficiencia y la fiabilidad en la entrega de informaci\u00f3n sobre eventos de bajo nivel, en comparaci\u00f3n con el mecanismo actual IDT (Interrupt Descriptor Table). El aumento del rendimiento y la reducci\u00f3n de latencias se logran gracias al retorno de eventos mediante la instrucci\u00f3n del procesador IRET en lugar de transmitir eventos a trav\u00e9s de la tabla IDT. La fiabilidad se mejora gracias al procesamiento separado de la llegada del evento en el contexto del n\u00facleo y en el contexto del usuario, protegiendo contra la ejecuci\u00f3n anidada de NMI y manteniendo en el marco de pila extendido todos los registros de CPU relacionados con la excepci\u00f3n.\n<li class=\"l\"> Se ha a\u00f1adido la capacidad de optimizar el acceso a datos de n\u00facleos CPUs individuales mediante el uso en el c\u00f3digo del n\u00facleo de espacios de direcciones con nombre (Named Address Spaces), implementados en GCC en forma de extensi\u00f3n de GNU C.\n<li class=\"l\"> Se ha a\u00f1adido la bandera PIDFD_THREAD a la funci\u00f3n pidfd_open(), que permite crear pidfd para hilos individuales, y no solo usar pidfd en el contexto del l\u00edder del grupo de hilos. Tambi\u00e9n se ha propuesto implementar un pseudo-SF para acceder a pidfd a trav\u00e9s de un sistema de archivos virtual. A diferencia de la identificaci\u00f3n de procesos mediante pid, el identificador pidfd se vincula a un proceso espec\u00edfico y no cambia, mientras que el PID puede ser asignado a otro proceso tras la finalizaci\u00f3n del proceso actual.\n<li class=\"l\"> Se ha a\u00f1adido un mecanismo de tokens BPF al subsistema BPF, permitiendo delegar selectivamente a los programas los derechos de acceso a operaciones BPF privilegiadas. Por ejemplo, se puede proporcionar a una aplicaci\u00f3n no privilegiada acceso a subsistemas BPF individuales sin otorgar derechos completos CAP_BPF.\n<li class=\"l\"> Se ha a\u00f1adido un nuevo tipo de memoria compartida bpf_arena al subsistema BPF, que define un \u00e1rea accesible para ser compartida entre programas BPF y procesos en el espacio de usuario. Se ha a\u00f1adido la instrucci\u00f3n may_goto, que permite organizar el trabajo de ciclos que pueden ser interrumpidos por el verificador. Tambi\u00e9n se ha a\u00f1adido la capacidad de generar cookies TCP SYN arbitrarias desde programas BPF y crear controladores BPF para combatir el SYN flood.\n<li class=\"l\"> Se ha continuado la transferencia de cambios de la rama Rust-for-Linux, relacionada con el uso del lenguaje Rust como segundo lenguaje para el desarrollo de controladores y m\u00f3dulos del n\u00facleo (el soporte para Rust no est\u00e1 habilitado por defecto y no implica incluir Rust entre las dependencias de compilaci\u00f3n requeridas para el n\u00facleo). Se ha a\u00f1adido soporte para usar el lenguaje Rust en procesadores ARM de 64 bits. Se ha realizado la transici\u00f3n a la versi\u00f3n de Rust 1.76. Se ha a\u00f1adido el macro \u2018container_of!\u2019. En lugar de la funcionalidad inestable \u2018ptr_metadata\u2019, se ha utilizado el m\u00e9todo estable \u2018byte_sub\u2019. Se ha a\u00f1adido el m\u00f3dulo \u2018time\u2019 con la funci\u00f3n de conversi\u00f3n de tiempo \u2018msecs_to_jiffies()\u2019.\n<li class=\"l\"> Se ha a\u00f1adido la capacidad de truncar archivos (ftruncate_file) al subsistema io_uring.\n<li class=\"l\"> Se ha a\u00f1adido un nuevo tipo de colas de trabajo WQ_BH (workqueue Bottom Halves) para la ejecuci\u00f3n asincr\u00f3nica de c\u00f3digo en el contexto de interrupciones suaves, destinado a sustituir los obsoletos tasklets.\n<li class=\"l\"> Se ha reestructurado significativamente el subsistema del temporizador, mejorando la l\u00f3gica de selecci\u00f3n del n\u00facleo de CPU activo para ejecutar el temporizador disparado, evitando as\u00ed que n\u00facleos inactivos salgan del modo de suspensi\u00f3n.\n<li class=\"l\"> Se ha implementado la posibilidad de actualizar el modelo de consumo de energ\u00eda de la CPU (EM, Energy Model) durante la operaci\u00f3n, que puede utilizarse, por ejemplo, para tener en cuenta el impacto de la temperatura de funcionamiento en la eficiencia energ\u00e9tica del CPU. Se ha incrementado significativamente el rendimiento de la funci\u00f3n em_cpu_energy(), que en pruebas en un sistema est\u00e1tico ahora se ejecuta 1.43 veces m\u00e1s r\u00e1pido, y en pruebas en la placa RockPi 4B, se ejecuta 1.69 veces m\u00e1s r\u00e1pido.\n<li class=\"l\"> Se ha a\u00f1adido soporte para el arranque de sistemas basados en la arquitectura ARM64 en modo LPA2 con un espacio de direcciones virtuales de 52 bits.\n<li class=\"l\"> Para sistemas ARM64, se ha implementado el soporte para registros PTE continuos (Page Table Entry), que permiten mejorar el rendimiento al aumentar la eficiencia del uso de la TLB (Translation Lookaside Buffer).\n<li class=\"l\"> Se han aceptado parches para mejorar el rendimiento del subsistema de gesti\u00f3n de memoria al reducir la aparici\u00f3n de bloqueos en vmalloc().\n<li class=\"l\"> Se ha implementado en la arquitectura LoongArch un mecanismo de parches en caliente (live patching) que permite aplicar correcciones al n\u00facleo sin necesidad de reiniciar.\n<li class=\"l\"> Para los sistemas RISC-V, se ha implementado el soporte para la llamada al sistema membarrier(), que establece barreras de memoria para los hilos que est\u00e1n en ejecuci\u00f3n en el sistema.\n<li class=\"l\"> Se han elevado los requisitos para la versi\u00f3n de LLVM\/Clang que se puede utilizar para compilar el n\u00facleo. Ahora se requiere al menos la versi\u00f3n 13.0.1 de LLVM (antes se pod\u00eda compilar con LLVM 11+).\n<li class=\"l\"> Al mecanismo \u00abUser trace events\u00bb, que permite crear eventos de rastreo desde procesos de usuario para seguir la actividad en el espacio de usuario, se le ha a\u00f1adido soporte para exportar informaci\u00f3n de eventos en diferentes formatos (USER_EVENT_REG_MULTI_FORMAT).\n<li class=\"l\"> Se ha a\u00f1adido al mecanismo de rastreo de llamadas a funciones la capacidad de rastrear el estado de los argumentos de entrada de la funci\u00f3n al rastrear la salida de la funci\u00f3n. Los valores de la instrucci\u00f3n return ahora se pueden asociar con los argumentos utilizados en la llamada a la funci\u00f3n.\n<li class=\"l\"> Se ha a\u00f1adido soporte en la herramienta perf para el modo de agregaci\u00f3n de salida 'cluster' ('perf stat -a --per-cluster') para combinar estad\u00edsticas de recursos compartidos. Se ha implementado la posibilidad de utilizar la biblioteca libcapstone para desensamblar instrucciones de la CPU ('perf script -F disasm'). Se han realizado optimizaciones en el consumo de memoria al ejecutar los comandos perf report y perf annotate.                    <\/ul>\n<li class=\"l\"> <b>Virtualizaci\u00f3n y seguridad<\/b>\n<ul>\n<li class=\"l\"> Se ha a\u00f1adido protecci\u00f3n contra la vulnerabilidad RFDS (Register File Data Sampling) en los procesadores Intel Atom, que permite extraer informaci\u00f3n residual de los archivos de registro (RF, Register File) de la CPU, utilizados para almacenar conjuntamente el contenido de los registros en todas las tareas en el mismo n\u00facleo de la CPU. Para bloquear la vulnerabilidad se requiere una actualizaci\u00f3n de microc\u00f3digo y el uso de la instrucci\u00f3n VERW para limpiar el contenido de los b\u00faferes microarquitect\u00f3nicos en el momento de la transici\u00f3n del n\u00facleo al espacio de usuario. Para habilitar la protecci\u00f3n al arrancar el n\u00facleo se puede especificar la bandera \u00abreg_file_data_sampling=on\u00bb. La informaci\u00f3n sobre la exposici\u00f3n a la vulnerabilidad y la disponibilidad del microc\u00f3digo necesario para la protecci\u00f3n se puede evaluar en el archivo '\/sys\/devices\/system\/cpu\/vulnerabilities\/reg_file_data_sampling'.\n<li class=\"l\"> Se ha a\u00f1adido soporte b\u00e1sico para la protecci\u00f3n de sistemas invitados mediante la extensi\u00f3n AMD SEV-SNP (Secure Nested Paging), que asegura un manejo seguro de tablas de p\u00e1ginas de memoria anidadas y protege contra ataques 'undeSErVed' y 'SEVerity' en los procesadores AMD EPYC, que permiten eludir el mecanismo de protecci\u00f3n AMD SEV (Secure Encrypted Virtualization). <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/es\/vps\/abuzoustojchivye-vps\/\"   title=\"KVM\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4384\">KVM<\/a> Los cambios necesarios para utilizar SNP se planean a\u00f1adir en la rama 6.10.\n<li class=\"l\"> Los m\u00f3dulos con la implementaci\u00f3n de las tecnolog\u00edas IMA (Integrity Measurement Architecture) y EVM (Extended Verification Module) han sido trasladados al uso del marco LSM (Linux Security Modules), lo que ha simplificado significativamente el c\u00f3digo sin p\u00e9rdida de funcionalidad, consolidando la funcionalidad duplicada y aprovechando las capacidades t\u00edpicas disponibles a trav\u00e9s de LSM. El m\u00f3dulo IMA est\u00e1 dise\u00f1ado para verificar la integridad de los componentes del sistema operativo mediante firmas digitales y hash. El m\u00f3dulo EVM permite proteger los atributos extendidos de los archivos (xattrs) contra ataques dirigidos a comprometer su integridad (EVM no permitir\u00e1 un ataque offline, en el que un atacante pueda modificar los metadatos, por ejemplo, arrancando desde su propio dispositivo).\n<li class=\"l\"> Se han redise\u00f1ado para mayor compatibilidad con entornos de 32 bits las llamadas al sistema lsm_list_modules(), lsm_get_self_attr() y lsm_set_self_attr(), que est\u00e1n destinadas a mostrar la lista de m\u00f3dulos LSM cargados (Linux Security Modules) y obtener\/establecer los atributos del m\u00f3dulo LSM. El cambio rompe la compatibilidad hacia atr\u00e1s, pero dado que se a\u00f1adieron nuevas llamadas al sistema en la \u00faltima versi\u00f3n del n\u00facleo y a\u00fan no se utilizan en aplicaciones, Linus Torvalds consider\u00f3 que el cambio es aceptable.\n<li class=\"l\"> Se intent\u00f3 reactivar el uso del mecanismo UBSAN (Undefined Behavior Sanitizer). La esencia del problema es que los compiladores manejan de manera diferente los desbordamientos enteros de tipos con signo y sin signo. Los desbordamientos con signo y los desbordamientos de punteros se consideran comportamiento indefinido, mientras que los desbordamientos sin signo se recortan m\u00f3dulo 2n con la conservaci\u00f3n solo de los bits menos significativos del resultado (\u00abwrap-around\u00bb) y no se consideran comportamiento indefinido. Para excluir situaciones que generen comportamiento indefinido, el n\u00facleo se compila con la opci\u00f3n \u00ab-fno-strict-overflow\u00bb, lo que lleva a utilizar \u00abwrap-around\u00bb para todos los desbordamientos enteros. GCC y Clang no pueden diagnosticar correctamente algunos problemas al usar la bandera \u00ab-fno-strict-overflow\u00bb y la inclusi\u00f3n de UBSAN est\u00e1 destinada a llevar a cabo un trabajo conjunto con los desarrolladores de compiladores para eliminar los falsos positivos que surjan y detectar desbordamientos enteros en lugares donde no hay verificaciones expl\u00edcitas.\n<p>Para verificar posibles desbordamientos en el n\u00facleo, se utilizan construcciones como \u00abvar + offset <var> PAGE_SHIFT) &lt; pgoff){..}&quot;), que dependen de la compilaci\u00f3n con la bandera &quot;-fno-strict-overflow&quot; y no abarcan todo el c\u00f3digo donde podr\u00eda ocurrir un desbordamiento potencial. El problema es que al usar UBSAN, este tipo de verificaciones llevaban a la emisi\u00f3n de una gran cantidad de falsas advertencias, y debido a esto, en 2021 se tuvo que desactivar UBSAN. En la implementaci\u00f3n actualizada, se propone utilizar anotaciones especiales __signed_wrap y __unsigned_wrap, as\u00ed como macros ya preparadas con verificaciones add_would_overflow(a, b) y add_wrap(a, b), que permiten separar el uso previsto por los desarrolladores de desbordamientos enteros de la aparici\u00f3n de desbordamientos aleatorios que podr\u00edan conducir a vulnerabilidades. La propuesta para una reestructuraci\u00f3n m\u00e1s amplia del n\u00facleo con la introducci\u00f3n de definiciones de tipos adicionales fue rechazada por Linus Torvalds.                      <\/ul>\n<li class=\"l\"> <b>Subsistema de red<\/b>\n<ul>\n<li class=\"l\">  En el subsistema de red, se ha trabajado para reducir la aparici\u00f3n de bloqueos contendientes (\u00ablock contention\u00bb, intento de obtener un bloqueo sostenido por otro hilo). Se ha reducido el uso de bloqueos RTNL.\n<li class=\"l\"> Se ha a\u00f1adido la opci\u00f3n de habilitar el soporte de sondeo activo de sockets (busy polling) en el contexto de llamadas individuales a epoll. El tama\u00f1o del pool y los par\u00e1metros del presupuesto se pueden establecer separados de los par\u00e1metros del sistema por defecto.\n<li class=\"l\"> Se ha implementado la estructura net_hotdata para mejorar la eficiencia del almacenamiento en cach\u00e9 de las variables de configuraci\u00f3n de red m\u00e1s utilizadas.\n<li class=\"l\"> MPTCP ha a\u00f1adido soporte para la configuraci\u00f3n de la opci\u00f3n TCP_NOTSENT_LOWAT en los sockets, lo que permite limitar el tama\u00f1o del b\u00fafer de env\u00edo. En la API para sockets MCTP se ha a\u00f1adido soporte para identificadores de red (\"network ID\"), que permiten utilizar varias redes MCTP no superpuestas en un mismo host.\n<li class=\"l\"> Se ha a\u00f1adido soporte en IPSec para redirigir mensajes ICMP con informaci\u00f3n sobre errores (RFC 4301).\n<li class=\"l\"> Se ha acelerado el proceso de escaneo de rutas con tiempo de vida expirado.\n<li class=\"l\"> Se ha mejorado el rendimiento de XDP gracias a la evitaci\u00f3n m\u00e1s estricta de asignaciones de grandes bloques de memoria.\n<li class=\"l\"> Se ha a\u00f1adido la posibilidad de adjuntar metadatos a los mensajes de netconsole.\n<li class=\"l\"> En Netfilter se permite la definici\u00f3n desde el espacio de usuario de tablas que se vinculan al proceso en segundo plano de control y no se eliminan autom\u00e1ticamente despu\u00e9s de que finaliza la aplicaci\u00f3n de usuario.\n<li class=\"l\"> En nftables se ha acelerado la adici\u00f3n de elementos a los conjuntos set con rangos combinados.                      <\/ul>\n<li class=\"l\"> <b>Hardware<\/b>\n<ul>\n<li class=\"l\"> En el controlador i915 se ha continuado trabajando en la implementaci\u00f3n del soporte para chips Intel LunarLake (Xe 2). Se han a\u00f1adido nuevos identificadores PCI para dispositivos basados en chips Intel Arrow Lake y Alder Lake N. Para Displayport se ha a\u00f1adido soporte para tunneling (DP tunneling) y asignaci\u00f3n de ancho de banda (bandwidth allocation). Se ha habilitado el modo fastboot para todas las plataformas. Se ha a\u00f1adido soporte para la salida de depuraci\u00f3n vinculada a dispositivos espec\u00edficos.\n<li class=\"l\"> En el controlador AMDGPU se ha preparado la implementaci\u00f3n del soporte para GPU AMD RDNA3.5 y RDNA4. Se ha a\u00f1adido soporte para ATHUB 4.1, LSDMA 7.0, JPEG DPG, IH 7.0, HDP 7.0, VCN 5.0, SMU 13.0.6, NBIO 7.11, SDMA 6.1, MMHUB 3.3, DCN 3.5.1, NBIF 6.3.1, VPE 6.1.1 y el marco RAS ACA. Se ha a\u00f1adido el par\u00e1metro freesync_video en el m\u00f3dulo del n\u00facleo para habilitar el soporte experimental de optimizaci\u00f3n de cambio de modos de video utilizando la tecnolog\u00eda de sincronizaci\u00f3n adaptable FreeSync.\n<li class=\"l\"> En el controlador Nouveau, el c\u00f3digo de control de pantalla se ha trasladado para utilizar la funci\u00f3n kmemdup().\n<li class=\"l\"> Se ha continuado trabajando en el controlador drm (Direct Rendering Manager) Xe para GPU basado en la arquitectura Intel Xe, que se utiliza en las tarjetas gr\u00e1ficas Intel de la familia Arc y en la gr\u00e1fica integrada, comenzando con los procesadores Tiger Lake.\n<li class=\"l\"> Se ha a\u00f1adido un controlador DRM para los chips Mediatek MT8188 VDOSYS1.\n<li class=\"l\"> Las opciones del n\u00facleo relacionadas con subsistemas de video se han trasladado a la secci\u00f3n CONFIG_VIDEO.\n<li class=\"l\"> Se ha a\u00f1adido soporte para SoC ARM64: Mediatek MT7981B (Filogic 820), MT7988A (Filogic 880), NXP i.MX8DXP, Renesas R8A779G2 (R-Car V4H ES2.0), R8A779H0 (R-Car V4M), TI J722S.\n<li class=\"l\"> Se ha a\u00f1adido soporte para plataformas y dispositivos ARM: tel\u00e9fonos Android basados en el chip Tegra30, modelos Chromebook basados en Mediatek MT8186, NAS, tabletas y consolas de juegos basadas en Rockchips RK35xx, placas White Hawk basadas en SoC Renesas, placas basadas en Qualcomm SM8550 (Snapdragon 8 Gen 2), Apalis Evaluation Board, Sielaff i.MX6 Solo Board, Samsung Galaxy Tab 4 10.1 LTE.\n<li class=\"l\"> Se ha llevado a cabo la refactorizaci\u00f3n del c\u00f3digo del subsistema de sonido ALSA. Se ha a\u00f1adido soporte para sistemas de sonido Microchip SAM9x7, NXP i.MX95 y Qualcomm WCD939x. En el controlador SoundWire se ha a\u00f1adido soporte ASoC con coprocesadores de sonido AMD ACP 6.3, y para sistemas Intel se ha implementado el modo DSPless. Se ha a\u00f1adido soporte para c\u00f3decs de sonido adicionales Cirrus HD. En el controlador virtio se ha mejorado la gesti\u00f3n de dispositivos de sonido.\n<li class=\"l\"> Se ha a\u00f1adido soporte para controladores Ethernet Marvell Octeon PCI Endpoint NIC VF e Intel E825-C 100G.            <\/ul>\n<\/ul>\n<p>Al mismo tiempo, la Fundaci\u00f3n de Software Libre de Am\u00e9rica Latina ha formado una versi\u00f3n completamente libre del n\u00facleo 6.9 \u2014 Linux-libre 6.9-gnu, limpiado de elementos de firmware y controladores que contienen componentes no libres o secciones de c\u00f3digo, cuya \u00e1rea de aplicaci\u00f3n est\u00e1 limitada por el fabricante. En la versi\u00f3n 6.9, se ha actualizado el c\u00f3digo de limpieza de blobs en los controladores amdgpu, ath12k, adreno, btusb y r8169. Se ha realizado la limpieza de un nuevo controlador ptp_fc3. Se ha limpiado los nombres de los blobs en los archivos dts (device tree) para la arquitectura Aarch64. Se han corregido problemas con la limpieza del controlador i915 que causaban bloqueos durante la inicializaci\u00f3n. Se han realizado cambios relacionados con el manejo de blobs entregados en forma de volcado hexadecimal.<br \/>\n<br \/>Fuente: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=61160\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9. \u0421\u0440\u0435\u0434\u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0437\u0430\u043c\u0435\u0442\u043d\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439: \u043c\u043e\u0434\u0443\u043b\u044c dm-vdo \u0434\u043b\u044f \u0434\u0435\u0434\u0443\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0438 \u0438 \u0441\u0436\u0430\u0442\u0438\u044f \u0431\u043b\u043e\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u0440\u0435\u0436\u0438\u043c \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0444\u0430\u0439\u043b\u0430\u043c \u0432 FUSE, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f pidfd \u0434\u043b\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u043e\u0432, \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c BPF-\u0442\u043e\u043a\u0435\u043d\u043e\u0432, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 Rust \u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 ARM64, \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0424\u0421 Ext2 \u0432 \u0440\u0430\u0437\u0440\u044f\u0434 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0438\u0445, \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 NTFS, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-115726","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/es\/blog\/news\/reliz-yadra-linux-6-9\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"es_ES\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/es\/blog\/news\/reliz-yadra-linux-6-9\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-05-13T11:52:06+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-05-13T11:52:06+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Lanzamiento del n\u00facleo Linux 6.9 | ProHoster","description":"Despu\u00e9s de dos meses de desarrollo, Linus Torvalds ha presentado el lanzamiento del n\u00facleo Linux 6.9.","canonical_url":"https:\/\/prohoster.info\/es\/blog\/news\/reliz-yadra-linux-6-9","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"es_ES","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9 | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0434\u0432\u0443\u0445 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u041b\u0438\u043d\u0443\u0441 \u0422\u043e\u0440\u0432\u0430\u043b\u044c\u0434\u0441 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u0440\u0435\u043b\u0438\u0437 \u044f\u0434\u0440\u0430 Linux 6.9.","og:url":"https:\/\/prohoster.info\/es\/blog\/news\/reliz-yadra-linux-6-9","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-05-13T11:52:06+00:00","article:modified_time":"2024-05-13T11:52:06+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"115726","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 00:14:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 00:14:20","updated":"2026-01-23 00:14:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/115726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/comments?post=115726"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/115726\/revisions"}],"predecessor-version":[{"id":164261,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/posts\/115726\/revisions\/164261"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/media?parent=115726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/categories?post=115726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/es\/wp-json\/wp\/v2\/tags?post=115726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}