Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions image/mkosi.extra/usr/local/lib/spin-base/optimize-systemd.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ MASK_UNITS=(
# What masking cost was everything that needs a .device unit to exist.
#
# * serial-getty@ttyS0 carries BindsTo=dev-%i.device and could not start.
# * A hot-plugged CPU or memory block never produced an add event, so nothing could
# act on one — see 40-spin-hotadd.rules, which is the thing that acts on it.
# * A hot-plugged CPU never produced an add event, so nothing could act on one —
# see 40-spin-hotadd.rules, which is the thing that acts on it.

# Time sync - handled by host
systemd-timesyncd.service
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Bring a hot-plugged CPU or memory block online, on this machine.
# Bring a hot-plugged CPU online, on this machine.
#
# The distribution ships a rule for exactly this, 40-vm-hotadd.rules, and it does nothing
# here: it opens by checking the DMI vendor for Microsoft Hyper-V or Xen and jumps past
Expand All @@ -15,9 +15,9 @@
# reach into the guest over RPC to online each core it just attached, which is a second
# mechanism doing what the guest's own event handling does, and one that stops being
# reachable the moment the guest's init hands over to something else.
#
# Memory has no rule: the kernel onlines each block itself, because memhp_default_state=online
# is always on the command line (machine/cmdline.go). The block's add uevent leaves before the
# kernel onlines it, so a rule here reads it offline, writes after the kernel has, and udevd
# logs EINVAL for every block a workspace grows by.
SUBSYSTEM=="cpu", ACTION=="add", DEVPATH=="/devices/system/cpu/cpu[0-9]*", TEST=="online", ATTR{online}!="1", ATTR{online}="1"

# Memory arrives through virtio-mem rather than as ACPI DIMMs, and the kernel command line
# already carries memhp_default_state=online — so this is the belt to that braces: a block
# the kernel did not online for itself still gets onlined here.
SUBSYSTEM=="memory", ACTION=="add", DEVPATH=="/devices/system/memory/memory[0-9]*", TEST=="state", ATTR{state}!="online", ATTR{state}="online"
Loading