The error message 'NMI watchdog failed to create perf event...' does not make it clear that this is a fatal error for the watchdog. It also currently prints the error value as a pointer, rather than extracting the error code with PTR_ERR(). Fix that. Add a note to the description of the 'nowatchdog' kernel parameter to associate it with this message.
Unified · Split
| @@ -1759,7 +1759,7 @@ and is between 256 and 4096 characters. It is defined in the file · 1758 unmodified lines | ||
| 1759 | 1759 | |
| 1760 | 1760 | nousb [USB] Disable the USB subsystem |
| 1761 | 1761 | |
| 1762 | − nowatchdog [KNL] Disable the lockup detector. | |
| 1762 | + nowatchdog [KNL] Disable the lockup detector (NMI watchdog). | |
| 1763 | 1763 | |
| 1764 | 1764 | nowb [ARM] |
| 1765 | 1765 | |
| @@ -364,7 +364,8 @@ static int watchdog_nmi_enable(int cpu) · 363 unmodified lines | ||
| 364 | 364 | goto out_save; |
| 365 | 365 | } |
| 366 | 366 | |
| 367 | − printk(KERN_ERR "NMI watchdog failed to create perf event on cpu%i: %p\n", cpu, event); | |
| 367 | + printk(KERN_ERR "NMI watchdog disabled for cpu%i: unable to create perf event: %ld\n", | |
| 368 | + cpu, PTR_ERR(event)); | |
| 368 | 369 | return PTR_ERR(event); |
| 369 | 370 | |
| 370 | 371 | /* success path */ |