{"id":102933,"date":"2022-01-10T15:36:38","date_gmt":"2022-01-10T13:36:38","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/%d1%80%d0%b5%d0%bb%d0%b8%d0%b7-%d1%8f%d0%b4%d1%80%d0%b0-linux-5-16"},"modified":"2022-01-10T15:36:38","modified_gmt":"2022-01-10T13:36:38","slug":"reliz-yadra-linux-5-16","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-16","title":{"rendered":"Lan\u00e7amento do n\u00facleo Linux 5.16","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ap\u00f3s dois meses de desenvolvimento, Linus Torvalds apresentou o lan\u00e7amento do n\u00facleo Linux 5.16. Entre as mudan\u00e7as mais not\u00e1veis est\u00e3o: a chamada de sistema futex_waitv para melhorar o desempenho de jogos do Windows no Wine, rastreamento de erros no sistema de arquivos atrav\u00e9s do fanotify, conceito de folhetos no sistema de gerenciamento de mem\u00f3ria, suporte para instru\u00e7\u00f5es de processador AMX, possibilidade de reserva de mem\u00f3ria para soquetes de rede, suporte no netfilter para classifica\u00e7\u00e3o de pacotes na fase de 'egress', utiliza\u00e7\u00e3o do subsistema DAMON para desalojamento preventivo de \u00e1reas de mem\u00f3ria n\u00e3o utilizadas, aprimoramento no tratamento de sobrecargas durante grandes opera\u00e7\u00f5es de grava\u00e7\u00e3o, e suporte para discos r\u00edgidos com m\u00faltiplas unidades.    <\/p>\n<p>A nova vers\u00e3o incorpora 15415 corre\u00e7\u00f5es de 2105 desenvolvedores, com um tamanho de patch de 45 MB (as mudan\u00e7as afetaram 12023 arquivos, adicionando 685198 linhas de c\u00f3digo e deletando 263867 linhas). Cerca de 44% de todas as mudan\u00e7as apresentadas no 5.16 est\u00e3o relacionadas a drivers de dispositivo, aproximadamente 16% t\u00eam a ver com a atualiza\u00e7\u00e3o do c\u00f3digo espec\u00edfico para arquiteturas de hardware, 16% est\u00e3o ligadas \u00e0 pilha de rede, 4% aos sistemas de arquivos, e 4% \u00e0s subsistemas internos do n\u00facleo.    <\/p>\n<p>  Principais inova\u00e7\u00f5es no n\u00facleo 5.16:  <\/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\"> O mecanismo fanotify ganhou ferramentas para monitorar o estado do sistema de arquivos e rastrear a ocorr\u00eancia de erros. As informa\u00e7\u00f5es sobre erros s\u00e3o transmitidas por meio de um novo tipo de evento \u2014 FAN_FS_ERROR, que pode ser interceptado em sistemas de monitoramento em espa\u00e7o de usu\u00e1rio para informar rapidamente o administrador ou iniciar processos de recupera\u00e7\u00e3o. Em caso de uma s\u00e9rie de erros em cascata, o fanotify garante a entrega da mensagem do primeiro erro junto com um contador geral de problemas, facilitando a an\u00e1lise posterior das causas da falha. O suporte ao rastreamento de erros est\u00e1 atualmente implementado apenas para o sistema de arquivos Ext4.\n<li class=\"l\"> Melhorou o gerenciamento de congestionamentos durante opera\u00e7\u00f5es de grava\u00e7\u00e3o (congestionamento de grava\u00e7\u00e3o), que ocorrem quando o volume de opera\u00e7\u00f5es de grava\u00e7\u00e3o excede a capacidade do dispositivo e o sistema precisa bloquear os pedidos do processo de grava\u00e7\u00e3o at\u00e9 que a execu\u00e7\u00e3o dos pedidos j\u00e1 enviados seja conclu\u00edda. Na nova vers\u00e3o, o mecanismo do kernel utilizado para obter informa\u00e7\u00f5es sobre o surgimento de congestionamentos e o bloqueio de tarefas foi completamente refeito, pois na implementa\u00e7\u00e3o anterior foram observados problemas na intera\u00e7\u00e3o entre o gerenciamento de congestionamento de grava\u00e7\u00e3o e a troca de p\u00e1ginas de mem\u00f3ria para o espa\u00e7o de troca em situa\u00e7\u00f5es de falta de mem\u00f3ria no sistema.\n<li class=\"l\"> O Btrfs implementou suporte \u00e0 tecnologia de zonifica\u00e7\u00e3o de dispositivos (Zoned Namespace), utilizada em discos r\u00edgidos ou SSDs NVMe para a divis\u00e3o do espa\u00e7o de armazenamento em zonas, que consistem em grupos de blocos ou setores onde apenas a adi\u00e7\u00e3o sequencial de dados \u00e9 permitida, com a atualiza\u00e7\u00e3o de todo o grupo de blocos. Al\u00e9m disso, foram feitas pequenas otimiza\u00e7\u00f5es no registro de inodes, melhorando a capacidade de processamento no teste dbench em 3% e reduzindo a lat\u00eancia em 11%. O mecanismo de registro de diret\u00f3rios foi reformulado, reduzindo o n\u00famero de opera\u00e7\u00f5es de busca e bloqueios na \u00e1rvore para maior efici\u00eancia. A inser\u00e7\u00e3o de elementos na estrutura btree foi acelerada em modo de lote (o tempo de inser\u00e7\u00e3o em massa de elementos foi reduzido em 4%, e a remo\u00e7\u00e3o em 12%). Foi adicionando um suporte limitado para o uso de compress\u00e3o ao gravar p\u00e1ginas incompletas, bem como a possibilidade de desfragmenta\u00e7\u00e3o de subp\u00e1ginas. Prepara\u00e7\u00f5es foram feitas para incluir o suporte \u00e0 segunda vers\u00e3o do protocolo para o comando &#171;send&#187;.\n<li class=\"l\"> No sistema de arquivos XFS, houve uma redu\u00e7\u00e3o no consumo de mem\u00f3ria pela utiliza\u00e7\u00e3o de caches slab separados para elementos frequentemente utilizados e pela redu\u00e7\u00e3o de algumas estruturas de dados.\n<li class=\"l\"> No sistema de arquivos Ext4, foram registradas apenas corre\u00e7\u00f5es de bugs e um c\u00e1lculo mais preciso dos par\u00e2metros de inicializa\u00e7\u00e3o tardia da tabela de Inode.\n<li class=\"l\"> No n\u00edvel dos dispositivos de bloco, foram implementadas otimiza\u00e7\u00f5es que permitem aumentar significativamente a efici\u00eancia da vincula\u00e7\u00e3o de opera\u00e7\u00f5es aos n\u00facleos da CPU.\n<li class=\"l\"> Foi adicionado suporte inicial para discos r\u00edgidos com m\u00faltiplos atuadores independentes (multi-actuator), permitindo acesso simult\u00e2neo a v\u00e1rios setores em diferentes zonas do disco magn\u00e9tico.\n<li class=\"l\"> Foi adicionada uma nova comando ioctl CDROM_TIMED_MEDIA_CHANGE para determinar eventos de troca de m\u00eddia na unidade de discos \u00f3pticos.\n<li class=\"l\"> O sistema de arquivos EROFS (Enhanced Read-Only File System) agora suporta a opera\u00e7\u00e3o sobre v\u00e1rios dispositivos de armazenamento. Dispositivos diferentes podem ser espelhados em um \u00fanico espa\u00e7o de endere\u00e7o de blocos de 32 bits. Tamb\u00e9m foi adicionado suporte para compress\u00e3o usando o algoritmo LZMA.\n<li class=\"l\"> No sistema de arquivos F2FS, foram adicionadas op\u00e7\u00f5es de montagem para gerenciar a fragmenta\u00e7\u00e3o de arquivos ao armazen\u00e1-los (por exemplo, para depurar otimiza\u00e7\u00f5es para armazenamento fragmentado).\n<li class=\"l\"> No CEPH, opera\u00e7\u00f5es de cria\u00e7\u00e3o e exclus\u00e3o de diret\u00f3rios em modo ass\u00edncrono s\u00e3o ativadas por padr\u00e3o (para reverter ao comportamento anterior, deve-se usar a flag &#8216;-o wsync&#8217; ao montar). Foram adicionadas m\u00e9tricas para rastrear opera\u00e7\u00f5es de c\u00f3pia de objetos externos.\n<li class=\"l\"> No CIFS, foi adicionado o par\u00e2metro de montagem tcpnodelay, que ativa o modo tcp_sock_set_nodelay no socket da rede, desativando a espera pelo preenchimento da fila na pilha TCP. Suporte para links DFS (Distributed File System) aninhados foi adicionado durante o remonte.\n<li class=\"l\"> Suporte a termina\u00e7\u00e3o de solicita\u00e7\u00f5es para dispositivos de bloco em modo de lote foi adicionado. Os testes dessa altera\u00e7\u00e3o mostraram um aumento na intensidade de opera\u00e7\u00f5es de leitura aleat\u00f3ria de unidades Optane, de 6,1 a 6,6 milh\u00f5es de IOPS em um \u00fanico n\u00facleo de CPU.                            <\/ul>\n<li class=\"l\"> <b>Mem\u00f3ria e servi\u00e7os do sistema<\/b>\n<ul>\n<li class=\"l\"> Uma nova chamada de sistema futex_waitv foi adicionada, permitindo monitorar o estado de v\u00e1rios futexes com uma \u00fanica chamada de sistema. Essa funcionalidade \u00e9 semelhante ao recurso dispon\u00edvel no Windows chamado WaitForMultipleObjects, cuja emula\u00e7\u00e3o por meio do futex_waitv pode ser \u00fatil para melhorar o desempenho de jogos do Windows executados sob Wine ou Proton. Al\u00e9m disso, aguardar v\u00e1rios futexes simultaneamente pode ser aplicado para otimizar o desempenho de implementa\u00e7\u00f5es nativas de jogos para Linux.\n<li class=\"l\"> Foi implementada a conceito de folhetos de p\u00e1gina de mem\u00f3ria (page folios), cuja utiliza\u00e7\u00e3o em alguns subsistemas do n\u00facleo permitir\u00e1 acelerar a gest\u00e3o de mem\u00f3ria sob cargas t\u00edpicas. Atualmente, o subsistema principal de gest\u00e3o de mem\u00f3ria no n\u00facleo e a implementa\u00e7\u00e3o do cache de p\u00e1ginas j\u00e1 foram convertidos em folhetos, e no futuro est\u00e1 previsto a convers\u00e3o dos sistemas de arquivos. No futuro, tamb\u00e9m est\u00e1 planejada a adi\u00e7\u00e3o de suporte para folhetos de m\u00faltiplas p\u00e1ginas no n\u00facleo.\n<p> Os folhetos lembram p\u00e1ginas de mem\u00f3ria compostas (compound pages), mas se diferenciam por sua sem\u00e2ntica aprimorada e organiza\u00e7\u00e3o mais clara de funcionamento. Para a gest\u00e3o da mem\u00f3ria do sistema, a RAM dispon\u00edvel \u00e9 subdividida em p\u00e1ginas de mem\u00f3ria, cujo tamanho depende da arquitetura, mas em sistemas x86 \u00e9 medido em quilobytes (geralmente 4096 bytes). Os sistemas modernos s\u00e3o equipados com dezenas de gigabytes de RAM, o que complica a gest\u00e3o da mem\u00f3ria devido \u00e0 necessidade de processar um enorme n\u00famero de p\u00e1ginas de mem\u00f3ria. Para reduzir o n\u00famero de p\u00e1ginas, a conceito de p\u00e1ginas compostas foi implementado anteriormente no n\u00facleo, com estruturas que abrangem mais de uma p\u00e1gina de mem\u00f3ria f\u00edsica. No entanto, a API para manipula\u00e7\u00e3o dessas p\u00e1ginas compostas deixava a desejar e gerava custos adicionais.    <\/p>\n<li class=\"l\"> Foi adicionado ao escalonador de tarefas um manipulador que considera a clusteriza\u00e7\u00e3o do cache na CPU. Em alguns processadores, como o Kunpeng 920 (ARM) e o Intel Jacobsville (x86), um determinado n\u00famero de n\u00facleos da CPU, normalmente 4, pode combinar cache L3 ou L2. Considerar essas topologias pode aumentar significativamente a efici\u00eancia da distribui\u00e7\u00e3o de tarefas entre os n\u00facleos da CPU no escalonador de tarefas, j\u00e1 que mover tarefas dentro de um mesmo cluster de CPU permite aumentar a largura de banda de acesso \u00e0 mem\u00f3ria e reduzir a concorr\u00eancia no cache.\n<li class=\"l\"> Foi adicionado suporte para instru\u00e7\u00f5es AMX (Advanced Matrix Extensions), implementadas nos futuros processadores de servidor Intel Xeon Scalable, desenvolvidos sob o codinome Sapphire Rapids. O AMX oferece novos registradores configur\u00e1veis TMM &#171;TILE&#187; e instru\u00e7\u00f5es para manipula\u00e7\u00e3o de dados nesses registradores, como TMUL (Tile matrix MULtiply) para multiplica\u00e7\u00e3o de matrizes.\n<li class=\"l\"> Foram implementadas v\u00e1rias novas funcionalidades, baseadas no subsistema DAMON (Data Access MONitor) adicionado na edi\u00e7\u00e3o anterior, que permite monitorar o acesso a dados na mem\u00f3ria RAM, vinculado ao processo selecionado que est\u00e1 operando no espa\u00e7o do usu\u00e1rio. Por exemplo, o subsistema possibilita analisar quais \u00e1reas espec\u00edficas da mem\u00f3ria foram acessadas pelo processo ao longo de sua execu\u00e7\u00e3o, e quais \u00e1reas permaneceram n\u00e3o utilizadas.\n<ul>\n<li class=\"l\"> DAMON_RECLAIM para identificar e desalojar \u00e1reas de mem\u00f3ria que n\u00e3o foram acessadas. O mecanismo pode ser usado para a desaloca\u00e7\u00e3o proativa e suave de p\u00e1ginas de mem\u00f3ria quando se aproxima do esgotamento de mem\u00f3ria livre.\n<li class=\"l\"> DAMOS (Data Access Monitoring-based Operation Schemes) para aplicar opera\u00e7\u00f5es espec\u00edficas, como madvise(), que liberam mem\u00f3ria livre adicional, a \u00e1reas de mem\u00f3ria do processo para as quais se registra uma certa frequ\u00eancia de acesso. A configura\u00e7\u00e3o dos par\u00e2metros do DAMOS \u00e9 feita atrav\u00e9s do debugfs.\n<li class=\"l\"> Capacidade de monitoramento do espa\u00e7o de endere\u00e7amento f\u00edsico da mem\u00f3ria (anteriormente s\u00f3 era poss\u00edvel monitorar endere\u00e7os virtuais).  <\/ul>\n<li class=\"l\"> A implementa\u00e7\u00e3o do algoritmo de compress\u00e3o zstd foi atualizada para a vers\u00e3o 1.4.10, o que permitiu aumentar significativamente o desempenho de v\u00e1rios subsistemas do n\u00facleo que utilizam compress\u00e3o (por exemplo, a descompress\u00e3o da imagem do n\u00facleo foi acelerada em 35%, o desempenho de descompress\u00e3o de dados compactados em Btrfs e SquashFS melhorou em 15%, enquanto no ZRAM aumentou em 30%). Inicialmente, o n\u00facleo utilizava uma implementa\u00e7\u00e3o separada do zstd, baseada na vers\u00e3o 1.3.1, lan\u00e7ada h\u00e1 mais de tr\u00eas anos e que n\u00e3o inclu\u00eda muitas otimiza\u00e7\u00f5es importantes. Al\u00e9m da atualiza\u00e7\u00e3o para a vers\u00e3o mais recente, o patch adicionado tamb\u00e9m simplifica a sincroniza\u00e7\u00e3o com o branch upstream do zstd, permitindo gerar c\u00f3digo para inclus\u00e3o no n\u00facleo diretamente do reposit\u00f3rio principal do zstd. No futuro, o c\u00f3digo do zstd no n\u00facleo deve ser atualizado \u00e0 medida que novas vers\u00f5es da biblioteca zstd forem lan\u00e7adas.\n<li class=\"l\"> Foi feita uma grande atualiza\u00e7\u00e3o no subsistema eBPF. Agora \u00e9 poss\u00edvel chamar fun\u00e7\u00f5es de m\u00f3dulos do kernel a partir de programas BPF. Implementada a fun\u00e7\u00e3o bpf_trace_vprintk(), que ao contr\u00e1rio da bpf_trace_printk(), permite imprimir mais de tr\u00eas argumentos de uma s\u00f3 vez. Adicionada uma nova estrutura de armazenamento de dados (BPF map) chamada bloom filter, que possibilita utilizar esta estrutura de dados probabil\u00edstica para verificar a presen\u00e7a de um elemento em um conjunto. Inclu\u00eddo um novo atributo BTF_KIND_TAG, que pode ser usado em programas BPF para vincular tags a par\u00e2metros de fun\u00e7\u00f5es, facilitando a identifica\u00e7\u00e3o de erros em programas do usu\u00e1rio. Na libbpf, agora \u00e9 permitido criar se\u00e7\u00f5es personalizadas .rodata.* \/ .data.*, com suporte implementado para eventos de rastreamento uprobe e kprobe, e adicionado um API para copiar todos os tipos de BTF de um objeto para outro. O suporte ao AF_XDP foi separado da libbpf e movido para a biblioteca libxdp. Para a arquitetura MIPS, foi implementado um compilador JIT para a m\u00e1quina virtual BPF.\n<li class=\"l\"> Para a arquitetura ARM64, foi implementado suporte para as extens\u00f5es ARMv8.6 para o timer, incluindo funcionalidades que permitem a auto-sincroniza\u00e7\u00e3o da representa\u00e7\u00e3o dos registros do sistema sem usar as instru\u00e7\u00f5es ISB.\n<li class=\"l\"> Para a arquitetura PA-RISC, foi introduzido o mecanismo KFENCE para detectar erros ao trabalhar com mem\u00f3ria, al\u00e9m de suporte para o detector de condi\u00e7\u00f5es de corrida KCSAN.\n<li class=\"l\"> Agora \u00e9 poss\u00edvel configurar permiss\u00f5es de acesso ao tracefs em n\u00edvel de usu\u00e1rios e grupos individuais; por exemplo, \u00e9 poss\u00edvel permitir acesso \u00e0s ferramentas de rastreamento apenas para membros de um grupo espec\u00edfico.                        <\/ul>\n<li class=\"l\"> <b>Virtualiza\u00e7\u00e3o e seguran\u00e7a<\/b>\n<ul>\n<li class=\"l\"> Nos subsistemas io_uring e device-mapper, foi implementado suporte para a gera\u00e7\u00e3o de eventos de auditoria. No io_uring, agora \u00e9 poss\u00edvel gerenciar o acesso atrav\u00e9s de m\u00f3dulos LSM. Implementada a auditoria da chamada de sistema openat2().\n<li class=\"l\"> O c\u00f3digo do n\u00facleo foi totalmente livrado de express\u00f5es case cont\u00ednuas em switch (sem return ou break ap\u00f3s cada bloco case). Ao compilar o n\u00facleo, agora ser\u00e1 poss\u00edvel aplicar o modo \u00ab-Wimplicit-fallthrough\u00bb.\n<li class=\"l\"> Foram inclu\u00eddas altera\u00e7\u00f5es para restringir as verifica\u00e7\u00f5es de limites na execu\u00e7\u00e3o da fun\u00e7\u00e3o memcpy().\n<li class=\"l\"> Na interface de entrada\/sa\u00edda ass\u00edncrona io_uring, foi implementada a aplica\u00e7\u00e3o de pol\u00edticas de seguran\u00e7a definidas por m\u00f3dulos SELinux e Smack para opera\u00e7\u00f5es de entrada\/sa\u00edda.\n<li class=\"l\"> No subsistema IMA (Arquitetura de Medi\u00e7\u00e3o de Integridade), que permite que um servi\u00e7o externo verifique o estado dos subsistemas do n\u00facleo para garantir sua autenticidade, foi implementada a possibilidade de aplicar regras com base no identificador de grupo (GID) ao qual pertence o arquivo ou que envolve o usu\u00e1rio que est\u00e1 acessando o arquivo.\n<li class=\"l\"> Alguns mecanismos avan\u00e7ados de prote\u00e7\u00e3o de fluxo seccomp() contra ataques do tipo Spectre est\u00e3o desativados por padr\u00e3o, pois foram considerados excessivos e n\u00e3o aumentaram significativamente a seguran\u00e7a, mas impactaram negativamente a performance. O uso da prote\u00e7\u00e3o Retpoline foi revisado.\n<li class=\"l\"> A implementa\u00e7\u00e3o do mecanismo cryptoloop foi removida, sendo substitu\u00edda em 2004 pelo dm-crypt, que, se necess\u00e1rio, suporta os mesmos algoritmos.\n<li class=\"l\"> O acesso n\u00e3o privilegiado ao subsistema eBPF est\u00e1 desativado por padr\u00e3o. Essa altera\u00e7\u00e3o foi feita para evitar o uso de programas BPF para contornar a prote\u00e7\u00e3o contra ataques de canais laterais. Se necess\u00e1rio, o administrador pode restaurar a capacidade de usu\u00e1rios n\u00e3o privilegiados de usar eBPF.\n<li class=\"l\"> O hipervisor ACRN, projetado para executar tarefas em tempo real e uso em sistemas cr\u00edticos, agora suporta a cria\u00e7\u00e3o \/ exclus\u00e3o de dispositivos virtuais e o redirecionamento de dispositivos MMIO.\n<li class=\"l\"> O mecanismo criptogr\u00e1fico agora suporta defini\u00e7\u00f5es KPP (Primitivas de Protocolo de Acordo de Chave), simplificando a l\u00f3gica de desenvolvimento de drivers para sistemas criptogr\u00e1ficos.\n<li class=\"l\"> Para o hipervisor Hyper-V, foi implementado suporte para o modo de isolamento <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/vps\/\"   title=\"m\u00e1quinas virtuais\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2084\">m\u00e1quinas virtuais<\/a>, o que implica a criptografia do conte\u00fado da mem\u00f3ria.\n<li class=\"l\"> No hipervisor <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/vps\/abuzoustojchivye-vps\/\"   title=\"KVM\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"4404\">KVM<\/a> adicionada a suporte para a arquitetura RISC-V. Implementada a possibilidade de migra\u00e7\u00e3o dentro do ambiente host de m\u00e1quinas virtuais, executadas usando extens\u00f5es AMD SEV e SEV-ES. Uma API para migra\u00e7\u00e3o ao vivo de sistemas convidados, criptografados com AMD SEV (Virtualiza\u00e7\u00e3o Segura Criptografada), foi adicionada.\n<li class=\"l\"> Para a arquitetura PowerPC, o modo STRICT_KERNEL_RWX est\u00e1 ativado por padr\u00e3o, bloqueando o uso de p\u00e1ginas de mem\u00f3ria que est\u00e3o dispon\u00edveis simultaneamente para grava\u00e7\u00e3o e execu\u00e7\u00e3o.\n<li class=\"l\"> O suporte para conex\u00e3o quente de mem\u00f3ria (Memory hotplug) foi interrompido em sistemas x86 de 32 bits, que j\u00e1 estava inoperante h\u00e1 mais de um ano.\n<li class=\"l\"> A biblioteca liblockdep foi removida do n\u00facleo, e agora ser\u00e1 mantida separadamente do n\u00facleo.                  <\/ul>\n<li class=\"l\"> <b>Subsistema de Rede<\/b>\n<ul>\n<li class=\"l\"> Foi implementada uma nova op\u00e7\u00e3o SO_RESERVE_MEM para sockets, que permite reservar uma quantidade espec\u00edfica de mem\u00f3ria que sempre estar\u00e1 dispon\u00edvel para o socket e n\u00e3o ser\u00e1 retirada. O uso dessa op\u00e7\u00e3o permite melhorar o desempenho ao reduzir as opera\u00e7\u00f5es de aloca\u00e7\u00e3o e libera\u00e7\u00e3o de mem\u00f3ria na pilha de rede, especialmente em condi\u00e7\u00f5es de escassez de mem\u00f3ria no sistema.\n<li class=\"l\"> Adicionada a suporte ao protocolo de tunelamento autom\u00e1tico de tr\u00e1fego multicast (Automatic Multicast Tunneling, RFC 7450), que permite entregar o tr\u00e1fego multicast de redes que suportam Multicast a receptores em redes sem Multicast. O protocolo funciona atrav\u00e9s da encapsula\u00e7\u00e3o em pacotes UDP.\n<li class=\"l\"> Melhorada a encapsula\u00e7\u00e3o de dados IOAM (In-situ Operations, Administration, and Maintenance) em pacotes de tr\u00e2nsito.\n<li class=\"l\"> Adicionada a capacidade de controlar os modos de consumo de energia dos transceptores na API netlink do ethtool.\n<li class=\"l\"> No subsistema netfilter foi implementada a possibilidade de classifica\u00e7\u00e3o de pacotes no n\u00edvel de egress, ou seja, na fase em que o driver recebe o pacote da pilha de rede do n\u00facleo. No nftables, o suporte para filtros correspondentes foi adicionado na vers\u00e3o 1.0.1. O netfilter agora permite a correspond\u00eancia e altera\u00e7\u00e3o dos cabe\u00e7alhos internos e dados para UDP e TCP (inner header \/ payload) que seguem o cabe\u00e7alho de transporte (transport header).\n<li class=\"l\"> Novos par\u00e2metros sysctl arp_evict_nocarrier e ndisc_evict_nocarrier foram adicionados, onde a cache ARP e a tabela ndisc (neighbor discovery) ser\u00e3o limpas em caso de queda de conex\u00e3o (NOCARRIER).\n<li class=\"l\"> O mecanismo de controle de filas de rede fq_codel (Controlled Delay) agora inclui modos de Low Latency, Low Loss e Scalable Throughput (L4S).                          <\/ul>\n<li class=\"l\"> <b>Hardware<\/b>\n<ul>\n<li class=\"l\"> O driver amdgpu implementou suporte inicial para a especifica\u00e7\u00e3o DP 2.0 (DisplayPort 2.0) e a capacidade de tunelamento do DisplayPort atrav\u00e9s do USB4. Para o APU Cyan Skillfish (equipados com GPU Navi 1x), foi adicionado suporte para controladores de display. O suporte para o APU Yellow Carp (processadores m\u00f3veis Ryzen 6000 \u00abRembrandt\u00bb) foi ampliado.\n<li class=\"l\"> No driver i915, foi estabilizado o suporte para chips Intel Alderlake S e implementado suporte para a tecnologia Intel PXP (Protected Xe Path), que permite a execu\u00e7\u00e3o de uma sess\u00e3o gr\u00e1fica protegida em sistemas com chips Intel Xe.\n<li class=\"l\"> No driver nouveau, foram realizadas corre\u00e7\u00f5es de bugs e melhorias no estilo de codifica\u00e7\u00e3o.\n<li class=\"l\"> Adicionada suporte para CPUs Vortex compat\u00edveis com x86 (Vortex86MX). O Linux funcionava anteriormente em tais processadores, mas a identifica\u00e7\u00e3o expl\u00edcita das CPUs mencionadas era necess\u00e1ria para desabilitar a prote\u00e7\u00e3o contra ataques Spectre\/Meltdown, que n\u00e3o se aplicam aos chips mencionados.\n<li class=\"l\"> Adicionada suporte inicial para plataformas x86 Surface Pro 8 e Surface Laptop Studio.\n<li class=\"l\"> Adicionado driver para suporte a chips de \u00e1udio usados em APU AMD Yellow Carp, Van Gogh, al\u00e9m de suporte para sistemas de \u00e1udio e codecs Cirrus CS35L41, Maxim MAX98520\/MAX98360A, Mediatek MT8195, Nuvoton NAU8821, NVIDIA Tegra210, NXP i.MX8ULP, Qualcomm AudioReach, Realtek ALC5682I-VS, RT5682S, RT9120, Rockchip RV1126 e RK3568.\n<li class=\"l\"> Adicionado driver ishtp_eclite para acesso a controladores integrados Intel PSE (Programmable Service Engine) atrav\u00e9s do protocolo ISHTP (Integrated Sensor Hub Transport Protocol), por exemplo, para obter dados sobre a bateria, temperatura e informa\u00e7\u00f5es relacionadas ao UCSI (USB Type-C Connector System Software Interface).\n<li class=\"l\"> Adicionado driver para controladores de jogos Nintendo Switch, suportando dispositivos Switch Pro e Joy-Cons. Adicionada suporte para tablets Wacom Intuos BT (CTL-4100WL\/CTL-6100WL) e o teclado Apple 2021 Magic Keyboard. Melhorada a compatibilidade com controladores Sony PlayStation DualSense. Adicionada suporte para bot\u00f5es laterais do mouse Xiaomi Mi.\n<li class=\"l\"> Adicionado driver RT89 com suporte para chips sem fio Realtek 802.11ax, bem como drivers para adaptadores Ethernet Asix AX88796C-SPI e switches Realtek RTL8365MB-VC.\n<li class=\"l\"> Para chips Apple M1, adicionados drivers para PCI e PASemi i2c.\n<li class=\"l\"> Adicionada suporte para SoCs ARM, dispositivos e placas Raspberry Pi Compute Module 4, Fairphone 4, Snapdragon 690, LG G Watch R, Sony Xperia 10 III, Samsung Galaxy S4 Mini Value Edition, Xiaomi MSM8996 (Mi 5, Mi Note 2, Mi 5s, Mi Mix, Mi 5s Plus e Xiaomi Mi 5), Sony Yoshino (Sony Xperia XZ1 e Sony Xperia XZ Premium), F(x)tec Pro1 QX1000, Microchip LAN966, CalAmp LMU5000, Exegin Q5xR5, sama7g5, Samsung ExynosAutov9, Rockchip RK3566, RK3399 ROCK Pi 4A+, RK3399 ROCK Pi 4B+, Firefly ROC-RK3328-PC, Firefly ROC-RK3399-PC-PLUS, ASUS Chromebook Tablet CT100, Pine64 Quartz64-A, Netgear GS110EMX, Globalscale MOCHAbin 7040, NXP S32G2, Renesas R8A779M*, Xilinx Kria, Radxa Zero, JetHub D1\/H1, Netronix E70K02.          <\/ul>\n<\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=56478\">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.16. \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: \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 futex_waitv \u0434\u043b\u044f \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 Windows-\u0438\u0433\u0440 \u0432 Wine, \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u043e\u0448\u0438\u0431\u043e\u043a \u0432 \u0424\u0421 \u0447\u0435\u0440\u0435\u0437 fanotify, \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u0444\u043e\u043b\u0438\u0430\u043d\u0442\u043e\u0432 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 AMX, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0437\u0435\u0440\u0432\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0437\u0430 \u0441\u0435\u0442\u0435\u0432\u044b\u043c\u0438 \u0441\u043e\u043a\u0435\u0442\u0430\u043c\u0438, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432 netfilter \u043a\u043b\u0430\u0441\u0441\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043d\u0430 \u0441\u0442\u0430\u0434\u0438\u0438 &#171;egress&#187;, \u0437\u0430\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u0435 [&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-102933","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.16.\" \/>\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-16\" \/>\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.16 | 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.16.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-16\" \/>\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=\"2022-01-10T13:36:38+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-01-10T13:36:38+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 kernel Linux 5.16 | ProHoster","description":"Ap\u00f3s dois meses de desenvolvimento, Linus Torvalds apresentou o lan\u00e7amento do kernel Linux 5.16.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-16","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.16 | 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.16.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-16","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":"2022-01-10T13:36:38+00:00","article:modified_time":"2022-01-10T13:36:38+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"102933","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2022-01-10 13:37:39","updated":"2026-02-09 17:11:18","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\/102933","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=102933"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/102933\/revisions"}],"predecessor-version":[{"id":164281,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/102933\/revisions\/164281"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=102933"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=102933"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=102933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}