[RISOLTO] Ibernazione, tlp e NMI Watchdog

Discussioni sulla compatibilità dell'Hardware con linux, Drivers, ...

[RISOLTO] Ibernazione, tlp e NMI Watchdog

Messaggioda Lioce » 22/05/2018, 0:28

Stretch con kernel 4.9.88-1+deb9u1 su di un laptop con SSD e cpu Intel i5-7200U. Per la gestione del risparmio energetico uso tlp che disabilita nmi watchdog.

Codice: Seleziona tutto
$ cat /etc/default/tlp | grep -i watchdog
# Kernel NMI Watchdog:
NMI_WATCHDOG=0


Se iberno il sistema, al risveglio ricevo questo avviso:

Codice: Seleziona tutto
Message from syslogd@nome-host at May 21 22:22:44 ...
 kernel:[ 1339.883216] Uhhuh. NMI received for unknown reason 2c on CPU 0.

Message from syslogd@nome-host at May 21 22:22:44 ...
 kernel:[ 1339.883220] Do you have a strange power saving mode enabled?

Message from syslogd@nome-host at May 21 22:22:44 ...
 kernel:[ 1339.883221] Dazed and confused, but trying to continue


E infatti:

Codice: Seleziona tutto
$ cat /proc/interrupts | grep NMI
 NMI:          1          0          0          0   Non-maskable interrupts


Succede sia con alimentazione via cavo che con quella a batteria; a volte subto dopo il login, altre volte dopo un po'.
La sospensione su ram, invece, non mi dà nessun problema.
In realtà non noto malfunzionamenti, a parte il fatto che se la notifica mi arriva quando ho il terminale aperto non mi restituisce il prompt dei comandi.

Ho trovato in rete moltissime segnalazioni di questo problema ma nessuna soluzione.

Devo ignorare l'avviso?

Che cosa significa *esattamente* il "2c" ricevuto da NMI?

Allego un log che va dall'inizio dell'ibernazione fino all'avviso di NMI. Ho omesso gran parte dei messaggi che riguardano NetworkManager e wpa_supplicant.

Grazie
Allegati
watchdog-ibernazione-log.txt.xz
(4 KiB) Scaricato 31 volte
Ultima modifica di Lioce il 28/05/2018, 18:08, modificato 1 volta in totale.
Lioce
Full Member
Full Member
 
Messaggi: 140
Iscritto il: 30/03/2014, 21:17

Re: Ibernazione, tlp e NMI Watchdog

Messaggioda Aki » 27/05/2018, 16:23

Ho provato a replicare la situazione che hai descritto (senza il programma "tlp") del nmi_watchdog sul mio computer Debian Stretch (con kernel Linux debian 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux), per verificare se persiste tra una ibernazione e la successiva riattivazione dall'ibernazione:
Codice: Seleziona tutto
# cat /proc/sys/kernel/nmi_watchdog
1
# echo '0' > /proc/sys/kernel/nmi_watchdog
# cat /proc/sys/kernel/nmi_watchdog
0             
# systemctl hibernate
[.. qui il sistema entra in ibernazione e, ad ibernazione completata, lo riavvio..]
# cat /proc/sys/kernel/nmi_watchdog
0

Come puoi vedere, il valore del nmi_watchdog (disattivato) risulta persistente tra ibernazione e successivo ripristino. In tal senso, il comportamento del tuo computer è diverso da quello in cui ho eseguito il test. Questo mi lascia ipotizzare che nel tuo computer la presenza ed il comportamento del programma "tlp" (in fase di ripristino dall'ibernazione) interferisca con la configurazione del nmi_watchdog, dal momento che, come hai descritto, nella tua configurazione hai affidato la configurazione del nmi_watchdog a tlp.

Potresti provare a risolvere affidando questo aspetto della configurazione del nmi_watchdog direttamente al kernel (al momento del boot, specificando l'opportuno parametro nella configurazione del boot loader "grub") evitando che tale compito sia affidato al programma tlp e, quindi, modificandone conseguentemente la configurazione.

edit: che versione del kernel esattamente stai usando ? al momento, la mia è:
Codice: Seleziona tutto
# uname -a
Linux debian 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux
Aki
Global Moderator
Global Moderator
 
Messaggi: 8163
Iscritto il: 27/12/2007, 16:59

Re: Ibernazione, tlp e NMI Watchdog

Messaggioda Lioce » 28/05/2018, 18:06

@Aki
Grazie ai tuoi consigli ho risolto.

La versione del kernel attualmente installato è:

Codice: Seleziona tutto
$ uname -ar
Linux nome-host 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64 GNU/Linux


Il problema si è presentato con *tutte* le versioni del kernel di Stretch, unico OS presente su questo laptop da quando l'ho comprato.

Come sospettavi, è tlp a non gestire correttamente la disabilitazione di nmi_watchdog.

Infatti, dopo avere commentato nel file di configurazione di questo programma la voce:

Codice: Seleziona tutto
$ cat /etc/default/tlp | grep -i nmi
# Kernel NMI Watchdog:
#NMI_WATCHDOG=0


e avere editato /etc/default/grub nella maniera seguente (seguito, naturalmente, da un # update-grub):

Codice: Seleziona tutto
$ cat /etc/default/grub | grep -i nmi
GRUB_CMDLINE_LINUX_DEFAULT="quiet nmi_watchdog=0"


ho sempre:

Codice: Seleziona tutto
$ cat /proc/sys/kernel/nmi_watchdog
0


anche al ripristino dopo l'ibernazione.
L'avviso "Uhhuh. NMI..." non è più comparso.

Nei log di sistema ora trovo:

Codice: Seleziona tutto
[lun.28.mag.2018 root@nome-host:/home/nome-utente]# journalctl -b -0 --no-pager | grep -i watchdog
mag 28 09:02:12 nome-host kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-4.9.0-6-amd64 root=UUID=7dca6e87-f58c-4a1e-995e-a3c227d9fade ro quiet nmi_watchdog=0
mag 28 09:02:12 nome-host kernel: Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.9.0-6-amd64 root=UUID=7dca6e87-f58c-4a1e-995e-a3c227d9fade ro quiet nmi_watchdog=0
mag 28 09:02:12 nome-host kernel: iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
mag 28 09:02:13 nome-host rtkit-daemon[758]: Watchdog thread running.
[lun.28.mag.2018 root@nome-host:/home/nome-utente]#

[lun.28.mag.2018 root@nome-host:/home/nome-utente]# j ournalctl -b -0 --no-pager | grep -i wdt
mag 28 09:02:12 nome-host kernel: iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
mag 28 09:02:12 nome-host kernel: iTCO_wdt: Found a Intel PCH TCO device (Version=4, TCOBASE=0x0400)
mag 28 09:02:12 nome-host kernel: iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[lun.28.mag.2018 root@nome-host:/home/nome-utente]#

[lun.28.mag.2018 nome-utente@nome-host:~]$ cat /proc/interrupts | grep NMI
 NMI:          0          0          0          0   Non-maskable interrupts
[lun.28.mag.2018 nome-utente@nome-host:~]$


Ho già fatto alcune prove, sia con alimentazione a batteria sia con quella via cavo e la situazione rimane stabile, quindi come dicevo, il problema è risolto.
Grazie
Lioce
Full Member
Full Member
 
Messaggi: 140
Iscritto il: 30/03/2014, 21:17

Re: [RISOLTO] Ibernazione, tlp e NMI Watchdog

Messaggioda Aki » 28/05/2018, 20:26

Grazie per il riscontro. Felice di esserti stato d'aiuto.

post scriptum: segnalo a latere, ma quasi certamente lo hai già notato, che hai una versione del kernel non in linea con l'ultimo aggiornamento della Debian Stable (Strech), ma con una data di compilazione successiva a quella dell'ultima versione aggiornata. Hai ricompilato il pacchetto del kernel usando una versione antecedente agli ultimi aggiornamenti ?
Aki
Global Moderator
Global Moderator
 
Messaggi: 8163
Iscritto il: 27/12/2007, 16:59

Re: [RISOLTO] Ibernazione, tlp e NMI Watchdog

Messaggioda Lioce » 28/05/2018, 22:44

No, non ho ricompilato. È un aggiornamento di sicurezza:

Codice: Seleziona tutto
$ cat /var/log/apt/history.log

Start-Date: 2018-05-01  18:23:06
Commandline: apt-get upgrade
Upgrade: linux-libc-dev:amd64 (4.9.82-1+deb9u3, 4.9.88-1), linux-image-4.9.0-6-amd64:amd64 (4.9.82-1+deb9u3, 4.9.88-1)
End-Date: 2018-05-01  18:23:18
[…]
Start-Date: 2018-05-09  12:41:52
Commandline: apt-get upgrade
Upgrade: linux-libc-dev:amd64 (4.9.88-1, 4.9.88-1+deb9u1), linux-image-4.9.0-6-amd64:amd64 (4.9.88-1, 4.9.88-1+deb9u1)
End-Date: 2018-05-09  12:42:03
[…]


e questo è l'inizio del changelog:

Codice: Seleziona tutto
$ zcat /usr/share/doc/linux-image-4.9.0-6-amd64/changelog.Debian.gz | most

Package: linux-image-4.9.0-6-amd64 (4.9.88-1+deb9u1) [security]

linux (4.9.88-1+deb9u1) stretch-security; urgency=high

  [ Salvatore Bonaccorso ]
  * [x86] x86/entry/64: Don't use IST entry for #BP stack (CVE-2018-8897)
  * [x86] kvm: fix icebp instruction handling (CVE-2018-1087)

  [ Ben Hutchings ]
  * Revert "random: fix crng_ready() test" (Closes: #897599), reopening
    CVE-2018-1108

 -- Ben Hutchings <ben@decadent.org.uk>  Mon, 07 May 2018 23:38:25 +0100

linux (4.9.88-1) stretch-security; urgency=high

  * New upstream stable update:
    https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.9.83
    - ext4: fix a race in the ext4 shutdown path
[…]


https://packages.debian.org/stretch/linux-image-4.9.0-6-amd64

Package: linux-image-4.9.0-6-amd64 (4.9.88-1+deb9u1) [security]
Lioce
Full Member
Full Member
 
Messaggi: 140
Iscritto il: 30/03/2014, 21:17


Torna a Hardware

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti