marimbondo
(usa Outra)
Enviado em 28/11/2019 - 17:09h
Vou responder a minha pergunta, para ficar de referência.
Parece que os bugs do Meltdown e Spectre foram primeiramente observados bem no meu processador, um Skylake.
Deve ser um Spectre extremamente violento no Skylake, para ele ser o primeiro processador que acharam essa classe de bugs...
Isso me estimula a não persseguir mais o porquê de _não_ conseguir desabilitar o hyperthreading na BIOS sem que isso me traga problemas com o servidor de X...
Intel's Skylake and Kaby Lake CPUs have nasty hyper-threading bug
https://www.theregister.co.uk/2017/06/25/intel_skylake_kaby_lake_hyperthreading/
Uma maneira de desabilitar o hyperthreading sem usar um comando de boot do kernel é com alguns "echos".
Eu testei aqui, e só consigo desabilitar o hyperthread com o método descrito abaixo na referência.
Se colocar o comando de "nosmt" pra fazer o boot do Linux, também me causa problemas..
(por exemplo, echo 0 > /sys/devices/system/cpu/cpu3/online
How to disable or enable hyper threading on my Linux server
https://www.golinuxhub.com/2018/01/how-to-disable-or-enable-hyper.html
Existe um comando de kernel para lançar para o Linux desativar o hyperthread. Antigamente, era o 'noht', mas ele foi descontinuado faz tempo.
[noht] is obsolete since at least Linux 2.6.18. The noht kernel option was removed. This is unfortunate, because Linux enables a workaround for some Haswell perf-counter errata (BJ122, BV98, HSD29) only if HT is on, and this happens before initramfs is even loaded
https://serverfault.com/questions/235825/disable-hyperthreading-from-within-linux-no-access-to-bios
Atualmente, o que se usa é o 'nosmt'.
SMT significa 'Simultaneous Multithreading' e o Hyper Threading da Intel é um tipo de SMT.
Para quem não precisa se preocupar com esses espectros e não liga para segurança nenhuma, tem um comando de kernel para desabilitar (quase) todas as mitigações que é o 'mitigations=off'.
Parametros do kernel 5.3
https://www.kernel.org/doc/html/v5.3/admin-guide/kernel-parameters.html
Para desabilitar as mitigações para kerneis abaixo de 5.1.3, veja:
https://linuxreviews.org/HOWTO_make_Linux_run_blazing_fast_(again)_on_Intel_CPUs
Desde junho de 2018 quando descobriram os Spectres, somente o povo do BSD (kernel BSD) tem se preocupado com isso.
Inclusive, no BSD, o hyperthreading foi desabilitado por padrão. Agora estão bolando uma forma fácil para reabilitar o hyperthreading quem quiser.
OpenBSD Disables Intel CPU Hyper-Threading Due to Security Concerns
https://www.bleepingcomputer.com/news/security/openbsd-disables-intel-cpu-hyper-threading-due-to-sec...
O povo do BSD foi massacrado por causa disso. Porém, somente agora recentemente o povo do Linux se deu conta que desabilitar o hyperthread é necessário.
Running on Intel? If you want security, disable hyper-threading, says Linux kernel maintainer
https://www.theregister.co.uk/2019/10/29/intel_disable_hyper_threading_linux_kernel_maintainer/
Quanto se perde com o desligamento do hyperthreading?
Teoricamente, 50% de velocidade. Porém, não é verdade que o desempenho caia.
Uma observação muito importante feita pelo mantenedor do BSD Mark Kettenis:
Note that SMT doesn't necessarily have a posive effect on performance; it highly depends on the workload. In all likelyhood it will actually slow down most workloads if you have a CPU with more than two cores.
https://www.mail-archive.com/source-changes@openbsd.org/msg99141.html
Eu prefiro um carro muito seguro do que um carro sem nenhuma segurança.
Fora isso, nada te impede de pegar um carro que parece um foguete e acelerar a mil por hora na estrada cheia de buracos da web...
RESPOSTA:
Consegui desarmar o HT da Intel e entrar no X server!
O problema era na escolha do driver gráfico para o X Server. Vai depender muito das suas configurações de processador, se tem um cartão integrado, e se tem um cartão da NVIDIA, etc.
Depois de instalados os drivers da nvidia e do bumblebee (pois tenho um cartão gráfico da NVIDIA e o integrado da Intel), e desinstalar quaisquer outros divers que não precisavam (eu havia instalado vários drivers do xorg xorg-drivers sem saber se eram necessários), consegui fazendo o seguinte:
Primeiro, não havia o arquivo /etc/X11/xorg.conf. Nos fóruns do Arch, eles falam que não precisa se preocupar em configurar o xorg.conf, "geralmente".
Há duas maneiras de se gerar um xorg.conf. A primeira é entrando como root e rodando "# Xorg :0 -configure" no TTY1.
Porém, esse arquivo gerado não funcionou no meu caso.
O que realmente resolveu foi primeiro apagar o arquivo xorg.conf gerado e depois rodar "# nvidia-xconfig" como root no TTY1. É importante desconectar os monitores externos... Depois, mudei a linha do /etc/X11/xorg.conf gerado:
Driver "nvidia"
VendorName "NVIDIA Corporation"
para:
Driver "intel"
VendorName "Intel driver"
(Re)instalei também, por via das dúvidas: xf86-video-intel, xf86-video-nouveau, xf86-input-libinput, libva-intel-driver e xf86-video-fbdev, mas não tive tempo de testar um por um para ver quais eram realmente necessários.