HSAVMCORE(8)

πŸ“¦ version 2.44.1, in opensuse-leap 16.0

πŸ’… HSAVMCORE πŸ’…

okay bestie, so this is hsavmcore from the s390-tools fam β€” a system manager's manual situation, and honestly? it's lowkey iconic. sit down, grab a strawberry πŸ“, and let me tell you about releasing HSA memory early in the dump process.

✨ NAME ✨

hsavmcore β€” the girl whose whole job is enabling kdump to release the HSA memory early in the dump process. main character energy, no cap. πŸ‘‘

✨ SYNOPSIS ✨

hsavmcore [OPTIONS]

✨ DESCRIPTION ✨

so hsavmcore is literally designed to make the dump process with kdump way more efficient. the HSA memory contains a part of the production kernel's memory β€” and the move here is to use hsavmcore to cache this information and release HSA memory early in the process. periodt.

depending on the size of the production kernel's memory, writing the dump to persistent storage can be time consuming 😭 and that can prevent the HSA memory from being reused by other LPARs. not the vibe. so the hsavmcore tool performs these steps, in order, in this exact order:

  1. Read the size of the HSA memory from /sys/kernel/debug/zcore/hsa.
  2. Cache the HSA memory content contained in /proc/vmcore either in regular memory or within the file system.
  3. Releases the HSA memory by writing to /sys/kernel/debug/zcore/hsa.

at this stage, the HSA memory region is unavailable to /proc/vmcore and cannot be used by kdump. so then what? the hsavmcore tool now combines the cached HSA memory and the non-HSA memory from the original /proc/vmcore to create a replacement for /proc/vmcore. and the replacement /proc/vmcore can be processed as usual. slay. πŸ’…


✨ OPTIONS ✨

  • -h, --help β€” print usage information and exit. classic.
  • -v, --version β€” print version information and exit.
  • -V, --verbose β€” print verbose messages to stdout. repeat this option for increased verbosity, going from just error messages to also including warning, information, debug, and trace messages. this option is intended for debugging. iykyk πŸ›
  • -c, --config CONFIGFILE β€” path to the configuration file. by default, no configuration file is used.
  • -C, --vmcore VMCOREFILE β€” path to the vmcore file. default: /proc/vmcore.
  • -H, --hsa ZCOREHSAFILE β€” path to the zcore HSA file. default: /sys/kernel/debug/zcore/hsa.
  • -W, --workdir WORKDIR β€” path to the work directory where temporary files can be stored. default: /var/crash.
  • -B, --bmvmcore VMCOREFILE β€” path to the target of the bind mount for the replacement vmcore file. default: /proc/vmcore.
  • -S, --swap PATH β€” path to a swap device or file. the specified swap device or file must exist and have the proper swap format. default: no swap device or file is activated.
  • -T, --hsasize HSASIZE β€” HSA size in bytes. used for testing purposes. default: -1 (read from the zcore HSA file).
  • -D, --dbgfsmnt β€” mount the debug file system. default: the debug file system is not mounted.
  • -F, --hsamem β€” cache the HSA memory in regular memory. default: the HSA memory is cached as a file within WORKDIR.
  • -R, --norelhsa β€” do NOT release the HSA memory after caching. default: the HSA memory is released.
  • -N, --nobindmnt β€” do NOT replace the system's vmcore file. default: the system's vmcore file is replaced.
  • -G, --fusedbg β€” enable FUSE debugging. default: FUSE debugging is disabled.

🌸 EXAMPLES 🌸

to run hsavmcore on a kdump system during a stand-alone dump with default parameters:

hsavmcore
makedumpfile -d 31 /proc/vmcore test-dump.elf

to test hsavmcore with a vmcore copy and without being in a kdump system (for debugging):

hsavmcore -VVV -T 0x1ffff000 -C vmcore-dump.elf -N -R
makedumpfile -d 31 /tmp/hsavmcore-overlay/vmcore test-dump.elf

πŸ¦‹ SEE ALSO πŸ¦‹

hsavmcore.conf(5) β€” go read it bestie, it's giving documentation excellence πŸ’–


ngl, this whole page is from s390-tools, and it's dated May 2021 β€” so if you're reading this in the future, just know the queen has been serving since then. πŸŽ€
πŸ“¦ where this page comes from