Por que o systemd * não * tem '/ dev / dri /…' aberto?

2

Neste momento, meu sistema está fazendo E / S de disco quando eu alterno de um console de texto no tty6 para o GNOME no tty3. 1,4 GB de swap está em uso.

Em tty6, executei sudo lsof -p 1 | grep dev , para verificar se era um problema semelhante a " O que poderia estar usando 6GB do meu swap? ". Com base nas informações de segundo plano, esperaria que o PID 1 tivesse descritores de arquivos abertos para /dev/dri/... . Mas não tem nenhum!

O mesmo é verdade quando eu corri o comando de tty3. A saída é diferente, já que agora inclui descritores de arquivos abertos para /dev/input/... .

Estes resultados são repetíveis, se eu voltar para o tty3 e tentar novamente, etc.

N.B. Este é o código que eu toquei no upstream do systemd, então pode ser minha culpa: -). Olhando para o systemd git commit mensagens para src/login , não consigo encontrar uma mudança deliberada neste comportamento .

Eu tenho uma VM para cada um dos Fedora 27 e Fedora 28. Eles

O Fedora 27 parece ok quando eu inicio e executo lsof no console serial. No entanto, na VM do Fedora 28, se eu executar chvt 6 , o mesmo problema será exibido.

EDIT: esta aparente regressão desaparece se eu definir o SELinux como "permissivo" (as violações de política são registradas, mas permitidas). Eu enviei isso como um problema no Fedora. O SELinux interfere no código de reinicialização do systemd-logind

Isto não acontece na VM do Fedora 27 com

  • systemd-234-10.git5f8984e.fc27.x86_64
  • gnome-shell-3.26.2-5.fc27.x86_64
por sourcejedi 12.05.2018 / 11:03

1 resposta

2

Acho que o switch VT fez com que o gnome-shell liberasse dispositivos de entrada (método ReleaseDevice no logind dbus API). Isso faz com que o logind remova o FD do dispositivo.

Portanto, é mais provável que isso seja afetado pelo problema # 8344 "session_device_free (sd) também descarta todos outros fds do dispositivo daquela sessão ". Uma correção é mesclada para o systemd v239.

Confirmei isso testando uma versão de pré-lançamento do systemd, que incluía a correção.

... to check if it was a similar issue to "What could be using 6GB of my swap?"

Muito possivelmente. A correção para isso também é mesclada para v239 e, portanto, não está presente em systemd-238-7.fc28.1.x86_64 .

    
por 14.05.2018 / 17:50