[RFC PATCH 0/7] osdump: Add one new os minidump module

From: Ruipeng Qi
Date: Thu Dec 21 2023 - 08:06:21 EST


From: qiruipeng <qiruipeng@xxxxxxxxxxx>

Osdump is a new crash dumping solution aiming at specific embedded
devices within automotive or Industrial.
- limited memory.
- reboot as soon as possible when system fault.

In order to reduce dump file size and speed up dump process, it has the
following features:
- no userspace memory, just designed for solving os issues.
- no const data, such as text segment
- dump core os data only.
- bss, data segments which alloc static.
- dynamic data
- slub data for little size data.
- some large size data.
- compress dump data to reduce dump file size.

consist of large massive of uncontinuous data,so use binary data format
directly.

reasemble a standard elf format file with dump file and vmlinux, and
then parse it with crash tool.

Signed-off-by: qiruipeng <qiruipeng@xxxxxxxxxxx>

qiruipeng (7):
[RFC PATCH 1/7] osdump: Add one new os minidump module
[RFC PATCH 2/7] osdump: reuse some code from crash_core to get
vmcoreinfo
[RFC PATCH 3/7] doc: Add osdump guide
[RFC PATCH 4/7] dt-bindings: reserved-memory: Support osdump module
[RFC PATCH 5/7] sched: access to runqueues by function
[RFC PATCH 6/7] mm/slub: make slab data more observable
[RFC PATCH 7/7] panic: invoke osdump when panic

Documentation/admin-guide/index.rst | 1 +
Documentation/admin-guide/osdump.rst | 94 +++
.../bindings/reserved-memory/osdump.yaml | 45 ++
arch/arm64/Kconfig | 169 +++++
arch/arm64/kernel/Makefile | 1 +
drivers/of/platform.c | 1 +
include/linux/buildid.h | 3 +-
include/linux/osdump.h | 7 +
kernel/Makefile | 2 +
kernel/crash_core_mini.c | 275 ++++++++
kernel/osdump/Makefile | 1 +
kernel/osdump/compr.c | 252 ++++++++
kernel/osdump/core.c | 608 ++++++++++++++++++
kernel/osdump/extern.h | 13 +
kernel/osdump/inode.c | 77 +++
kernel/osdump/internal.h | 95 +++
kernel/panic.c | 7 +
kernel/printk/printk.c | 2 +-
kernel/sched/core.c | 8 +
lib/buildid.c | 3 +-
mm/slab.h | 2 +
mm/slub.c | 38 +-
22 files changed, 1700 insertions(+), 4 deletions(-)
create mode 100644 Documentation/admin-guide/osdump.rst
create mode 100644 Documentation/devicetree/bindings/reserved-memory/osdump.yaml
create mode 100644 include/linux/osdump.h
create mode 100644 kernel/crash_core_mini.c
create mode 100644 kernel/osdump/Makefile
create mode 100644 kernel/osdump/compr.c
create mode 100644 kernel/osdump/core.c
create mode 100644 kernel/osdump/extern.h
create mode 100644 kernel/osdump/inode.c
create mode 100644 kernel/osdump/internal.h

--
2.17.1