mbox series

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

Message ID 20231221130555.32551-1-ruipengqi7@gmail.com (mailing list archive)
Headers show
Series osdump: Add one new os minidump module | expand

Message

Ruipeng Qi Dec. 21, 2023, 1:05 p.m. UTC
From: qiruipeng <qiruipeng@lixiang.com>

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@lixiang.com>

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