[PATCH 0/3] clear_warn_once: add timed interval resetting

From: Paul Gortmaker
Date: Thu Nov 26 2020 - 01:31:13 EST


The existing clear_warn_once functionality is currently a manually
issued state reset via the file /sys/kernel/debug/clear_warn_once when
debugfs is mounted. The idea being that a developer would be running
some tests, like LTP or similar, and want to check reproducibility
without having to reboot.

But you currently can't make use of clear_warn_once unless you've got
debugfs enabled and mounted - which may not be desired by some people
in some deployment situations.

The functionality added here allows for periodic resets in addition to
the one-shot reset it already had. Then we allow for a boot-time setting
of the periodic resets so it can be used even when debugfs isn't mounted.

By having a periodic reset, we also open the door for having the various
"once" functions act as long period ratelimited messages, where a sysadmin
can pick an hour or a day reset if they are facing an issue and are
wondering "did this just happen once, or am I only being informed once?"

Tested with DEBUG_FS_ALLOW_ALL and DEBUG_FS_ALLOW_NONE on an otherwise
defconfig.

---

Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Cc: Petr Mladek <pmladek@xxxxxxxx>
Cc: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: John Ogness <john.ogness@xxxxxxxxxxxxx>

Paul Gortmaker (3):
clear_warn_once: expand debugfs to include read support
clear_warn_once: bind a timer to written reset value
clear_warn_once: add a warn_once_reset= boot parameter

.../admin-guide/clearing-warn-once.rst | 9 +++
.../admin-guide/kernel-parameters.txt | 8 ++
kernel/panic.c | 78 +++++++++++++++++--
3 files changed, 90 insertions(+), 5 deletions(-)

--
2.25.1