Autor: Thorsten Leemhuis (Copyright (c) 2012 Heise Media UK Ltd.)
Traduzido: Marcelo Soares Souza (Dúvidas e melhorias na tradução envie por E-mail)
Originalmente: http://h-online.com/-1708541
O Kernel do Linux versão 3.6, esperado para ser lançado em uma ou duas semanas, pode colocar dispositivos PCIe no "deep sleep states" "D3cold"; isto é suportado por alguns computadores moderno e permite o desligamento completo de dispositivos PCIe (1[1], 2[2], 3[3]). O subsistema Libata[4] pode colocar portas ATA neste mesmo estado de economia de energia; esta é a base para o código que esta sendo preparado[5], para versões futuras do kernel, e que provera suporte ao "deep sleep states" em drivers óticos, uma tecnologia que é chamada ZPODD (Zero-Power Optical Disk Drive).
O driver intel_idle pode agora controlar[6] acessos ao "sleep state" na geração atual de processadores Intel Ivy Bridge; isto pode ser relevante[7] quando um firmware do sistema não suporta os "sleep states" muito bem. Em adição ao Linux 3.6, a ferramenta turbostat que é incluída com o kernel e provê analise de uso do turbo e dos sleep states de processadores modernos foi exaustivamente revisado[8] para corrigir vários problemas e aprimorar o suporte a processadores mais novos.
Virtualização
Outra adição ao Kernel[9] é o Grupo IOMMU[10] que melhora o isolamento de dispositivos PCI e PCIe usando as tecnologias de virtualização de E/S tais como a AMD-Vi[11] e Intel VT-d[12]. A funcionalidade de Grupo IOMMU é também base para o VFIO[13] (Virtual Function I/O), framework para drivers do userspace (1[14], 2[15], 3[16]); principalmente para o KVM, esta funcionalidade é projetada para trocas, através de dispositivos PCI e PCIe, para o sistemas virtuais convidados (guests), permitindo a estes acessarem estes dispositivos com baixa latência e alta taxa de transferência de dados, e sem risco para o sistema host. Detalhes sobre o VFIO estão disponíveis na documentação[17] e no artigo no LWN.net[18]. Extensões que provêm VFIO via QEMU ainda estão em desenvolvimento[19].
O KVM agora inclui várias modificações que reduzem a carga de trabalho (workload) para a manipulação de interrupção e portanto aumenta a performance (1[20], 2[21], 3[22]). Xen agora suporta[23] o registro de erros nas máquinas usando o mcelog. Uma nova interface do sysfs[24] também permite aos convidados Xen (Xen guests) se desvincularem de núcleos do processador, o que pode ser relevante em termos de gerenciamento/economia de energia.
Plataformas
Com os processadores Intel Nehalem e Sandy Bridge EP, a infraestrutura perf agora oferece informações de performance e sobre o comportamento de outras áreas além do núcleo do processador, o que inclui o controlador de memória e o cache L3 (1[26], 2[27]). Ingo Molnar resume vários outras novas funcionalidades do perf e de suas ferramentas associadas em um email[28] com sua requisição de git pull para este subsistema.
Os desenvolvedores fizeram varias otimizações especificamente para processadores para um grande número de drivers do crypto; em sistemas x86-64, por exemplo, os módulos para os algorítimos Serpent e Twofish podem acessar as instruções AVX, o que em certos casos trabalham muito mais rapidamente do que o código anterior, como demonstrado em testes realizados (1[29], 2[30]).
O código ARM agora suporta os SoCs Marvell Armada XP e Armada 370[31] assim como a plataforma Altera[32] com o núcleo Coretex A9; o kernel agora pode endereçar o SoC OMAP5 da Texas Instruments (1[33], 2[34], 3[35], 4[36], 5[37]).
O código do MIPS agora suporta o Loongson 1B (1[38], 2[39]).
Links deste artigo
[1] http://git.kernel.org/linus/448bd857d48e69b33ef323739dc6d8ca20d4cda7
[2] http://git.kernel.org/linus/71a83bd727cc31c5fe960c3758cb396267ff710e
[3] http://git.kernel.org/linus/4f9c1397e2e80e52b17ec4e39760caa807bd15c7
[4] http://git.kernel.org/linus/3bd46600a7a7e938c54df8cdbac9910668c7dfb0
[5] http://thread.gmane.org/gmane.linux.acpi.devel/55479
[6] http://git.kernel.org/linus/6edab08c24f9141d69cfa4683a0a027d86ab303e
[7] http://lwn.net/Articles/390427/
[8] http://git.kernel.org/linus/c98d5d9444732a032bc55d1a496bfa8439da9199
[9] http://git.kernel.org/linus/d72e31c9374627068df29da8085ca18c92ae35d3
[10] http://thread.gmane.org/gmane.linux.kernel.iommu/1006
[11] http://git.kernel.org/linus/9dcd61303af862c279df86aa97fde7ce371be774
[12] http://git.kernel.org/linus/abdfdde2534c48d7a761fc437ad3d840a5947dbc
[13] http://thread.gmane.org/gmane.linux.kernel.iommu/1009
[14] http://git.kernel.org/linus/cba3345cc494ad286ca8823f44b2c16cae496679
[15] http://git.kernel.org/linus/89e1f7d4c66d85f42c3d52ea3866eb10cadf6153
[16] http://git.kernel.org/linus/73fa0d10d077d9521ee2dace2307ae2c9a965336
[17] http://git.kernel.org/linus/4a5b2a20ec87384eeb19e70991e7e15a00cad87b
[18] https://lwn.net/Articles/474088/
[19] http://thread.gmane.org/gmane.comp.emulators.qemu/165451/
[20] http://git.kernel.org/linus/ae7a2a3fb6f8b784c2752863f4f1f20c656f76fb
[21] http://git.kernel.org/linus/ab9cf4996bb989983e73da894b8dd0239aa2c3c2
[22] http://git.kernel.org/linus/c1af87dc96cd0f8f17694d0cd9be01b80b2c7a6a
[23] http://git.kernel.org/linus/cef12ee52b054282461a6d5fe7742755fa6e3bd3
[24] http://git.kernel.org/linus/f65c9bb3fb725551d3e405f4d092caf24929cebe
[25] http://thread.gmane.org/gmane.linux.kernel/1359526
[26] http://git.kernel.org/linus/087bfbb032691262f2f7d52b910652450c5554b8
[27] http://git.kernel.org/linus/7c94ee2e0917b2ea56498bff939c8aa55da27207
[28] http://thread.gmane.org/gmane.linux.kernel/1331342
[29] http://git.kernel.org/linus/7efe4076725aeb01722445b56613681aa492c8d6
[30] http://git.kernel.org/linus/107778b592576c0c8e8d2ca7a2aa5415a4908223
[31] http://git.kernel.org/linus/9ae6f740b49f933eeff972a79fd2a8b7e4592cf5
[32] http://git.kernel.org/linus/66314223aa5e862c9d1d068cb7186b4fd58ebeaa
[33] http://git.kernel.org/linus/35eb429875cedb6689ccd0c4d11cf219f07e0a9d
[34] http://git.kernel.org/linus/0c1b6fac9416a4b662f5b23572729120b7ae8074
[35] http://git.kernel.org/linus/283f708ca846903ee045e9f9374d627f7b47a711
[36] http://git.kernel.org/linus/6b5de091213cc305d9db4c55819ac9e8270f68cf
[37] http://git.kernel.org/linus/05e152c76a1efaa3165afecf5acf535c8283f386
[38] http://git.kernel.org/linus/ca585cf9fb818bfcfcac6968c2b242dcd0693b08
[39] http://git.kernel.org/linus/2fa36399e63c911134f28b6878aada9b395c4209
Em breve no Kernel Linux 3.6 - Parte 3 - Arquitetura
17 de Setembro de 2012, 0:00 - | Ninguém está seguindo este artigo ainda.
Visualizado 247 vezes