From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from atuin.qyliss.net (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id 31DEA67F7; Wed, 22 Jul 2026 02:17:13 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id B574967D7; Wed, 22 Jul 2026 02:17:11 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on atuin.qyliss.net X-Spam-Level: X-Spam-Status: No, score=-0.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,DMARC_PASS,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=4.0.1 Received: from mail-yx1-xb12c.google.com (mail-yx1-xb12c.google.com [IPv6:2607:f8b0:4864:20::b12c]) by atuin.qyliss.net (Postfix) with ESMTPS id 275A367CB for ; Wed, 22 Jul 2026 02:17:11 +0000 (UTC) Received: by mail-yx1-xb12c.google.com with SMTP id 956f58d0204a3-6688a2dceb8so644185d50.3 for ; Tue, 21 Jul 2026 19:17:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1784686630; x=1785291430; darn=spectrum-os.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=EATnTJOeRHzzXhU4hKdO1ZiZijaVVXLBOZKhM2/uG/Y=; b=DhVt91KE0iXe2MUOUl7SnjaKieOAV5KYfCYL/fTjMOnW3RmZgyFPD6RfIJrOsReb8Z RB5gQJlisYtLPM+xATE149QIcZK6uGdeP5pD90o3IjcTDKhmd+MwSOdqv/cpBgFavL2E rskPacKxFgbF8M9tN0/szZVBbNEc/Y3ZfN4TbbMCvfJ3W58zmI7oQb7KltTPOibRgnpB diH9Wl8F+uNHGVyMvlSIVcDoTKuE6oVvF9ges9BIwPWFtZJj3QGxOLJ0RJl4iS18f9mj aKVS1lmah0QTX2iowHkUhbKepX/B1boM9+gPLlU/uP496QeSG5e5lb8Hau0Hi9GHULCc wW0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1784686630; x=1785291430; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=EATnTJOeRHzzXhU4hKdO1ZiZijaVVXLBOZKhM2/uG/Y=; b=nzAqEQS18eQY5nucUm+eDvOf2T+C43cut030lDNuddqUxsfTrytKcJZ4wxw1bl9hQN HLipFPlNUuiIkwbGIITJ6w8sOBAZIcGQpNhd8890iu9U/nc+BX0BS7ggLXk50yc8zdS6 +0HlJwh5sE1orDnZOzb/HVgyEAavpo11nFKR20GyXYwqQPU8Yea3jiG57UF3UOl1pXWi /2MFFEEYgYPz1QkzNjxu/BeH0YPxdslhTiz6LPsX23Gqf7dg1f68WNVHBcVeJNT51qdI G7v7+tsdWkd4nKJOIPzIcTlck/GSI4dP3/GXi7VGc0zY42bolBrC5UKVpoTAisDN2rIJ ye/w== X-Gm-Message-State: AOJu0YwJ3oUDQptY55skuNYJxuZCsQOsDPQ3WXOa0Jvvzbm5OgMNe3Ke BgVu1LxYCqo7M5q9OGSmyUej2E6TErp7B1HqVv62jLwjPeeTTYEj+ypzmOkg/A== X-Gm-Gg: AR+sD13DHXlwWr6yKq0s3Ot/KkiS7nXlQ5mEJf4HCtITORndECMqDzndSDa6NxVDqY+ DzUfqJ5+cr/Q5MPHqs4vdjYiGxI6K4ehf0crj/kup4aR4LMFZO9Yv3X4/cAgfLV1idp9mUeBCaE nTDXLJqWsa3sI+7UmuvgW7ZaXa+qGf7e6Z+ruBYypl2+H1sVQKGD8N+6SvL22VVdWy2EMi0nVL6 UlndH8BOhD9qwDTR/fHGvw3gGB06Nt6iRQgLoJ8q3qG6I/3pBeVN0AUi8VYhmvQMWGK5DaaViIr EXRSJbP4rAHGhzaEKSW+8d1Jj9aWMUmvix3d25KPY/1ywKRv219AfqIVXw1yxzRT8np6l5kfObA w1uYgL4x//ujwBnAYbYb5GyS/sxAYLqGlMxeDIDODZjs+a2CGOcLX1Q+fM3XpY60oLp3MU8I6xD 2BHNitFx2wUL3w6i8= X-Received: by 2002:a05:690e:4851:b0:668:90cd:8aec with SMTP id 956f58d0204a3-66890cd8e22mr227409d50.101.1784686629525; Tue, 21 Jul 2026 19:17:09 -0700 (PDT) Received: from localhost.localdomain ([185.98.168.14]) by smtp.gmail.com with UTF8SMTPSA id 956f58d0204a3-66890367063sm591501d50.0.2026.07.21.19.17.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2026 19:17:08 -0700 (PDT) From: Demi Marie Obenour Date: Tue, 21 Jul 2026 21:59:16 -0400 Subject: [PATCH v4 11/20] host/rootfs: run-vmm: Create per-VM cgroup MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260721-cgroups-v4-11-46b2e5fff7b6@gmail.com> References: <20260721-cgroups-v4-0-46b2e5fff7b6@gmail.com> In-Reply-To: <20260721-cgroups-v4-0-46b2e5fff7b6@gmail.com> To: Spectrum OS Development X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1784685545; l=4053; i=demiobenour@gmail.com; s=20250729; h=from:subject:message-id; bh=gA8p1ePJhMl8FrnXlHDZIMk2qLF8Q2ZeKcWBLePMkiU=; b=FQWFgR1PSlluqoDiDvq5bbv9iKNAemhEKugjHYV8n0RzfQCLOb8VOA8LdzplyCVDf/0FXAZba AXiOr6BzU40CFrDpmdlewANzmdS/FCWid8VS9Uvpv+5444txKnNy0MW X-Developer-Key: i=demiobenour@gmail.com; a=ed25519; pk=X57Q4/YQDj9t4SBeKaDwvXYKB6quZJVx/DE2Ly2out0= Message-ID-Hash: Q23QTFVO7XQB5DQWBBOQ564CVPDEQW57 X-Message-ID-Hash: Q23QTFVO7XQB5DQWBBOQ564CVPDEQW57 X-MailFrom: demiobenour@gmail.com X-Mailman-Rule-Hits: member-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.spectrum-os.org-0; header-match-devel.spectrum-os.org-1; header-match-devel.spectrum-os.org-2; header-match-devel.spectrum-os.org-3; header-match-devel.spectrum-os.org-4; emergency CC: Demi Marie Obenour , Alyssa Ross X-Mailman-Version: 3.3.10 Precedence: list List-Id: Patches and low-level development discussion Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Signed-off-by: Demi Marie Obenour --- host/rootfs/file-list.mk | 1 + .../etc/s6-linux-init/run-image/service/vm-services/template/finish | 4 ++-- .../image/etc/s6-linux-init/run-image/service/vmm/template/finish | 5 +++++ host/rootfs/image/usr/bin/run-vmm | 4 ++++ host/rootfs/image/usr/bin/vm-stop | 5 ++++- 5 files changed, 16 insertions(+), 3 deletions(-) diff --git a/host/rootfs/file-list.mk b/host/rootfs/file-list.mk index 498c699c459515c1c7b6139aa07a89fd904509b3..33b7f869da7dfdb8bde6c70ebd9acd5e0f2856c1 100644 --- a/host/rootfs/file-list.mk +++ b/host/rootfs/file-list.mk @@ -44,6 +44,7 @@ FILES = \ image/etc/s6-linux-init/run-image/service/vm-services/template/run \ image/etc/s6-linux-init/run-image/service/vmm/notification-fd \ image/etc/s6-linux-init/run-image/service/vmm/run \ + image/etc/s6-linux-init/run-image/service/vmm/template/finish \ image/etc/s6-linux-init/run-image/service/vmm/template/notification-fd \ image/etc/s6-linux-init/scripts/rc.init \ image/etc/s6-linux-init/scripts/rc.shutdown \ diff --git a/host/rootfs/image/etc/s6-linux-init/run-image/service/vm-services/template/finish b/host/rootfs/image/etc/s6-linux-init/run-image/service/vm-services/template/finish index 4d5b454e97c3584d0644c2d738514f13b1c53957..72d071291f5235e17b9a94c15bd2c0a287e5cbfb 100755 --- a/host/rootfs/image/etc/s6-linux-init/run-image/service/vm-services/template/finish +++ b/host/rootfs/image/etc/s6-linux-init/run-image/service/vm-services/template/finish @@ -1,5 +1,5 @@ #!/usr/bin/execlineb -WS3 -# SPDX-License-Identifier: EUPL-1.2+ # SPDX-FileCopyrightText: 2026 Demi Marie Obenour +# SPDX-License-Identifier: EUPL-1.2+ -cgroup-s6-finish $@ +cgroup-s6-finish $1 $2 /vm-services.slice/vm-${3}.slice diff --git a/host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/template/finish b/host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/template/finish new file mode 100755 index 0000000000000000000000000000000000000000..bb9647c0f4a501a83874adfba8765954438d0b11 --- /dev/null +++ b/host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/template/finish @@ -0,0 +1,5 @@ +#!/usr/bin/execlineb -WS3 +# SPDX-License-Identifier: EUPL-1.2+ +# SPDX-FileCopyrightText: 2026 Demi Marie Obenour + +cgroup-s6-finish $1 $2 /vm-services.slice/vm-${3}.slice/vmm diff --git a/host/rootfs/image/usr/bin/run-vmm b/host/rootfs/image/usr/bin/run-vmm index 6967dc5586335d999f8030371fe0f38502409919..12896c276fbffa024fa0f89f42a2967506b1cb74 100755 --- a/host/rootfs/image/usr/bin/run-vmm +++ b/host/rootfs/image/usr/bin/run-vmm @@ -5,6 +5,7 @@ if { backtick -D "" mnt { importas -Siu 1 + if { cgroup-setup --no-wait /vm-services.slice/vm-${1}.slice } nsenter --mount=/run/vm/by-id/${1}/ns/mnt findmnt -no FSTYPE,SOURCE /run/fs/${1}/disk } @@ -33,6 +34,8 @@ if { elgetpositionals +if { rm -f /run/vsock/${1}/vsock } + s6-ipcserver-socketbinder -B /run/vm/by-id/${1}/vmm getpid -E vmm_pid @@ -86,6 +89,7 @@ redirfd -r 0 /dev/null s6-softlimit -H -l 18446744073709551615 if { udevadm wait /dev/kvm } +cgroup-setup --leaf /vm-services.slice/vm-${1}.slice/vmm s6-envuidgid vmm-${1} s6-applyuidgid -Uz bwrap diff --git a/host/rootfs/image/usr/bin/vm-stop b/host/rootfs/image/usr/bin/vm-stop index 6fb6aaed46de684eb035243e4f7c79111e93bf8c..23a815c0c260452ff9b1bcce7a091519b7420196 100755 --- a/host/rootfs/image/usr/bin/vm-stop +++ b/host/rootfs/image/usr/bin/vm-stop @@ -2,4 +2,7 @@ # SPDX-License-Identifier: EUPL-1.2+ # SPDX-FileCopyrightText: 2023 Alyssa Ross -ch-remote --api-socket /run/vm/by-id/${1}/vmm shutdown +foreground { ch-remote --api-socket /run/vm/by-id/${1}/vmm shutdown } +if { cgroup-purge /vm-services.slice/vm-${1}.slice/vmm } +importas -iS ? +exit $? -- 2.55.0