{"id":33056,"date":"2019-10-31T21:50:30","date_gmt":"2019-10-31T18:50:30","guid":{"rendered":"https:\/\/prohoster.info\/blog\/reliz-yadra-linux-5-1\/"},"modified":"2019-10-31T21:50:30","modified_gmt":"2019-10-31T18:50:30","slug":"reliz-yadra-linux-5-1","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/news\/reliz-yadra-linux-5-1","title":{"rendered":"Lan\u00e7amento do kernel Linux 5.1","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\/5\/5\/278\">apresentou<\/a><\/noindex> lan\u00e7amento do n\u00facleo <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\">Linux 5.1<\/a><\/noindex>. Entre as mudan\u00e7as mais not\u00e1veis est\u00e3o: uma nova interface para entrada\/sa\u00edda ass\u00edncrona io_uring, a possibilidade de usar NVDIMM como RAM, suporte no Nouveau para mem\u00f3ria virtual compartilhada, suporte para monitoramento escal\u00e1vel de sistemas de arquivos muito grandes atrav\u00e9s do fanotify, a capacidade de configurar n\u00edveis de compress\u00e3o Zstd no Btrfs, um novo manipulador cpuidle TEO, implementa\u00e7\u00e3o de chamadas de sistema para resolver o problema de 2038, capacidade de inicializa\u00e7\u00e3o a partir de dispositivos device-mapper sem initramfs, m\u00f3dulo LSM SafeSetID e suporte para patches ao vivo combinados.<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/kernelnewbies.org\/Linux_5.1\">Principais<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/783084\">novidades<\/a><\/noindex>: <\/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\"> Uma nova interface para entrada\/sa\u00edda ass\u00edncrona foi implementada - <noindex><a rel=\"nofollow\" href=\"http:\/\/kernel.dk\/io_uring.pdf\">io_uring<\/a><\/noindex>, destacando-se pelo suporte \u00e0 polling de entrada\/sa\u00edda e pela possibilidade de opera\u00e7\u00e3o tanto com quanto sem buffer. Lembramos que o mecanismo de entrada\/sa\u00edda ass\u00edncrona anteriormente oferecido, denominado 'aio', n\u00e3o suportava a entrada\/sa\u00edda bufferizada, podia operar apenas no modo O_DIRECT (sem buffering e contornando o cache), apresentava problemas de bloqueios devido \u00e0 espera pela disponibilidade de metadados e exibia grandes sobrecargas devido \u00e0 c\u00f3pia de dados na mem\u00f3ria.\n<p>No \u00e2mbito da API<br \/>\nio_uring os desenvolvedores tentaram eliminar as defici\u00eancias da antiga interface aio. Por <noindex><a rel=\"nofollow\" href=\"https:\/\/lore.kernel.org\/linux-block\/20190116175003.17880-1-axboe@kernel.dk\/\">de desempenho<\/a><\/noindex> io_uring \u00e9 muito pr\u00f3ximo de <noindex><a rel=\"nofollow\" href=\"https:\/\/spdk.io\/\">SPDK<\/a><\/noindex> e supera significativamente o libaio ao trabalhar com polling ativado. Para usar io_uring em aplica\u00e7\u00f5es finais que operam no espa\u00e7o do usu\u00e1rio, foi preparada uma biblioteca <noindex><a rel=\"nofollow\" href=\"http:\/\/git.kernel.dk\/cgit\/liburing\/\">liburing<\/a><\/noindex>, que oferece uma liga\u00e7\u00e3o de alto n\u00edvel sobre a interface do n\u00facleo;<\/p>\n<li class=\"l\"> No mecanismo de rastreamento de eventos no FS fanotify() <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/amir73il\/fsnotify-utils\/wiki\/Super-block-root-watch\">foi adicionada<\/a><\/noindex> o suporte para rastreamento de altera\u00e7\u00f5es no superbloco e na estrutura <noindex><a rel=\"nofollow\" href=\"https:\/\/ext4.wiki.kernel.org\/index.php\/Ext4_Disk_Layout\">dirent<\/a><\/noindex> (eventos de cria\u00e7\u00e3o, exclus\u00e3o e movimenta\u00e7\u00e3o de diret\u00f3rios). Os recursos apresentados ajudam a resolver problemas de escalabilidade que surgem ao criar rastreamentos recursivos de altera\u00e7\u00f5es em sistemas de arquivos muito grandes usando o mecanismo inotify (as altera\u00e7\u00f5es em dirent anteriormente s\u00f3 podiam ser rastreadas atrav\u00e9s do inotify, mas<br \/>\na efici\u00eancia em condi\u00e7\u00f5es de rastreamento recursivo de grandes diret\u00f3rios aninhados deixava a desejar). Agora, esse tipo de monitoramento pode ser realizado de forma eficiente atrav\u00e9s do fanotify;<\/p>\n<li class=\"l\"> No sistema de arquivos Btrfs <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=3f93aef535c8ea03e40cd8acf0753b3e6ed33e96\">foi adicionada<\/a><\/noindex> a capacidade de configurar o n\u00edvel de compress\u00e3o para o algoritmo zstd, que pode ser considerado um compromisso ideal entre o r\u00e1pido, mas ineficiente lz4, e o lento, mas que comprime bem, xz. Analogamente ao que anteriormente era poss\u00edvel ao definir o n\u00edvel de compress\u00e3o ao usar zlib para zstd, foi adicionada a op\u00e7\u00e3o de montagem '-o compress=zstd:level'. Em testes, o n\u00edvel m\u00ednimo proporcionou uma compress\u00e3o de dados de 2.658 vezes com uma velocidade de compress\u00e3o de 438,47 MB\/s, velocidade de descompress\u00e3o de 910,51 MB\/s e consumo de mem\u00f3ria de 780 MB, enquanto o n\u00edvel m\u00e1ximo 15 - de 3.126 vezes, mas com uma velocidade de compress\u00e3o de 37,30 MB\/s, descompress\u00e3o de 878,84 MB\/s e consumo de mem\u00f3ria de 2547 MB;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/plain\/Documentation\/device-mapper\/dm-init.txt?id=6bbc923dfcf57d6b97388819a7393835664c7a8e\">Adicionada<\/a><\/noindex> a capacidade de inicializar a partir de um sistema de arquivos localizado em um dispositivo device-mapper, sem a aplica\u00e7\u00e3o do initramfs. Com a vers\u00e3o atual do n\u00facleo, o device-mapper pode ser utilizado diretamente no processo de inicializa\u00e7\u00e3o, por exemplo, como a parti\u00e7\u00e3o com a FS raiz. A configura\u00e7\u00e3o da parti\u00e7\u00e3o \u00e9 realizada atrav\u00e9s do par\u00e2metro de inicializa\u00e7\u00e3o 'dm-mod.create'. Entre os m\u00f3dulos device-mapper permitidos para inicializa\u00e7\u00e3o est\u00e3o: 'crypt', 'delay', 'linear', 'snapshot-origin' e 'verity';\n<li class=\"l\"> Na sistema de arquivos orientada para unidades Flash F2FS, foi adicionado o flag F2FS_NOCOW_FL, permitindo desativar o modo copy-on-write para um arquivo espec\u00edfico;\n<li class=\"l\"> O sistema de arquivos foi removido do kernel <noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=22084\">Exofs<\/a><\/noindex>, que \u00e9 uma variante do ext2, adaptada para funcionar com dispositivos de armazenamento baseados em objetos OSD (Object-based Storage Device). O suporte ao protocolo SCSI para tais dispositivos de armazenamento de objetos tamb\u00e9m foi removido;\n<\/ul>\n<li class=\"l\"> <b>Virtualiza\u00e7\u00e3o e seguran\u00e7a<\/b>\n<ul>\n<li class=\"l\"> No prctl() foi adicionada a op\u00e7\u00e3o PR_SPEC_DISABLE_NOEXEC para controlar a execu\u00e7\u00e3o especulativa de instru\u00e7\u00f5es para o processo selecionado. Esta nova op\u00e7\u00e3o permite desativar seletivamente a execu\u00e7\u00e3o especulativa para processos que podem ser vulner\u00e1veis a ataques do tipo Spectre. O bloqueio permanece em vigor at\u00e9 a primeira chamada exec();\n<li class=\"l\"> Foi implementado o m\u00f3dulo LSM <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/html\/latest\/admin-guide\/LSM\/SafeSetID.html\">SafeSetID<\/a><\/noindex>, permitindo que servi\u00e7os do sistema gerenciem usu\u00e1rios com seguran\u00e7a, sem eleva\u00e7\u00e3o de privil\u00e9gios (CAP_SETUID) e sem adquirir as permiss\u00f5es do usu\u00e1rio root. A concess\u00e3o de privil\u00e9gios \u00e9 feita atrav\u00e9s da defini\u00e7\u00e3o, no securityfs, de regras baseadas em uma lista branca de liga\u00e7\u00f5es permitidas (na forma 'UID1:UID2');\n<li class=\"l\"> Foram adicionadas mudan\u00e7as de baixo n\u00edvel necess\u00e1rias para a organiza\u00e7\u00e3o em pilha dos m\u00f3dulos de seguran\u00e7a (LSM). Foi apresentado o par\u00e2metro de inicializa\u00e7\u00e3o do n\u00facleo 'lsm', que permite gerenciar quais m\u00f3dulos s\u00e3o carregados e em que ordem;\n<li class=\"l\"> Suporte a namespaces de arquivos foi adicionado ao subsistema de auditoria;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/81a56f6dcd20\">Ampliados<\/a><\/noindex> capacidades do plugin GCC structleak, que permite bloquear potenciais vazamentos de conte\u00fado de mem\u00f3ria. A inicializa\u00e7\u00e3o de quaisquer vari\u00e1veis usadas no c\u00f3digo atrav\u00e9s de refer\u00eancias na pilha foi garantida;\n<\/ul>\n<li class=\"l\"> <b>Subsistema de Rede<\/b>\n<ul>\n<li class=\"l\"> Para sockets, <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/f5dd3d0c9638\">s\u00e3o implementadas<\/a><\/noindex> uma nova op\u00e7\u00e3o 'SO_BINDTOIFINDEX', semelhante a<br \/>\n\u00abSO_BINDTODEVICE\u00bb, mas recebe como argumento o n\u00famero de \u00edndice da interface de rede em vez do nome da interface;<\/p>\n<li class=\"l\"> No stack mac80211, foi adicionada a capacidade de atribuir m\u00faltiplos BSSIDs (endere\u00e7os MAC) a um \u00fanico dispositivo. No \u00e2mbito do projeto de otimiza\u00e7\u00e3o de desempenho do WiFi, foi inclu\u00eddo no stack mac80211 o contabiliza\u00e7\u00e3o do tempo de ar e a possibilidade de distribuir o tempo de ar entre v\u00e1rias esta\u00e7\u00f5es (quando operando em modo de ponto de acesso, allocating weniger Zeit f\u00fcr die \u00dcbertragung an langsame drahtlose Stationen, anstatt die Zeit gleichm\u00e4\u00dfig zwischen allen Stationen zu verteilen);\n<li class=\"l\"> Adicionado o mecanismo \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=db2ab7a08f06\">devlink health<\/a><\/noindex>\u00bb, que fornece notifica\u00e7\u00f5es quando ocorrem problemas com a interface de rede;\n<\/ul>\n<li class=\"l\"> <b>Mem\u00f3ria e servi\u00e7os do sistema<\/b>\n<ul>\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/torvalds\/c\/a9dce6679d736cb3d612af39bab9f31f8db66f9b\">Implementado<\/a><\/noindex> entrega segura de sinais, levando em considera\u00e7\u00e3o a possibilidade de reutiliza\u00e7\u00e3o do PID. Por exemplo, ao executar uma chamada kill, anteriormente poderia ocorrer uma situa\u00e7\u00e3o em que, logo ap\u00f3s o envio do sinal, o PID-alvo poderia ter sido liberado devido \u00e0 finaliza\u00e7\u00e3o de um processo e ocupado por outro processo, resultando assim no envio do sinal para um processo diferente. Para evitar tais situa\u00e7\u00f5es, foi adicionado uma nova chamada de sistema pidfd_send_signal, que utiliza descritores de arquivo de \/proc\/pid para garantir uma liga\u00e7\u00e3o est\u00e1vel ao processo. Mesmo que o PID seja reutilizado durante o processamento da chamada de sistema, o descritor de arquivo n\u00e3o mudar\u00e1 e pode ser usado com seguran\u00e7a para enviar um sinal ao processo;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/lwn.net\/Articles\/777212\/\">Adicionada<\/a><\/noindex> a capacidade de usar dispositivos de mem\u00f3ria persistente (memory-persistent, por exemplo, <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/NVDIMM\">NVDIMM<\/a><\/noindex>) como RAM. At\u00e9 agora, dispositivos semelhantes no n\u00facleo eram suportados como dispositivos de armazenamento, mas agora tamb\u00e9m podem ser usados como mem\u00f3ria RAM adicional. Essa possibilidade foi implementada em resposta ao desejo dos usu\u00e1rios que est\u00e3o dispostos a aceitar a queda de desempenho e preferem utilizar a API de gerenciamento de mem\u00f3ria do n\u00facleo Linux em vez de sistemas de aloca\u00e7\u00e3o de mem\u00f3ria no espa\u00e7o do usu\u00e1rio, que funcionam sobre mmap para arquivos dax;\n<li class=\"l\"> Adicionado um novo manipulador de inatividade da CPU (cpuidle, que determina quando a CPU pode ser colocada em modos de economia de energia mais profundos; quanto mais profundo o modo \u2014 maior a economia, mas mais tempo leva para sair do modo) \u2014 TEO (Governador Orientado a Eventos de Temporizador). At\u00e9 agora, foram oferecidos dois manipuladores cpuidle \u2014 \u00abmenu\u00bb e \u00abladder\u00bb, que diferem em heur\u00edsticas. O manipulador \u00abmenu\u00bb possui problemas conhecidos na tomada de decis\u00f5es heur\u00edsticas, para os quais foi decidido preparar um novo manipulador. O TEO \u00e9 posicionado como uma alternativa ao manipulador \u00abmenu\u00bb, permitindo alcan\u00e7ar melhor desempenho mantendo o mesmo n\u00edvel de consumo de energia.<br \/>\n\u00c9 poss\u00edvel ativar o novo manipulador usando o par\u00e2metro de inicializa\u00e7\u00e3o \u00abcpuidle.governor=teo\u00bb;<\/p>\n<li class=\"l\"> No \u00e2mbito do trabalho para resolver <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_2038_%D0%B3%D0%BE%D0%B4%D0%B0\">o problema do ano 2038<\/a><\/noindex>, causado pelo estouro do tipo de 32 bits time_t, foram inclu\u00eddas chamadas de sistema que oferecem contadores de tempo de 64 bits para arquiteturas de 32 bits. Como resultado, a estrutura time_t de 64 bits agora pode ser aplicada em todas as arquiteturas. Mudan\u00e7as an\u00e1logas tamb\u00e9m foram implementadas no subsistema de rede para op\u00e7\u00f5es <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kernel.org\/doc\/Documentation\/networking\/timestamping.txt\">timestamp<\/a><\/noindex>  de sockets de rede;\n<li class=\"l\"> No sistema de patching ao vivo do n\u00facleo. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/tree\/Documentation\/livepatch\/cumulative-patches.txt?id=c4e6874f2a2965e932f4a5cf2631bc6024e55021\">foi adicionada<\/a><\/noindex> capacidade \u00abAtomic Replace\u00bb para aplica\u00e7\u00e3o at\u00f4mica de uma s\u00e9rie de mudan\u00e7as a uma fun\u00e7\u00e3o. Essa capacidade permite distribuir patches resumidos que abrangem v\u00e1rias mudan\u00e7as de uma vez, em vez do processo bastante complicado de aplicar patches ao vivo em uma ordem estrita e espec\u00edfica. Se anteriormente cada mudan\u00e7a subsequente precisava se basear no estado da fun\u00e7\u00e3o ap\u00f3s a \u00faltima altera\u00e7\u00e3o, agora \u00e9 poss\u00edvel disseminar v\u00e1rias mudan\u00e7as vinculadas a um \u00fanico estado inicial (ou seja, os mantenedores podem manter um \u00fanico patch resumido em rela\u00e7\u00e3o ao n\u00facleo base em vez de uma cadeia de patches interdependentes);\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=eac616557050737a8d6ef6fe0322d0980ff0ffde\">Anunciada<\/a><\/noindex> obsoleta a suportar o formato de arquivos execut\u00e1veis a.out e<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=08300f4402abc0eb3bc9c91b27a529836710d32d\">remover<\/a><\/noindex> o c\u00f3digo para gerar arquivos core no formato a.out, que est\u00e1 em estado abandonado. O formato a.out n\u00e3o \u00e9 mais utilizado em sistemas com Linux, e a gera\u00e7\u00e3o de arquivos a.out j\u00e1 n\u00e3o \u00e9 suportada pelas ferramentas modernas em configura\u00e7\u00f5es padr\u00e3o para Linux. Al\u00e9m disso, o carregador para arquivos a.out pode ser implementado inteiramente no espa\u00e7o do usu\u00e1rio;<\/p>\n<li class=\"l\"> No mecanismo de verifica\u00e7\u00e3o de programas BPF, foi adicionada a capacidade de identificar e remover c\u00f3digo n\u00e3o utilizado. Tamb\u00e9m foram inclu\u00eddos patches no n\u00facleo com suporte a spinlock para o subsistema BPF, que oferecem novas capacidades para gerenciar a execu\u00e7\u00e3o paralela de programas BPF;\n<\/ul>\n<li class=\"l\"> <b>Hardware<\/b>\n<ul>\n<li class=\"l\"> No driver Nouveau <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=eeaf06ac1a5584e41cf289f8351e446bb131374b\">foi adicionada<\/a><\/noindex> suporte \u00e0 gest\u00e3o de mem\u00f3ria heterog\u00eanea, proporcionando a capacidade de CPU e GPU acessarem \u00e1reas de mem\u00f3ria sincronizadas compartilhadas. O sistema de mem\u00f3ria virtual compartilhada (SVM, shared virtual memory) \u00e9 implementado com base no subsistema HMM (Heterogeneous memory management), permitindo o uso de dispositivos com suas pr\u00f3prias unidades de gerenciamento de mem\u00f3ria (MMU, memory management unit), que podem acessar a mem\u00f3ria principal. Inclusive, com 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. O suporte a SVM est\u00e1 atualmente habilitado somente para GPUs da fam\u00edlia Pascal, embora tamb\u00e9m haja suporte para GPUs Volta e Turing. Al\u00e9m disso, no Nouveau <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=f180bf12ac061f093abb9247505f661817973cae\">o sinalizador -k para integra\u00e7\u00e3o com<\/a><\/noindex> novo ioctl para gerenciar a migra\u00e7\u00e3o de \u00e1reas de mem\u00f3ria de processos para a mem\u00f3ria da GPU;\n<li class=\"l\"> No driver DRM da Intel para GPU Skylake e mais recente (gen9+) <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7360c9f6b857e22a48e545f4e99c79630994e932\">incluso<\/a><\/noindex> o modo fastboot \u00e9 padr\u00e3o, excluindo mudan\u00e7as desnecess\u00e1rias de modo durante a inicializa\u00e7\u00e3o. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=5e0f5a58b167fc2c8352d90c0faa8c0c9ca75c26\">Adicionados<\/a><\/noindex> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/linus\/03ca3cf8e9aa7549e6c398462af0f68bdd43e7fe\">novos<\/a><\/noindex> identificadores de dispositivos com base nas microarquiteturas Coffelake e Ice Lake. Para os chips Coffelake <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=c3b5a8430daadf5b8ec9757d6c81149903cbe99f\">foi adicionada<\/a><\/noindex> suporte a GVT (<noindex><a rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=41187\">virtualiza\u00e7\u00e3o de GPU<\/a><\/noindex>). Para GPUs virtuais <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=39c68e87bc50a71bcfe93582d9b0673ef30db418\">s\u00e3o implementadas<\/a><\/noindex> suporte a VFIO EDID. Para pain\u00e9is LCD MIPI\/DSI <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=7b5618f4b834330a052958db934c3dffad4a15c2\">foi adicionada<\/a><\/noindex> suporte a elementos ACPI\/PMIC. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=a0ff6779c75fe86a66b8c2eb439a40a12139eb02\">Implementados<\/a><\/noindex> novos modos de TV 1080p30\/50\/60;\n<li class=\"l\"> O driver amdgpu adicionou suporte para GPU Vega10\/20 BACO. Foram implementados recursos de gerenciamento de energia para Vega 10\/20 e tabelas de controle de ventilador para Vega 10. Novos identificadores PCI de dispositivos para GPU Picasso foram adicionados. <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=67dd1a36334ffce82bebeb2d633e152aa436d370\">Adicionado<\/a><\/noindex> interface de gest\u00e3o de depend\u00eancias planejadas para evitar deadlocks;\n<li class=\"l\"> <noindex><a rel=\"nofollow\" href=\"https:\/\/git.kernel.org\/pub\/scm\/linux\/kernel\/git\/torvalds\/linux.git\/commit\/?id=557c37360eca864eba692be7b7b72ec937b330af\">Adicionado<\/a><\/noindex> driver DRM\/KMS para aceleradores de opera\u00e7\u00f5es de tela <noindex><a rel=\"nofollow\" href=\"https:\/\/community.arm.com\/developer\/tools-software\/graphics\/b\/blog\/posts\/mali-d71-and-the-next-generation-display-solution\">ARM Komeda<\/a><\/noindex> (Mali D71);\n<li class=\"l\"> Suporte adicionado para pain\u00e9is de tela Toppoly TPG110, Sitronix ST7701, PDA 91-00156-A0, LeMaker BL035-RGB-002 3.5 e Kingdisplay kd097d04;\n<li class=\"l\"> Suporte adicionado para codecs de \u00e1udio Rockchip RK3328, Cirrus Logic CS4341 e CS35L36, MediaTek MT6358, Qualcomm WCD9335 e Ingenic JZ4725B, al\u00e9m da plataforma de \u00e1udio Mediatek MT8183;\n<li class=\"l\"> Suporte adicionado para controladores NAND Flash STMicroelectronics FMC2, Amlogic Meson;\n<li class=\"l\"> Suporte adicionado para aceleradores para sistemas de hardware Habana AI;\n<li class=\"l\"> Suporte adicionado para controladores Ethernet de gigabit NXP ENETC e interfaces sem fio MediaTek MT7603E (PCIe) e MT76x8.\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\/\">n\u00facleo totalmente livre 5.1<\/a><\/noindex> \u2014 <noindex><a rel=\"nofollow\" href=\"http:\/\/linux-libre.fsfla.org\/pub\/linux-libre\/releases\/5.1-gnu\/\">Linux-libre 5.1-gnu<\/a><\/noindex>, limpo 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 restrita pelo fabricante. No novo lan\u00e7amento, o carregamento de blobs nos drivers mt7603 e goya foi desativado. O c\u00f3digo de limpeza de blobs em drivers e subsistemas wilc1000, iwlwifi, soc-acpi-intel, brcmfmac, mwifiex, btmrvl, btmtk e touchscreen_dmi foi atualizado. A limpeza de blobs no carregador de firmware lantiq xrx200 foi interrompida devido \u00e0 sua remo\u00e7\u00e3o do n\u00facleo.<\/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=50631\">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.1. \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 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u0432\u0432\u043e\u0434\u0430\/\u0432\u044b\u0432\u043e\u0434\u0430 io_uring, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f NVDIMM \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u041e\u0417\u0423, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0432 Nouveau \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u043c\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0424\u0421 \u0447\u0435\u0440\u0435\u0437 fanotify, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 \u0441\u0436\u0430\u0442\u0438\u044f Zstd \u0432 Btrfs, \u043d\u043e\u0432\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a cpuidle TEO, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 [&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-33056","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-1\" \/>\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.1 | 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-1\" \/>\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-31T18:50:30+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:50:30+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.1 | 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-1","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.1 | 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-1","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-31T18:50:30+00:00","article:modified_time":"2019-10-31T18:50:30+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"33056","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-21 13:47:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:47:29","updated":"2026-01-21 13:47:19","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\/33056","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=33056"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/33056\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=33056"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=33056"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=33056"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}