HomeFreeBSD

Allow minidumps to be performed on the live system

Description

Allow minidumps to be performed on the live system

Add a boolean parameter to minidumpsys(), to indicate a live dump. When
requested, take a snapshot of important global state, and pass this to
the machine-dependent minidump function. For now this includes the
kernel message buffer, and the bitset of pages to be dumped. Beyond
this, we don't take much action to protect the integrity of the dump
from changes in the running system.

A new function msgbuf_duplicate() is added for snapshotting the message
buffer. msgbuf_copy() is insufficient for this purpose since it marks
any new characters it finds as read.

For now, nothing can actually trigger a live minidump. A future patch
will add the mechanism for this. For simplicity and safety, live dumps
are disallowed for mips.

Reviewed by: markj, jhb
MFC after: 2 weeks
Sponsored by: Juniper Networks, Inc.
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D31993

Details

Provenance
mhorneAuthored on Nov 17 2021, 3:35 PM
Reviewer
markj
Differential Revision
D31993: Allow minidumps to be performed on the live system
Parents
rG10fe6f80a6c8: minidump: Use the provided dump bitset
Branches
Unknown
Tags
Unknown