{"id":38151,"date":"2019-10-31T22:21:56","date_gmt":"2019-10-31T19:21:56","guid":{"rendered":"https:\/\/prohoster.info\/blog\/reliz-yadra-linux-5-3\/"},"modified":"2019-10-31T22:21:56","modified_gmt":"2019-10-31T19:21:56","slug":"reliz-yadra-linux-5-3","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-3","title":{"rendered":"Lan\u00e7amento do kernel Linux 5.3","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ap\u00f3s dois meses de desenvolvimento, Linus Torvalds <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2019\/9\/15\/241\">apresentou<\/a><\/noindex> lan\u00e7amento do n\u00facleo <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/\">Linux 5.3<\/a><\/noindex>. Dentre as mudan\u00e7as mais not\u00e1veis est\u00e3o: suporte para GPU AMD Navi, processadores Zhaoxi e tecnologia de gerenciamento de energia Intel Speed Select, al\u00e9m da possibilidade de usar instru\u00e7\u00f5es umwait para espera sem ciclos.<br \/>\nmodo de 'utiliza\u00e7\u00e3o de limita\u00e7\u00e3o' interativa para CPUs assim\u00e9tricos, chamada do sistema pidfd_open, possibilidade de uso de endere\u00e7os IPv4 da sub-rede 0.0.0.0\/8, possibilidade de acelera\u00e7\u00e3o de hardware nftables, suporte HDR no subsistema DRM, integra\u00e7\u00e3o do hipervisor ACRN.<\/p>\n<p>Em <noindex><a rel=\"nofollow\" href=\"https:\/\/lkml.org\/lkml\/2019\/9\/15\/2\">an\u00fancio<\/a><\/noindex> a nova vers\u00e3o do Linus lembrou a todos os desenvolvedores sobre a regra principal do desenvolvimento do n\u00facleo \u2014 manter a imutabilidade do comportamento para componentes do espa\u00e7o do usu\u00e1rio. As mudan\u00e7as no n\u00facleo de forma alguma devem interferir em aplicativos j\u00e1 funcionais e causar regress\u00f5es no n\u00edvel do usu\u00e1rio. No entanto, a altera\u00e7\u00e3o de comportamento pode ser provocada n\u00e3o apenas pela mudan\u00e7a de ABI, remo\u00e7\u00e3o de c\u00f3digo obsoleto ou surgimento de bugs, mas tamb\u00e9m pela influ\u00eancia indireta de melhorias \u00fateis que funcionam corretamente. Como exemplo visual, foi <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=72dbcf72156641fde4d8ea401e977341bfd35a05\">descartada<\/a><\/noindex> uma otimiza\u00e7\u00e3o <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=b03755ad6f33b7b8cd7312a3596a2dbf496de6e7\">no c\u00f3digo Ext4, reduzindo o n\u00famero de acessos ao armazenamento ao desativar a leitura antecipada da tabela inode em pequenas solicita\u00e7\u00f5es de entrada\/sa\u00edda.<\/a><\/noindex> A otimiza\u00e7\u00e3o levou \u00e0 de que, devido \u00e0 redu\u00e7\u00e3o da atividade do disco, a entropia para o gerador de n\u00fameros aleat\u00f3rios getrandom() come\u00e7ou a acumular-se mais lentamente e, em algumas configura\u00e7\u00f5es, sob certas circunst\u00e2ncias, podiam ser observados congelamentos durante a inicializa\u00e7\u00e3o at\u00e9 que o pool de entropia fosse preenchido. Como a otimiza\u00e7\u00e3o \u00e9 realmente \u00fatil, uma discuss\u00e3o surgiu entre os desenvolvedores, propondo resolver o problema desativando por padr\u00e3o o modo de bloqueio da chamada getrandom() com a adi\u00e7\u00e3o de um flag opcional para esperar a entropia, mas tal mudan\u00e7a afetaria a qualidade dos n\u00fameros aleat\u00f3rios no in\u00edcio do processo de inicializa\u00e7\u00e3o. <\/p>\n<p>Na nova vers\u00e3o, foram inclu\u00eddas 15794 corre\u00e7\u00f5es de 1974 desenvolvedores,<\/p>\n<p>o tamanho do patch \u00e9 de 92 MB (as mudan\u00e7as afetaram 13986 arquivos, adicionando 258419 linhas de c\u00f3digo,<br \/>\ntamanho do patch \u2014 92 MB (as mudan\u00e7as afetaram 13986 arquivos, adicionadas 258419 linhas de c\u00f3digo,<br \/>\nest\u00e3o relacionadas a drivers de dispositivos, aproximadamente 12% das altera\u00e7\u00f5es t\u00eam<br \/>\nrela\u00e7\u00e3o com a atualiza\u00e7\u00e3o de c\u00f3digo espec\u00edfico para arquiteturas de hardware, 11%<br \/>\n.<br \/>\nrelacionado \u00e0 pilha de rede, 3% \u2014 sistemas de arquivos e 3% com internos<br \/>\nsubsistemas do n\u00facleo.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kernelnewbies.org\/Linux_5.3\">Principais<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/793629\/\">novidades<\/a><\/noindex>:\n<\/p>\n<ul>\n<li class=\"l\"> <b>Mem\u00f3ria e servi\u00e7os do sistema<\/b>\n<ul>\n<li class=\"l\"> Continuou o desenvolvimento da funcionalidade 'pidfd', que ajuda a lidar com situa\u00e7\u00f5es de reutiliza\u00e7\u00e3o de PID (pidfd est\u00e1 vinculado a um processo espec\u00edfico e n\u00e3o muda, enquanto o PID pode ser vinculado a outro processo ap\u00f3s a conclus\u00e3o do processo atual associado a esse PID). Anteriormente, j\u00e1 havia sido adicionado ao n\u00facleo<br \/>\na chamada de sistema pidfd_send_signal() e a flag CLONE_PIDFD na chamada clone(), permitindo obter o pidfd para uso em idfd_send_signal(). Ao usar a chamada clone() com a flag CLONE_PIDFD, poderiam ocorrer problemas com gerenciadores de servi\u00e7os ou o sistema de finaliza\u00e7\u00e3o for\u00e7ada de processos em plataformas Android com falta de mem\u00f3ria. Nesse caso, a chamada fork() ou clone() \u00e9 usada sem CLONE_PIDFD. <\/p>\n<p>No n\u00facleo 5.3, foi apresentada a chamada de sistema <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/789023\/\">pidfd_open()<\/a><\/noindex>, permitindo obter um pidfd validado para um processo existente aleat\u00f3rio, criado n\u00e3o atrav\u00e9s da chamada clone() com a flag CLONE_PIDFD. Tamb\u00e9m foi adicionada suporte para fazer polling do pidfd usando poll() e epoll(), o que permite gerenciadores de processos monitorar a finaliza\u00e7\u00e3o de processos aleat\u00f3rios, sem se preocupar com condi\u00e7\u00f5es de corrida no caso de um novo processo receber um PID. O mecanismo de notifica\u00e7\u00e3o para a finaliza\u00e7\u00e3o do processo relacionado ao pidfd \u00e9 semelhante \u00e0 notifica\u00e7\u00e3o sobre a finaliza\u00e7\u00e3o de seu pr\u00f3prio processo filho;<\/p>\n<li class=\"l\">No escalonador de tarefas, foi adicionada suporte ao mecanismo de controle de carga (<noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/762043\/\">Utilization clamping<\/a><\/noindex>), permitindo aderir a faixas m\u00ednimas ou m\u00e1ximas de frequ\u00eancia, dependendo das tarefas ativas na CPU. O mecanismo apresentado acelera tarefas que impactam diretamente a qualidade da intera\u00e7\u00e3o com o usu\u00e1rio, realizando tais tarefas pelo menos na faixa inferior da frequ\u00eancia 'solicitada'. Tarefas de baixa prioridade, que n\u00e3o afetam a experi\u00eancia do usu\u00e1rio, s\u00e3o iniciadas usando o limite superior da 'frequ\u00eancia permitida'. Os limites s\u00e3o definidos atrav\u00e9s dos atributos sched_uclamp_util_min e sched_uclamp_util_max na chamada do sistema sched_setattr().\n<li class=\"l\"> Foi adicionada suporte \u00e0 tecnologia de gerenciamento de consumo de energia <noindex><a rel=\"nofollow\" href=\"https:\/\/www.intel.com\/content\/www\/us\/en\/architecture-and-technology\/speed-select-technology-article.html\">Intel Speed Select<\/a><\/noindex>, dispon\u00edvel em alguns servidores com processadores Intel Xeon. A tecnologia mencionada permite configurar o desempenho e a largura de banda dos n\u00facleos do CPU de maneira diferente, priorizando o desempenho para tarefas executadas em n\u00facleos espec\u00edficos e sacrificando o desempenho em outros n\u00facleos;\n<li class=\"l\"> Processos no espa\u00e7o do usu\u00e1rio <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/790920\/\">fornecida<\/a><\/noindex> possibilidade de aguardar por um curto per\u00edodo sem usar ciclos atrav\u00e9s da instru\u00e7\u00e3o umwait. Esta instru\u00e7\u00e3o, junto com as instru\u00e7\u00f5es umonitor e tpause, ser\u00e1 proposta em chips Intel 'Tremont' em prepara\u00e7\u00e3o para lan\u00e7amento, permitindo implementar atrasos que s\u00e3o eficientes em termos de consumo de energia e n\u00e3o afetam a performance de outros threads ao usar Hyper Threading;\n<li class=\"l\"> Para a arquitetura RISC-V, foi adicionado suporte a p\u00e1ginas de mem\u00f3ria grandes (huge pages);\n<li class=\"l\"> No mecanismo de rastreamento &#171;kprobes&#187; foi adicionada a capacidade de desreferenciar ponteiros do n\u00facleo no espa\u00e7o do usu\u00e1rio, o que pode ser aplicado, por exemplo, para avaliar o conte\u00fado de estruturas passadas em chamadas de sistema. Tamb\u00e9m foi adicionada a capacidade de estabelecer verifica\u00e7\u00f5es na fase de carregamento.\n<li class=\"l\"> Foi adicionada a op\u00e7\u00e3o PREEMPT_RT ao arquivo de configura\u00e7\u00e3o para operar em modo de tempo real. O pr\u00f3prio c\u00f3digo para suportar o modo de tempo real ainda n\u00e3o foi adicionado ao n\u00facleo, mas a presen\u00e7a da op\u00e7\u00e3o \u00e9 um bom sinal de que a longa saga dos <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=43094\">com a Cisco ISE para tratamento e an\u00e1lise posteriores.<\/a><\/noindex> patches Realtime-Preempt est\u00e1 se aproximando do fim;\n<li class=\"l\"> Foi adicionada a chamada de sistema clone3() com a implementa\u00e7\u00e3o de uma vers\u00e3o do interface clone() mais extens\u00edvel, permitindo a especifica\u00e7\u00e3o de um maior n\u00famero de flags;\n<li class=\"l\"> Foi adicionador o manipulador bpf_send_signal(), que permite que programas BPF enviem sinais para processos arbitr\u00e1rios;\n<li class=\"l\"> Para eventos perf no ambiente do hipervisor KVM, foi adicionado um novo mecanismo de filtragem de eventos, permitindo que o administrador defina os tipos de eventos permitidos ou n\u00e3o permitidos para monitoramento do lado do sistema convidado;\n<li class=\"l\"> No mecanismo de verifica\u00e7\u00e3o de aplicativos eBPF, foi adicionada a capacidade de processar programas com la\u00e7os, desde que a execu\u00e7\u00e3o do la\u00e7o seja limitada e n\u00e3o possa levar ao excedente do limite m\u00e1ximo de instru\u00e7\u00f5es;\n<\/ul>\n<li class=\"l\"> <b>Subsistema de disco, entrada\/sa\u00edda e sistemas de arquivos<\/b>\n<ul>\n<li class=\"l\"> Para o sistema de arquivos XFS, foi implementada a capacidade de varredura de inode em m\u00faltiplos threads (por exemplo, ao verificar cotas). Novos ioctl BULKSTAT e INUMBERS foram adicionados, proporcionando acesso \u00e0s capacidades que surgiram na quinta edi\u00e7\u00e3o do formato de sistema de arquivos, como o tempo de cria\u00e7\u00e3o do inode e a possibilidade de definir os par\u00e2metros BULKSTAT e INUMBERS para cada grupo AG (Allocation Groups);\n<li class=\"l\"> No Ext4 <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=4e19d6b65fb4fc42e352ce9883649e049da14743\">foi adicionada suporte a<\/a><\/noindex>  lacunas em diret\u00f3rios (blocos n\u00e3o vinculados).<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=02b016ca7f99229ae6227e7b2fc950c4e140d74a\">Foi garantido o tratamento<\/a><\/noindex> do flag &#171;i&#187; (imut\u00e1vel) para arquivos abertos (proibindo grava\u00e7\u00e3o se o flag foi definido no momento em que o arquivo j\u00e1 estava aberto);<\/p>\n<li class=\"l\"> No Btrfs, foi implementada a determina\u00e7\u00e3o de uma implementa\u00e7\u00e3o r\u00e1pida de crc32c em todas as arquiteturas;\n<li class=\"l\"> No CIFS, o c\u00f3digo para suporte ao smbdirect teve seu status de desenvolvimento experimental removido. No SMB3, foi adicionada a capacidade de usar algoritmos criptogr\u00e1ficos em modo GCM. Uma nova op\u00e7\u00e3o de montagem foi adicionada para extrair par\u00e2metros de modo de registros ACE (Access Control Entry). A performance da chamada open() foi otimizada;\n<li class=\"l\"> No F2FS, foi adicionada uma op\u00e7\u00e3o para limitar o coletor de lixo ao operar no modo checkpoint=disable. Um ioctl foi adicionado para remover intervalos de blocos do F2FS, permitindo ajustar o tamanho da parti\u00e7\u00e3o em tempo real. Foi implementada a possibilidade de alocar um arquivo de pagina\u00e7\u00e3o no F2FS com suporte \u00e0 entrada\/sa\u00edda direta. Para todos os usu\u00e1rios, foi adicionada a capacidade de pin\u00e7ar arquivos e alocar blocos para esses arquivos;\n<li class=\"l\"> Foi adicionada ao interface de entrada\/sa\u00edda ass\u00edncrona io_uring o suporte a opera\u00e7\u00f5es ass\u00edncronas sendmsg() e recvmsg();\n<li class=\"l\"> No sistema de arquivos UBIFS, foi adicionada a suporte a compress\u00e3o usando o algoritmo zstd e a possibilidade de verifica\u00e7\u00e3o de imagens de sistema de arquivos assinadas;\n<li class=\"l\"> No sistema de arquivos Ceph, foi adicionada a suporte a r\u00f3tulos de seguran\u00e7a SELinux para arquivos;\n<li class=\"l\"> Para o NFSv4, foi implementada uma nova op\u00e7\u00e3o de montagem &#171;nconnect=&#187;, que define o n\u00famero de conex\u00f5es estabelecidas com o servidor. O tr\u00e1fego entre essas conex\u00f5es ser\u00e1 distribu\u00eddo usando balanceamento de carga. Al\u00e9m disso, o servidor NFSv4 agora cria um diret\u00f3rio \/proc\/fs\/nfsd\/clients com informa\u00e7\u00f5es sobre os clientes atuais, incluindo dados sobre os arquivos abertos por eles;\n<\/ul>\n<li class=\"l\"> <b>Virtualiza\u00e7\u00e3o e seguran\u00e7a<\/b>\n<ul>\n<li class=\"l\"> O n\u00facleo inclui um hipervisor para dispositivos integrados <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51399\">ACRN<\/a><\/noindex>, que foi escrito levando em considera\u00e7\u00e3o a prontid\u00e3o para realizar tarefas em tempo real e adequa\u00e7\u00e3o para uso em sistemas cr\u00edticos. O ACRN garante baixa sobrecarga, garante baixa lat\u00eancia e adequada responsividade ao interagir com o hardware. Suporta a virtualiza\u00e7\u00e3o de recursos de CPU, entrada\/sa\u00edda, subsistema de rede, opera\u00e7\u00f5es de gr\u00e1ficos e som. O ACRN pode ser aplicado para executar v\u00e1rias m\u00e1quinas virtuais isoladas em blocos de controle eletr\u00f4nico, pain\u00e9is de instrumentos, sistemas de informa\u00e7\u00e3o automotivos, dispositivos de IoT de consumo e outras t\u00e9cnicas embarcadas;\n<li class=\"l\"> No User-mode Linux <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/065038706f77\">o sinalizador -k para integra\u00e7\u00e3o com<\/a><\/noindex> modo &#171;viagem no tempo&#187;, permitindo desacelerar ou acelerar o tempo em um ambiente virtual UML para facilitar a depura\u00e7\u00e3o de c\u00f3digo relacionado ao tempo. Al\u00e9m disso, um par\u00e2metro adicionou-se<br \/>\ntime-travel-start, permitindo iniciar os rel\u00f3gios do sistema a partir de um momento especificado no formato epoch;<\/p>\n<li class=\"l\"> Novas op\u00e7\u00f5es de linha de comando do n\u00facleo &#171;init_on_alloc&#187; e &#171;init_on_free&#187; foram adicionadas, nas quais a zero-inicializa\u00e7\u00e3o de \u00e1reas de mem\u00f3ria alocadas e liberadas \u00e9 habilitada (preenchendo com zeros ao usar malloc e free), o que aumenta a seguran\u00e7a com custos adicionais de inicializa\u00e7\u00e3o;\n<li class=\"l\"> Um novo driver foi adicionado  <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/edcd69ab9a323b7ac7a86e1c44b6c9c46598391f\">virtio-iommu<\/a><\/noindex> , implementando um dispositivo paravirtualizado que permite enviar solicita\u00e7\u00f5es IOMMU, como ATTACH, DETACH, MAP e UNMAP, sobre o transporte virtio sem emula\u00e7\u00e3o de tabelas de p\u00e1ginas de mem\u00f3ria;\n<li class=\"l\">  Um novo driver foi adicionado <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/6e84200c0a2994b991259d19450eee561029bf70\">virtio-pmem<\/a><\/noindex>, representando o acesso a dispositivos de armazenamento espelhados no espa\u00e7o de endere\u00e7os f\u00edsicos, como NVDIMM;\n<li class=\"l\"> Foi implementada a capacidade de anexar chaves criptogr\u00e1ficas a um espa\u00e7o de nomes de usu\u00e1rio ou de rede (as chaves se tornam inacess\u00edveis fora do espa\u00e7o de nomes selecionado), assim como a prote\u00e7\u00e3o das chaves por meio de ACL;\n<li class=\"l\"> No subsistema de criptografia <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=67882e76492483bafa9b1b1648bb031e9abe5185\">foi adicionada<\/a><\/noindex> suporte a um algoritmo de hash n\u00e3o criptogr\u00e1fico muito r\u00e1pido <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Cyan4973\/xxHash\">xxhash<\/a><\/noindex>, cuja velocidade \u00e9 limitada pelo desempenho da mem\u00f3ria;\n<\/ul>\n<li class=\"l\"> <b>Subsistema de Rede<\/b>\n<ul>\n<li class=\"l\"> Foi habilitado o processamento de endere\u00e7os IPv4 no intervalo 0.0.0.0\/8, que anteriormente n\u00e3o estava dispon\u00edvel para uso. A introdu\u00e7\u00e3o deste sub-rede <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/dtaht\/unicast-extensions\">permitir\u00e1<\/a><\/noindex> distribuir\u00e1 mais 16 milh\u00f5es de endere\u00e7os IPv4;\n<li class=\"l\"> No Netfilter para nftables <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=c9626a2cbdb20e26587b3fad99960520a023432b\">foi adicionada<\/a><\/noindex> suporte a mecanismos de acelera\u00e7\u00e3o de hardware para filtragem de pacotes por meio da aplica\u00e7\u00e3o dos drivers adicionados <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=da3eeb904ff432ec22cf7b4db17a47647428873a\">Flow Block API<\/a><\/noindex>. As interfaces de rede podem carregar tabelas inteiras de regras com todas as cadeias. A ativa\u00e7\u00e3o \u00e9 realizada atrav\u00e9s da vincula\u00e7\u00e3o da flag NFT_TABLE_F_HW \u00e0 tabela. Suporta metadados simples dos protocolos de n\u00edvel 3 e 4, a\u00e7\u00f5es de aceitar\/rejeitar, correspond\u00eancias por IP e portas de rede do remetente\/receptor e tipo de protocolo;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=3c171f496ef57774f8e5d509923372549734877f\">Adicionada<\/a><\/noindex> suporte embutido para rastreamento de conex\u00f5es para pontes de rede, sem a necessidade de uma camada emuladora br_netfilter;\n<li class=\"l\"> No nf_tables <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/ad49d86e07a497e834cb06f2b151dccd75f8e148\">foi adicionada<\/a><\/noindex> suporte para o m\u00f3dulo SYNPROXY, que replica funcionalidade semelhante do iptables, e tamb\u00e9m implementada a verifica\u00e7\u00e3o em regras de op\u00e7\u00f5es espec\u00edficas no cabe\u00e7alho IPv4;\n<li class=\"l\">  Adicionada a possibilidade de anexar programas BPF a chamadas de sistema setsockopt() e getsockopt(), permitindo, por exemplo, anexar seus manipuladores de acesso a essas chamadas. Al\u00e9m disso, um novo ponto de chamada (hook) foi adicionado, permitindo a chamada de um programa BPF uma vez por intervalo RTT (round-trip-time, tempo de ping);\n<li class=\"l\"> Para IPv4 e IPv6 <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=ab84be7e54fc3d9b248285f1a14067558d858819\">o sinalizador -k para integra\u00e7\u00e3o com<\/a><\/noindex> novo mecanismo de armazenamento de dados de roteamento nexthop, visando aumentar a escalabilidade das tabelas de roteamento. Testes realizados mostraram que, usando o novo sistema, um conjunto de 743 mil rotas foi carregado no kernel em apenas 4,3 segundos;\n<li class=\"l\">  Para Bluetooth <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=302975cba1a4244d84e645773c82edbcfae1875f\">s\u00e3o implementadas<\/a><\/noindex> funcionalidade necess\u00e1ria para suporte a LE ping;\n<\/ul>\n<li class=\"l\"> <b>Hardware<\/b>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=761fdd5e3327db6c646a09bab5ad48cd42680cd2\">Adicionada<\/a><\/noindex> suporte para processadores x86 compat\u00edveis da empresa <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/Zhaoxin\">Zhaoxin<\/a><\/noindex>, desenvolvidos como resultado de um projeto conjunto da VIA Technologies e do munic\u00edpio de Xangai. A fam\u00edlia de CPU ZX \u00e9 baseada na arquitetura x86-64 Isaiah, que continua a evolu\u00e7\u00e3o das tecnologias <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Centaur_Technology\">VIA Centaur<\/a><\/noindex>;\n<li class=\"l\"> No subsistema DRM (Direct Rendering Manager), assim como nos drivers gr\u00e1ficos amdgpu e i915, foi adicionada a suporte para an\u00e1lise, processamento e envio atrav\u00e9s do porto HDMI de metadados HDR (gama din\u00e2mica expandida), permitindo o uso de pain\u00e9is e telas HDR que podem exibir faixas adicionais de brilho;\n<li class=\"l\"> No driver amdgpu, foi adicionada a suporte inicial para a GPU AMD NAVI (RX5700), que inclui um driver b\u00e1sico, c\u00f3digo para intera\u00e7\u00e3o com telas (DCN2), suporte a GFX e c\u00e1lculos (GFX10),<br \/>\nSDMA 5 (System DMA0), gerenciamento de energia e codificadores\/decodificadores multim\u00eddia (VCN2). No amdgpu, tamb\u00e9m foram melhorados o suporte para placas baseadas em GPU Vega12 e Vega20, para as quais foram adicionadas capacidades adicionais de gerenciamento de mem\u00f3ria e consumo de energia;<\/p>\n<li class=\"l\"> O driver amdkfd (para GPUs discretas, como Fiji, Tonga, Polaris) adicionou suporte para placas baseadas em GPU VegaM;\n<li class=\"l\"> No driver DRM para placas de v\u00eddeo Intel para chips Icelake <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=02ae8ba9664081a74cafe6662e64b3d7b8b292e6\">implementado<\/a><\/noindex> novo modo de corre\u00e7\u00e3o gama multissegmentar. Foi adicionada a capacidade de sa\u00edda via DisplayPort no formato YCbCr4:2:0. Novos firmwares foram adicionados <noindex><a rel=\"nofollow\" href=\"https:\/\/01.org\/linuxgraphics\/downloads\/firmware\">GuC<\/a><\/noindex> para SKL, BXT, KBL, GLK e ICL. Foi implementada a capacidade de desligar a energia da tela em modo ass\u00edncrono. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=1215d28e722ce27172de7708ead6824fcfb19364\">Adicionada<\/a><\/noindex> suporte \u00e0 salvaguarda e recupera\u00e7\u00e3o do contexto de renderiza\u00e7\u00e3o para chips Ironlake (gen5) e gen4 (Broadwater \u2014 Cantiga), permitindo a restaura\u00e7\u00e3o do estado da GPU a partir do espa\u00e7o do usu\u00e1rio ao alternar entre a execu\u00e7\u00e3o de diferentes opera\u00e7\u00f5es em lote;\n<li class=\"l\"> No driver Nouveau, foi assegurada a identifica\u00e7\u00e3o do chipset NVIDIA Turing TU116;\n<li class=\"l\"> As capacidades do driver DRM\/KMS para aceleradores de opera\u00e7\u00f5es de tela ARM Komeda (Mali D71) foram expandidas, adicionando suporte para escalonamento, divis\u00e3o\/fus\u00e3o de camadas, rota\u00e7\u00e3o, grava\u00e7\u00e3o adiada, AFBC, SMMU e formatos de codifica\u00e7\u00e3o de cores Y0L2, P010, YUV420_8\/10BIT;\n<li class=\"l\"> No driver MSM, foi adicionado suporte para a s\u00e9rie A540 GPU Adreno, usada em processadores Qualcomm, bem como suporte para o controlador DSI MSM8998 para Snapdragon 835;\n<li class=\"l\"> Foram adicionados drivers para pain\u00e9is LCD Samsung S6E63M0, Armadeus ST0700, EDT ETM0430G0DH6, OSD101T2045-53TS,<br \/>\nEvervision VGG804821, FriendlyELEC HD702E, KOE tx14d24vm1bpa, TFC S9700RTWV43TR-01B, EDT ET035012DM6 e VXT VL050-8048NT-C01;<\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=3e7f51bd96077acad6acd7b45668f65b44233c4e\">Adicionado<\/a><\/noindex> driver para ativar os recursos de acelera\u00e7\u00e3o de decodifica\u00e7\u00e3o<br \/>\nde v\u00eddeo dispon\u00edveis no SoC Amlogic Meson;<\/p>\n<li class=\"l\"> No driver v3d (para GPU Broadcom Video Core V, usada no Raspberry Pi) foi introduzido <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=d223f98f02099b002903b9b22b56febae16ef80d\">suporte<\/a><\/noindex> o gerenciamento de shaders computacionais;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=038b1a05eae6666b731920e46f47d8e2332e07ff\">Adicionado<\/a><\/noindex> driver para teclados SPI e trackpads usados em modelos modernos de notebooks Apple MacBook e MacBookPro;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/torvalds\/linux\/commit\/47d6a7607443ea43dbc4d0f371bf773540a8f8f4\">Adicionada<\/a><\/noindex> uma prote\u00e7\u00e3o adicional para chamadas ioctl relacionadas ao driver floppy, e o pr\u00f3prio driver foi marcado como obsoleto<br \/>\n(&#171;orphaned&#187;), o que implica a interrup\u00e7\u00e3o de seu teste. O driver ainda \u00e9 mantido no n\u00facleo, mas seu funcionamento correto n\u00e3o \u00e9 garantido. O driver \u00e9 considerado obsoleto, pois \u00e9 dif\u00edcil encontrar hardware funcional para seu teste \u2014 todos os dispositivos de armazenamento externos atuais geralmente utilizam a interface USB. <\/p>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=d3df18a97e586702920337056540267807b23f8e\">Adicionado<\/a><\/noindex> driver cpufreq para placas Raspberry Pi, permitindo o gerenciamento din\u00e2mico da frequ\u00eancia do processador;\n<li class=\"l\"> Adicionada a suportar novos SoCs ARM Mediatek mt8183 (4x Cortex-A73 + 4x Cortex-A53), TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSPs + MMA) e Amlogic G12B (4x Cortex-A73 + 2x Cortex-A53), bem como placas:\n<ul>\n<li>  <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51436\">Purism Librem5<\/a><\/noindex>,\n<li> Aspeed BMC,\n<li> Microsoft Olympus BMC,\n<li> Kontron SMARC,\n<li> Novtech Meerkat96 (i.MX7),\n<li> ST Micro Avenger96,\n<li> Google Cheza (Qualcomm SDM845),\n<li> Qualcomm Dragonboard 845c (Qualcomm SDM845),\n<li> Hugsun X99 TV Box (Rockchip RK3399),\n<li> Khadas Edge\/Edge-V\/Captain (Rockchip RK3399),\n<li> HiHope RZ\/G2M,\n<li> NXP LS1021A-TSN.\n<\/ul>\n<\/ul>\n<\/ul>\n<p>Simultaneamente, o Fundo Latino-Americano de Software Livre <noindex><a rel=\"nofollow\" href=\"http:\/\/www.fsfla.org\/ikiwiki\/selibre\/linux-libre\/\">formou<\/a><\/noindex><br \/>\numa variante <noindex><a rel=\"nofollow\" href=\"http:\/\/www.fsfla.org\/ikiwiki\/selibre\/linux-libre\/\">kernel 5.3 completamente livre<\/a><\/noindex> \u2014 <noindex><a rel=\"nofollow\" href=\"http:\/\/linux-libre.fsfla.org\/pub\/linux-libre\/releases\/5.3-gnu\/\">Linux-libre 5.3-gnu<\/a><\/noindex>, limpo de elementos de firmware e drivers que cont\u00eam componentes ou trechos de c\u00f3digo n\u00e3o livres, cuja aplica\u00e7\u00e3o \u00e9 restrita pelo fabricante. Na nova vers\u00e3o, o carregamento de blobs nos drivers qcom, hdcp drm, allegro-dvt e meson-vdec foi desativado.<br \/>\n O c\u00f3digo de limpeza de blobs nos drivers e subsistemas amdgpu, i915, netx, r8169, brcmfmac, rtl8188eu, adreno, si2157, pvrusb2, touchscreen_dmi, driver de som para skylake, bem como na documenta\u00e7\u00e3o para o microc\u00f3digo foi atualizado. <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"link\"><\/a><\/noindex><\/p>\n<p>Fonte: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=51447\">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.3. \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: \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 GPU AMD Navi, \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 Zhaoxi \u0438 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u044d\u043d\u0435\u0440\u0433\u043e\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u0435\u043c Intel Speed Select, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439 umwait \u0434\u043b\u044f \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u044f \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0446\u0438\u043a\u043b\u043e\u0432, \u043f\u043e\u0432\u044b\u0448\u0430\u044e\u0449\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0436\u0438\u043c &#8216;utilization clamping&#8217; \u0434\u043b\u044f \u0430\u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0447\u043d\u044b\u0445 CPU, \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0439 \u0432\u044b\u0437\u043e\u0432 pidfd_open, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f IPv4-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0438\u0437 \u043f\u043e\u0434\u0441\u0435\u0442\u0438 0.0.0.0\/8, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c [&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-38151","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.\" \/>\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-3\" \/>\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.3 | 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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-3\" \/>\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=\"2019-10-31T19:21:56+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:21:56+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.3 | ProHoster","description":"Ap\u00f3s dois meses de desenvolvimento, Linus Torvalds apresentou o lan\u00e7amento do n\u00facleo Linux.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-3","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.3 | 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.","og:url":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-3","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":"2019-10-31T19:21:56+00:00","article:modified_time":"2019-10-31T19:21:56+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38151","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":"2026-01-23 20:40:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:14:22","updated":"2026-01-23 20:40:20","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\/38151","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=38151"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/38151\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=38151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=38151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=38151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}