{"id":102190,"date":"2021-11-02T21:36:39","date_gmt":"2021-11-02T19:36:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/reliz-yadra-linux-5-15"},"modified":"2021-11-02T21:36:39","modified_gmt":"2021-11-02T19:36:39","slug":"reliz-yadra-linux-5-15","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-15","title":{"rendered":"Lan\u00e7amento do kernel Linux 5.15","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ap\u00f3s dois meses de desenvolvimento, Linus Torvalds apresentou o lan\u00e7amento do kernel Linux 5.15. Entre as mudan\u00e7as mais not\u00e1veis est\u00e3o: um novo driver NTFS com suporte para grava\u00e7\u00e3o, o m\u00f3dulo ksmbd implementando um servidor SMB, o subsistema DAMON para monitoramento de acesso \u00e0 mem\u00f3ria, primitivas de bloqueio para modo de tempo real, suporte a fs-verity no Btrfs, a chamada de sistema process_mrelease para sistemas de resposta \u00e0 falta de mem\u00f3ria, e o m\u00f3dulo de atesta\u00e7\u00e3o remota dm-ima.        <\/p>\n<p>Na nova vers\u00e3o, foram aplicadas 13499 corre\u00e7\u00f5es de 1888 desenvolvedores, o tamanho do patch \u00e9 de 42 MB (as mudan\u00e7as afetaram 10895 arquivos,  adicionadas 632522 linhas de c\u00f3digo e removidas 299966 linhas). Cerca de 45% de todas as altera\u00e7\u00f5es apresentadas na vers\u00e3o 5.15 est\u00e3o relacionadas a drivers de dispositivos, aproximadamente 14% das mudan\u00e7as dizem respeito \u00e0 atualiza\u00e7\u00e3o do c\u00f3digo espec\u00edfico para arquiteturas de hardware, 14% est\u00e3o relacionados \u00e0 pilha de rede, 6% \u00e0 sistemas de arquivos e 3% a subsistemas internos do kernel.      <\/p>\n<p>Principais novidades:  <\/p>\n<ul>\n<li class=\"l\"> <b>Subsistema de disco, entrada\/sa\u00edda e sistemas de arquivos<\/b>\n<ul>\n<li class=\"l\"> Um novo driver do sistema de arquivos NTFS, desenvolvido pela Paragon Software, foi aceito no kernel. O novo driver pode operar em modo de grava\u00e7\u00e3o e suporta todas as funcionalidades da vers\u00e3o atual do NTFS 3.1, incluindo atributos de arquivo estendidos, listas de controle de acesso (ACL), modo de compress\u00e3o de dados, manipula\u00e7\u00e3o eficiente de vazios em arquivos (sparse) e reprodu\u00e7\u00e3o de altera\u00e7\u00f5es do log para restaurar a integridade ap\u00f3s falhas.\n<li class=\"l\"> O sistema de arquivos Btrfs implementou suporte ao mecanismo fs-verity, utilizado para controle transparente de integridade e autenticidade de arquivos individuais com base em hashes ou chaves criptogr\u00e1ficas associadas armazenadas na \u00e1rea de metadados. Anteriormente, o fs-verity estava dispon\u00edvel apenas para os sistemas de arquivos Ext4 e F2fs.\n<p>O Btrfs tamb\u00e9m introduziu suporte para o mapeamento de identificadores de usu\u00e1rios em sistemas de arquivos montados (anteriormente suportado apenas para sistemas de arquivos FAT, ext4 e XFS). Essa funcionalidade permite associar arquivos de um determinado usu\u00e1rio em uma parti\u00e7\u00e3o montada de forma estranha a outro usu\u00e1rio no sistema atual.   <\/p>\n<p>Entre outras mudan\u00e7as no Btrfs: acelera\u00e7\u00e3o da adi\u00e7\u00e3o de chaves no \u00edndice de diret\u00f3rio para melhorar o desempenho na cria\u00e7\u00e3o de arquivos; possibilidade de opera\u00e7\u00e3o raid0 com um \u00fanico dispositivo e raid10 com dois (por exemplo, durante o processo de reconfigura\u00e7\u00e3o do array); op\u00e7\u00e3o 'rescue=ibadroots' para ignorar \u00e1rvores de extent inv\u00e1lidas; acelera\u00e7\u00e3o da opera\u00e7\u00e3o 'send'; redu\u00e7\u00e3o de conflitos de bloqueio durante opera\u00e7\u00f5es de renomea\u00e7\u00e3o; possibilidade de uso de setores 4K em sistemas com tamanho de p\u00e1gina de mem\u00f3ria de 64K.        <\/p>\n<li class=\"l\"> No XFS, foi estabilizada a possibilidade de uso de FS para datas ap\u00f3s 2038. Implementado um mecanismo de desativa\u00e7\u00e3o tardia de inode e suporte para defini\u00e7\u00e3o e remo\u00e7\u00e3o tardia de atributos de arquivos. Para evitar problemas, a possibilidade de desativar cotas de disco para parti\u00e7\u00f5es j\u00e1 montadas foi removida (as cotas podem ser desativadas for\u00e7osamente, mas o c\u00e1lculo associado continuar\u00e1, portanto, para uma desativa\u00e7\u00e3o completa, o remonte \u00e9 necess\u00e1rio).\n<li class=\"l\"> No EXT4, foram realizados trabalhos para aumentar o desempenho da grava\u00e7\u00e3o de buffers delalloc e do processamento de arquivos \u00f3rfaros (orphan) que continuam a existir porque est\u00e3o abertos, mas n\u00e3o est\u00e3o vinculados a um diret\u00f3rio. O processamento de opera\u00e7\u00f5es de descarte foi movido do fluxo jbd2 kthread para evitar bloqueios nas opera\u00e7\u00f5es com metadados.\n<li class=\"l\"> No F2FS, foi adicionada a op\u00e7\u00e3o 'discard_unit=block|segment|section' para vincular opera\u00e7\u00f5es de descarte (marcar blocos liberados que j\u00e1 podem n\u00e3o ser armazenados fisicamente) ao alinhamento em rela\u00e7\u00e3o ao bloco, setor, segmento ou se\u00e7\u00e3o. Suporte adicionado para rastrear mudan\u00e7as nas lat\u00eancias de entrada\/sa\u00edda.\n<li class=\"l\"> No sistema de arquivos EROFS (Extendable Read-Only File System), foi adicionado suporte para entrada\/sa\u00edda direta para arquivos salvos sem compress\u00e3o, bem como suporte para fiemap.\n<li class=\"l\"> No OverlayFS, foi implementado o tratamento correto das flags de montagem 'immutable', 'append-only', 'sync' e 'noatime'.\n<li class=\"l\"> No NFS, foi melhorado o tratamento de situa\u00e7\u00f5es em que o servidor NFS parou de responder a solicita\u00e7\u00f5es. Adicionada a possibilidade de montagem a partir de um endere\u00e7o de rede j\u00e1 em uso, mas acess\u00edvel por outro. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/server\/dts-los-angeles\/\"   title=\"servidor\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3763\">servidor<\/a>, mas acess\u00edvel atrav\u00e9s de outro endere\u00e7o de rede.\n<li class=\"l\"> Come\u00e7ou a prepara\u00e7\u00e3o para reescrever a subsistema FSCACHE.\n<li class=\"l\"> Adicionado suporte para parti\u00e7\u00f5es EFI com disposi\u00e7\u00e3o n\u00e3o padr\u00e3o das tabelas GPT.\n<li class=\"l\"> No mecanismo fanotify, foi implementada uma nova flag FAN_REPORT_PIDFD, que leva \u00e0 indica\u00e7\u00e3o de pidfd entre os metadados retornados. O pidfd ajuda a lidar com situa\u00e7\u00f5es de reutiliza\u00e7\u00e3o de PID para uma identifica\u00e7\u00e3o mais precisa dos processos que acessam arquivos monitorados (o pidfd est\u00e1 vinculado a um processo espec\u00edfico e n\u00e3o muda, enquanto o PID pode ser atribu\u00eddo a outro processo ap\u00f3s a conclus\u00e3o do processo atual associado a esse PID).\n<li class=\"l\"> A chamada do sistema move_mount() agora permite adicionar pontos de montagem a grupos compartilhados existentes, resolvendo problemas com a preserva\u00e7\u00e3o e recupera\u00e7\u00e3o do estado dos processos na ferramenta CRIU quando existem m\u00faltiplos espa\u00e7os de montagem compartilhados em cont\u00eaineres isolados.\n<li class=\"l\"> Foi adicionada prote\u00e7\u00e3o contra estados de corrida ocultos que poderiam potencialmente levar \u00e0 corrup\u00e7\u00e3o de arquivos ao realizar leituras do cache durante o processamento de lacunas no arquivo.\n<li class=\"l\"> O suporte a bloqueios obrigat\u00f3rios (mandatory) de arquivos, realizados atrav\u00e9s de chamadas de sistema que alteram arquivos, foi encerrado. Devido a poss\u00edveis estados de corrida, esses bloqueios eram considerados n\u00e3o confi\u00e1veis e foram classificados como obsoletos h\u00e1 anos.\n<li class=\"l\"> O subsistema LightNVM, que permitia acesso direto ao SSD, contornando a camada de emula\u00e7\u00e3o, foi removido. O LightNVM perdeu seu significado ap\u00f3s o surgimento dos padr\u00f5es NVMe, que preveem a possibilidade de zonifica\u00e7\u00e3o (ZNS, Zoned Namespace).                      <\/ul>\n<li class=\"l\"> <b>Mem\u00f3ria e servi\u00e7os do sistema<\/b>\n<ul>\n<li class=\"l\"> Foi implementado o subsistema DAMON (Data Access MONitor), que permite monitorar a atividade relacionada ao acesso a dados na mem\u00f3ria RAM, em rela\u00e7\u00e3o a um processo selecionado em execu\u00e7\u00e3o no espa\u00e7o do usu\u00e1rio. O subsistema permite analisar a quais \u00e1reas de mem\u00f3ria o processo acessou durante seu tempo de execu\u00e7\u00e3o e quais \u00e1reas permaneceram n\u00e3o utilizadas. Entre as caracter\u00edsticas do DAMON, destaca-se a baixa carga no CPU, baixo consumo de mem\u00f3ria, alta precis\u00e3o e sobrecargas constantes previs\u00edveis, independentes do tamanho. O subsistema pode ser utilizado pelo kernel para otimizar a gest\u00e3o de mem\u00f3ria, bem como por utilit\u00e1rios no espa\u00e7o do usu\u00e1rio para entender o que o processo est\u00e1 fazendo e otimizar o uso da mem\u00f3ria, por exemplo, liberando mem\u00f3ria excessiva para o sistema.\n<li class=\"l\"> Foi implementada a chamada de sistema process_mrelease, que permite acelerar o processo de libera\u00e7\u00e3o de mem\u00f3ria de um processo que est\u00e1 sendo finalizado. Em condi\u00e7\u00f5es normais, a libera\u00e7\u00e3o de recursos e a finaliza\u00e7\u00e3o de um processo n\u00e3o ocorrem instantaneamente e podem ser adiadas por v\u00e1rios motivos, o que prejudica o funcionamento de sistemas de resposta r\u00e1pida \u00e0 falta de mem\u00f3ria, como o oomd (fornecido pelo systemd) e o lmkd (utilizado no Android). Com a chamada process_mrelease, esses sistemas podem iniciar de forma mais previs\u00edvel o retorno de mem\u00f3ria de processos finalizados for\u00e7osamente.\n<li class=\"l\"> Da ramifica\u00e7\u00e3o do n\u00facleo PREEMPT_RT, onde \u00e9 desenvolvida a suporta\u00e7\u00e3o para opera\u00e7\u00e3o em tempo real, foram transferidas as variantes de primitivos para organiza\u00e7\u00e3o de bloqueios mutex, ww_mutex, rw_semaphore, spinlock e rwlock, baseados no subsistema RT-Mutex. Na alocadora SLUB slab, foram adicionadas altera\u00e7\u00f5es que melhoram a opera\u00e7\u00e3o no modo PREEMPT_RT e reduzem o impacto nas interrup\u00e7\u00f5es.\n<li class=\"l\"> No cgroup, foi adicionada a suporta\u00e7\u00e3o para o atributo do planejador de tarefas SCHED_IDLE, permitindo atribuir essa caracter\u00edstica a todos os processos do grupo que pertencem a um determinado cgroup. Ou seja, esses processos ser\u00e3o executados apenas quando n\u00e3o houver outras tarefas no sistema aguardando execu\u00e7\u00e3o. Ao contr\u00e1rio da configura\u00e7\u00e3o do atributo SCHED_IDLE para cada processo individualmente, ao vincular SCHED_IDLE a um cgroup, o peso relativo das tarefas dentro do grupo \u00e9 considerado ao escolher uma tarefa para execu\u00e7\u00e3o.\n<li class=\"l\"> O mecanismo de contabiliza\u00e7\u00e3o do consumo de mem\u00f3ria no cgroup foi ampliado para permitir o rastreamento de estruturas de dados adicionais do n\u00facleo, incluindo aquelas criadas para polling, processamento de sinais e espa\u00e7os de nomes.\n<li class=\"l\"> Foi adicionada a suporta\u00e7\u00e3o para programa\u00e7\u00e3o assim\u00e9trica de vincula\u00e7\u00e3o de tarefas aos n\u00facleos de processadores em arquiteturas nas quais alguns CPUs permitem a execu\u00e7\u00e3o de tarefas de 32 bits, enquanto outros funcionam apenas em modo de 64 bits (por exemplo, ARM). O novo modo permite que na programa\u00e7\u00e3o da execu\u00e7\u00e3o de tarefas de 32 bits, apenas CPUs que suportam tarefas de 32 bits sejam consideradas.\n<li class=\"l\"> Na interface de entrada\/sa\u00edda ass\u00edncrona io_uring, foi adicionado suporte para abrir arquivos diretamente na tabela de \u00edndice fixed-file, sem utilizar um descritor de arquivo, o que possibilita acelerar consideravelmente alguns tipos de opera\u00e7\u00f5es, mas contraria o processo tradicional do Unix de usar descritores de arquivo para abrir arquivos.\n<p>No io_uring para subsistema BIO (Block I\/O Layer), foi implementado um novo mecanismo de reciclagem ('BIO recycling'), que permite reduzir a sobrecarga no processo de gerenciamento da mem\u00f3ria interna e aumentar em cerca de 10% o n\u00famero de opera\u00e7\u00f5es de entrada\/sa\u00edda processadas por segundo. O io_uring tamb\u00e9m adicionou suporte para chamadas de sistema mkdirat(), symlinkat() e linkat().    <\/p>\n<li class=\"l\"> Para programas BPF, foi implementada a capacidade de solicitar e processar eventos de temporizador. Um iterador para sockets UNIX foi adicionado, bem como a possibilidade de obter e definir op\u00e7\u00f5es de sockets para setsockopt. O BTF dumper agora possui suporte para tipos de dados tipados.\n<li class=\"l\"> Em sistemas NUMA com diferentes tipos de mem\u00f3ria, variando em desempenho, em situa\u00e7\u00f5es de esgotamento de espa\u00e7o livre, foi implementada a transfer\u00eancia de p\u00e1ginas de mem\u00f3ria expelidas da mem\u00f3ria din\u00e2mica (DRAM) para a mem\u00f3ria persistente (Persistent Memory) ao inv\u00e9s de deletar essas p\u00e1ginas. Testes mostraram que essa t\u00e1tica geralmente melhora o desempenho em tais sistemas. Para NUMA, tamb\u00e9m foi implementada a capacidade de alocar p\u00e1ginas de mem\u00f3ria para um processo de um conjunto selecionado de n\u00f3s NUMA.\n<li class=\"l\"> Para a arquitetura ARC, foi implementado suporte a tabelas de p\u00e1ginas de tr\u00eas e quatro n\u00edveis, o que permitir\u00e1 posteriormente apoiar processadores ARC de 64 bits.\n<li class=\"l\"> Para a arquitetura s390, foi adicionada a possibilidade de aplicar o mecanismo KFENCE para detectar erros no gerenciamento de mem\u00f3ria, al\u00e9m de ter sido adicionado suporte para o detector de condi\u00e7\u00f5es de corrida KCSAN.\n<li class=\"l\"> Foi adicionada a capacidade de indexar a lista de mensagens exibidas atrav\u00e9s do printk(), permitindo extrair todas essas mensagens de uma vez e monitorar altera\u00e7\u00f5es no espa\u00e7o do usu\u00e1rio.\n<li class=\"l\"> No mmap(), o suporte \u00e0 op\u00e7\u00e3o VM_DENYWRITE foi encerrado, e o c\u00f3digo do n\u00facleo foi removido do uso do modo MAP_DENYWRITE, o que reduziu o n\u00famero de situa\u00e7\u00f5es que levam ao bloqueio da grava\u00e7\u00e3o em arquivo com o erro ETXTBSY.\n<li class=\"l\"> No subsistema de rastreamento, foi adicionado um novo tipo de verifica\u00e7\u00e3o 'Event probes', que podem ser anexadas a eventos de rastreamento existentes, definindo seu pr\u00f3prio formato de sa\u00edda.\n<li class=\"l\"> Ao compilar o n\u00facleo utilizando o compilador Clang, agora o assembler embutido do projeto LLVM \u00e9 utilizado por padr\u00e3o.\n<li class=\"l\"> No projeto para remover o c\u00f3digo do n\u00facleo que resulta em avisos do compilador, foi realizado um experimento com a ativa\u00e7\u00e3o padr\u00e3o do modo \u00ab-Werror\u00bb, onde os avisos do compilador s\u00e3o tratados como erros. No processo de prepara\u00e7\u00e3o para o lan\u00e7amento da vers\u00e3o 5.15, Linus come\u00e7ou a aceitar apenas altera\u00e7\u00f5es que n\u00e3o gerassem avisos durante a compila\u00e7\u00e3o do n\u00facleo e ativou a compila\u00e7\u00e3o com \u00ab-Werror\u00bb, mas depois concordou que era prematuro tomar essa decis\u00e3o e adiou a ativa\u00e7\u00e3o padr\u00e3o do \u00ab-Werror\u00bb. O controle da ativa\u00e7\u00e3o da flag \u00ab-Werror\u00bb durante a compila\u00e7\u00e3o \u00e9 realizado por meio do par\u00e2metro WERROR, que por padr\u00e3o \u00e9 definido como COMPILE_TEST, ou seja, \u00e9 ativado apenas em compila\u00e7\u00f5es de teste.                    <\/ul>\n<li class=\"l\"> <b>Virtualiza\u00e7\u00e3o e seguran\u00e7a<\/b>\n<ul>\n<li class=\"l\"> Foi adicionado um novo manipulador dm-ima ao Device Mapper (DM) com a implementa\u00e7\u00e3o do mecanismo de atestado remoto baseado no subsistema IMA (Integrity Measurement Architecture), permitindo que um servi\u00e7o externo verifique o estado dos subsistemas do n\u00facleo para garantir sua autenticidade. Na pr\u00e1tica, o dm-ima permite criar, atrav\u00e9s do Device Mapper, armazenamentos vinculados a sistemas de nuvem externos, onde \u00e9 verificada a autenticidade da configura\u00e7\u00e3o de execu\u00e7\u00e3o do DM target com o uso do IMA.\n<li class=\"l\"> Uma nova op\u00e7\u00e3o PR_SPEC_L1D_FLUSH foi implementada no prctl(), que, quando ativada, faz com que o n\u00facleo comece a apagar o conte\u00fado do cache de n\u00edvel 1 (L1D) toda vez que h\u00e1 uma troca de contexto. Esse modo permite implementar prote\u00e7\u00e3o adicional, de forma seletiva, para os processos mais importantes contra ataques de canais laterais, que visam descobrir dados armazenados no cache devido a vulnerabilidades ocasionadas pela execu\u00e7\u00e3o especulativa de instru\u00e7\u00f5es na CPU. O custo de ativar o PR_SPEC_L1D_FLUSH (que por padr\u00e3o n\u00e3o est\u00e1 ativado) \u00e9 uma queda significativa na performance.\n<li class=\"l\"> Foi implementada a op\u00e7\u00e3o de compilar o n\u00facleo adicionando ao GCC a flag \u00ab-fzero-call-used-regs=used-gpr\u00bb, que garante a zeragem de todos os registradores antes de retornar o controle de uma fun\u00e7\u00e3o. Essa op\u00e7\u00e3o permite proteger-se contra vazamentos de informa\u00e7\u00e3o de fun\u00e7\u00f5es e reduzir em 20% o n\u00famero de blocos adequados para a constru\u00e7\u00e3o de gadgets ROP (Return-Oriented Programming) em exploits.\n<li class=\"l\"> Implementada a capacidade de compilar n\u00facleos para a arquitetura ARM64 na forma de clientes para o hipervisor Hyper-V.\n<li class=\"l\"> Foi proposto um novo framework para desenvolvimento de drivers \u00abVDUSE\u00bb, que permite a implementa\u00e7\u00e3o de dispositivos de bloco virtuais no espa\u00e7o do usu\u00e1rio e utiliza Virtio como transporte para o acesso a partir de sistemas convidados.\n<li class=\"l\"> Adicionado o driver Virtio para o barramento I2C, que possibilita emular controladores I2C em modo de paravirtualiza\u00e7\u00e3o utilizando backends distintos.\n<li class=\"l\"> Adicionado o driver gpio-virtio, permitindo que sistemas convidados acessem as linhas GPIO fornecidas pelo sistema host.\n<li class=\"l\"> Adicionada a possibilidade de restringir o acesso \u00e0s p\u00e1ginas de mem\u00f3ria para drivers de dispositivos com suporte a DMA em sistemas sem I\/O MMU (unidade de gerenciamento de mem\u00f3ria).\n<li class=\"l\"> No hipervisor KVM, implementada a capacidade de gerar estat\u00edsticas na forma de histogramas lineares e logar\u00edtmicos.          <\/ul>\n<li class=\"l\"> <b>Subsistema de Rede<\/b>\n<ul>\n<li class=\"l\"> O n\u00facleo foi adicionado ao m\u00f3dulo ksmbd, que implementa um servidor de arquivos usando o protocolo SMB3. O m\u00f3dulo complementa a implementa\u00e7\u00e3o do cliente SMB j\u00e1 dispon\u00edvel no n\u00facleo e, ao contr\u00e1rio do servidor SMB que opera no espa\u00e7o do usu\u00e1rio, \u00e9 mais eficiente em termos de desempenho, consumo de mem\u00f3ria e integra\u00e7\u00e3o com as funcionalidades avan\u00e7adas do n\u00facleo. O ksmbd \u00e9 apresentado como uma extens\u00e3o de alto desempenho e pronta para uso em dispositivos embarcados, podendo ser integrada, se necess\u00e1rio, com ferramentas e bibliotecas do Samba. Entre as funcionalidades do ksmbd, destaca-se o suporte aprimorado \u00e0 tecnologia de cache distribu\u00eddo de arquivos (SMB leases) em sistemas locais, que permite uma redu\u00e7\u00e3o significativa do tr\u00e1fego. Futuramente, planejam adicionar suporte ao RDMA (\u00absmbdirect\u00bb) e extens\u00f5es do protocolo relacionadas ao fortalecimento da confiabilidade da criptografia e verifica\u00e7\u00e3o por assinaturas digitais.\n<li class=\"l\"> No cliente CIFS, o suporte ao NTLM e a algoritmos de autentica\u00e7\u00e3o menos confi\u00e1veis, baseados no algoritmo DES e utilizados no protocolo SMB1, foi descontinuado.\n<li class=\"l\"> Na implementa\u00e7\u00e3o de pontes de rede para VLAN, o suporte a multicast foi adicionado.\n<li class=\"l\"> No driver bonding, utilizado para agregar interfaces de rede, foi adicionado suporte ao subsistema XDP (eXpress Data Path), permitindo manipular pacotes de rede antes de seu processamento pela pilha de rede do n\u00facleo Linux.\n<li class=\"l\"> No stack wireless mac80211, foi adicionado suporte a 6GHZ STA (Autoriza\u00e7\u00e3o Tempor\u00e1ria Especial) nos modos LPI, SP e VLP, bem como a possibilidade de definir TWT (Target Wake Time) separados no modo ponto de acesso.\n<li class=\"l\"> Foi adicionado suporte ao protocolo MCTP (Management Component Transport Protocol), utilizado para a intera\u00e7\u00e3o entre controladores de gest\u00e3o e dispositivos associados (processadores host, dispositivos perif\u00e9ricos, etc.).\n<li class=\"l\"> A integra\u00e7\u00e3o do MPTCP (MultiPath TCP) no n\u00facleo foi continuada, um protocolo TCP expandido para organizar a opera\u00e7\u00e3o de conex\u00f5es TCP com entrega de pacotes simultaneamente por v\u00e1rios caminhos atrav\u00e9s de diferentes interfaces de rede, vinculadas a diferentes endere\u00e7os IP. Na nova vers\u00e3o, foi adicionado suporte a endere\u00e7os em modo fullmesh.\n<li class=\"l\"> No netfilter foram adicionados manipuladores de fluxos de rede encapsulados no protocolo SRv6 (Segment Routing IPv6).\n<li class=\"l\"> Foi adicionado suporte a sockmap para sockets Unix stream.              <\/ul>\n<li class=\"l\"> <b>Hardware<\/b>\n<ul>\n<li class=\"l\"> O driver amdgpu implementa suporte para o APU Cyan Skillfish (equipado com GPU Navi 1x). Para o APU Yellow Carp, foi implementado suporte a codecs de v\u00eddeo. O suporte para a GPU Aldebaran foi aprimorado. Novos identificadores de placas baseadas na GPU Navi 24 \"Beige Goby\" e RDNA2 foram adicionados. Uma implementa\u00e7\u00e3o aprimorada de telas virtuais (VKMS) foi proposta. O suporte para monitoramento da temperatura dos chips AMD Zen 3 foi implementado.\n<li class=\"l\"> No driver amdkfd (para GPUs discretas, como Polaris), foi implementado um gerenciador de mem\u00f3ria virtual compartilhada (SVM, shared virtual memory) com base na subsistema HMM (Heterogeneous memory management), permitindo usar dispositivos com suas pr\u00f3prias unidades de gerenciamento de mem\u00f3ria (MMU, memory management unit), que podem acessar a mem\u00f3ria principal. Com o HMM, \u00e9 poss\u00edvel organizar um espa\u00e7o de endere\u00e7o conjunto entre GPU e CPU, no qual a GPU pode acessar a mem\u00f3ria principal do processo.\n<li class=\"l\"> No driver i915 para placas gr\u00e1ficas Intel, foi ampliado o uso do gerenciador de v\u00eddeo TTM e inclu\u00edda a capacidade de gerenciamento de energia com base no GuC (Graphics micro Controller). A prepara\u00e7\u00e3o para implementar suporte \u00e0 placa gr\u00e1fica Intel ARC Alchemist e GPU Intel Xe-HP come\u00e7ou.\n<li class=\"l\"> O driver nouveau implementa o controle da retroilumina\u00e7\u00e3o de pain\u00e9is eDP atrav\u00e9s do DPCD (Dados de Configura\u00e7\u00e3o DisplayPort).\n<li class=\"l\"> O driver msm adicionou suporte para GPU Adreno 7c Gen 3 e Adreno 680.\n<li class=\"l\"> Implementado o driver IOMMU para o chip Apple M1.\n<li class=\"l\"> Adicionado o driver de \u00e1udio para sistemas baseados em APU AMD Van Gogh.\n<li class=\"l\"> Na branch staging, foi adicionado o driver Realtek R8188EU, que substituiu a vers\u00e3o antiga do driver (rtl8188eu) para chips sem fio Realtek RTL8188EU 802.11 b\/g\/n.\n<li class=\"l\"> Foi aceito o driver ocp_pt para a placa PCIe em desenvolvimento pela Meta (Facebook), com implementa\u00e7\u00e3o de rel\u00f3gios at\u00f4micos miniaturizados e receptor GNSS, que podem ser usados para organizar opera\u00e7\u00f5es de <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/server\/\"   title=\"servidores\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1616\">servidores<\/a> sincroniza\u00e7\u00e3o de tempo preciso.\n<li class=\"l\"> Adicionado suporte para smartphones Sony Xperia 10II (Snapdragon 665), Xiaomi Redmi 2 (Snapdragon MSM8916), Samsung Galaxy S3 (Snapdragon MSM8226), Samsung Gavini\/Codina\/Kyle.\n<li class=\"l\"> Adicionado suporte para SoCs ARM e placas NVIDIA Jetson TX2 NX Developer Kit, Sancloud BBE Lite, PicoITX, DRC02, SolidRun SolidSense, SKOV i.MX6, Nitrogen8, Traverse Ten64, GW7902, Microchip SAMA7, Qualcomm Snapdragon SDM636\/SM8150, Renesas R-Car H3e-2G\/M3e-2G, Marvell CN913x, ASpeed AST2600 (placas de servidor Facebook Cloudripper, Elbert e Fuji), 4KOpen STiH418-b2264.\n<li class=\"l\"> Adicionado suporte para pain\u00e9is LCD Gopher 2b, EDT ETM0350G0DH6\/ETMV570G2DHU, LOGIC Technologies LTTD800480070-L6WH-RT, Multi-Innotechnology MI1010AIT-1CP1, Innolux EJ030NA 3.0, ilitek ili9341, E Ink VB3300-KCA, Samsung ATNA33XC20, Samsung DB7430, WideChips WS2401.\n<li class=\"l\"> Adicionado o driver LiteETH com suporte para controladores Ethernet usados em SoCs program\u00e1veis LiteX (para FPGA).\n<li class=\"l\"> No driver usb-audio, foi adicionada a op\u00e7\u00e3o lowlatency para gerenciar a ativa\u00e7\u00e3o em modo de atrasos m\u00ednimos. Tamb\u00e9m foi adicionada a op\u00e7\u00e3o quirk_flags para transmitir configura\u00e7\u00f5es espec\u00edficas do dispositivo.      <\/ul>\n<\/ul>\n<p>Ao mesmo tempo, a Funda\u00e7\u00e3o de Software Livre da Am\u00e9rica Latina formou uma vers\u00e3o totalmente livre do n\u00facleo 5.15 \u2014 Linux-libre 5.15-gnu, limpa de elementos de firmwares e drivers que cont\u00eam componentes ou trechos de c\u00f3digo n\u00e3o livres, cuja \u00e1rea de aplica\u00e7\u00e3o \u00e9 limitada pelo fabricante. Na nova vers\u00e3o, foi implementada a exibi\u00e7\u00e3o de uma mensagem no log sobre a conclus\u00e3o da limpeza. Problemas na forma\u00e7\u00e3o de pacotes usando mkspec foram corrigidos e a compatibilidade com pacotes snap foi aprimorada. Alguns avisos que eram exibidos durante o processamento do arquivo de cabe\u00e7alho firmware.h foram removidos. A exibi\u00e7\u00e3o de certos tipos de avisos (\"format-extra-args\", coment\u00e1rios, fun\u00e7\u00f5es e vari\u00e1veis n\u00e3o utilizadas) durante a compila\u00e7\u00e3o no modo \"-Werror\" foi permitida. A limpeza do driver gehc-achc foi adicionada. O c\u00f3digo de limpeza de blobs em drivers e subsistemas adreno, btusb, btintel, brcmfmac, aarch64 qcom foi atualizado. A limpeza dos drivers prism54 (removido) e rtl8188eu (substitu\u00eddo por r8188eu) foi encerrada.<br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56079\">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 5.15. \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: \u043d\u043e\u0432\u044b\u0439 \u0434\u0440\u0430\u0439\u0432\u0435\u0440 NTFS \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438, \u043c\u043e\u0434\u0443\u043b\u044c ksmbd \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 SMB-\u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043f\u043e\u0434\u0441\u0438\u0441\u0442\u0435\u043c\u0430 DAMON \u0434\u043b\u044f \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u043f\u0430\u043c\u044f\u0442\u0438, \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u044b \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043e\u043a \u0434\u043b\u044f \u0440\u0435\u0436\u0438\u043c\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 fs-verity \u0432 Btrfs, \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 process_mrelease \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043d\u0435\u0445\u0432\u0430\u0442\u043a\u0443 \u043f\u0430\u043c\u044f\u0442\u0438, \u043c\u043e\u0434\u0443\u043b\u044c \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0439 \u0430\u0442\u0442\u0435\u0441\u0442\u0430\u0446\u0438\u0438 [&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-102190","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - 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 5.15.\" \/>\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\/pt\/blog\/news\/reliz-yadra-linux-5-15\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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 5.15 | 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 5.15.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-15\" \/>\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=\"2021-11-02T19:36:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-11-02T19:36:39+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\udd47Lan\u00e7amento do n\u00facleo Linux 5.15 | ProHoster","description":"Ap\u00f3s dois meses de desenvolvimento, Linus Torvalds apresentou o lan\u00e7amento do n\u00facleo Linux 5.15.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-15","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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 5.15 | 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 5.15.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-15","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":"2021-11-02T19:36:39+00:00","article:modified_time":"2021-11-02T19:36:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102190","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":null,"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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-11-02 19:38:03","updated":"2026-02-22 15:30:33","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/102190","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=102190"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/102190\/revisions"}],"predecessor-version":[{"id":162291,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/102190\/revisions\/162291"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=102190"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=102190"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=102190"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}