Correction and a measurement in place of the guess in the description.

The crashkernel reservation on this machine is 2,304 MiB, not 4 GiB: the system 
reports 127.3 GiB, so
the 64G-128G tier applies (2048 MB high + 256 MB low, kexec_crash_size 
2415919104).

I tested whether the crashkernel reservation drives the scratch size: three 
cold boots of the same
kernel (7.0.0-38-generic), KHO on by default, with and without crashkernel=.

  scratch_len     stock crashkernel   no crashkernel   delta
  lowmem          760 MiB             248 MiB          -512   = 2 x 256 MiB 
(crashkernel low)
  global          8,510 MiB           4,414 MiB        -4,096 = 2 x 2,048 MiB 
(crashkernel high)
  per-node        4,338 MiB           4,338 MiB        0
  total           13,608 MiB          9,000 MiB        -4,608 = 2 x 2,304 MiB

Boot log "reserved": 18,849,832K vs 11,771,924K. The difference, 6,912 MiB, is 
exactly the 2,304 MiB
crashkernel plus 4,608 MiB of scratch.

So KHO sizes scratch at 2x the early reservations and counts the crashkernel 
area, which the running
kernel never uses. With the default kdump setup, each MiB reserved for kdump 
costs 3 MiB. Without
crashkernel KHO still takes 9.0 GiB here, so disabling the default is still the 
fix. The crashkernel
effect makes it worse on any machine with kdump enabled.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2171297

Title:
  resolute: please disable CONFIG_KEXEC_HANDOVER_ENABLE_DEFAULT (as done
  for 26.10 in LP: #2169198); KHO scratch makes 13 GiB unusable for GPU
  / pinned memory

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2171297/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to