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 04C5FA54A; Sun, 30 Aug 2026 06:45:38 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id 10978A4F1; Sun, 30 Aug 2026 06:45:35 +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-yw1-x1136.google.com (mail-yw1-x1136.google.com [IPv6:2607:f8b0:4864:20::1136]) by atuin.qyliss.net (Postfix) with ESMTPS id 59FCEA4E6 for ; Sun, 30 Aug 2026 06:45:34 +0000 (UTC) Received: by mail-yw1-x1136.google.com with SMTP id 00721157ae682-836c4474028so30775337b3.0 for ; Sat, 29 Aug 2026 23:45:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788072333; x=1788677133; 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=9SXsNp1Gu3xJy1ga+wzZLIaPzFoGb4piCfwiD4vPxTM=; b=nWbj4d6Z8vP6KN/pKcSNTRkKLbD8M5dXdztObdMtAIfMfEv6rNkPRjyqPVKALPI6xi atG9LERMn4cVJBc7Ll3jr0Ugs5BlLjsASznbuWu3zMfnmSF2hbIlfr8YMBY282uAWN/7 vg93wdO/zXRuJpaiWGtnR2+QV97KzgHzo8NPOgT7hJrhYu5eGxyrgLANbXMiaFQRcpQB DvY99+5yPuvs8Xqzs89ltKko5UnN3ARSummkrPVrG/TDYARHyB2yPLTB1aKEVwepvrfV BWPoaZfXC1QU4qcjxISCcdrTeGZG27VeAaPyydjanGwSIc4qgxK3c9gvwBz6RYCV/OaX vFbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788072333; x=1788677133; 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=9SXsNp1Gu3xJy1ga+wzZLIaPzFoGb4piCfwiD4vPxTM=; b=ouS1l6KuvXjlhlDowgqxhEB/qvBTgjt1nrPdsHzHtKlBluMyVvOeyWqmeKFuO2fUGj G7y9vMcn/6bujcw064nXxMx8yAxSeHK3Z3rNmbhNUj0nmEn77uNh8MjyWkXbTA3QTATe 2DkBGq/L249H+TN9pTtZBnQg4/dMF5Ubi2eLVwOjBAPLXQyXux+mTw+NYs06wH3tg2i4 EJ31gDYE+UUeAGQUcNb+TFiTDmIdj3bB/zB/hGlXrTP+vWtX2pwUsgj2MSahrOsYKFKg 7UDI1otDIEREvPCn7xtyPt+go4J8xl0DodRUpLsbx0A5H0LLLTQRKeW5tGhcOFxENO7f g9Fg== X-Gm-Message-State: AFuF++kepDz2ZMKg+FlH1C83CSIj5STnWb0vzxM6TUFdXVkgVMu7cpU8 wlSs8J6vVzex3fG2nEL1ZkppnP7f+Z9V+0Kcr4cACo3cKccyM2fFGDz8+DhD6g== X-Gm-Gg: AYBFou2ZEDKNg+lgqsKNTiCFsM0pRc0aIr1NyJAafGCTs43N43l9IzI4By9l1U2sKKJ fv0JFMwQzzrWywRsLYDerLFWOpyE4tj2CKiqIWxn3Lc8+6pgwxy43OK9Jxg9AHufrLzxdOzdjmu E1RUUqNrXuOrFarHirqg5GqlKCgy5xlhS/PCHdIvd6xRyKyazD7HAooi3qkfVB5Q/K8ljB1QzbO CEmcfZsLt6Ih/t3dfuAeceg743VKEVwYOs46YEl5bn8TC5q4vxYvtCpRyzxJs2QRUR99aB5GgDK aUP3bSJK7P9Lis/An7ABbgaqlF3qIHFATgjKskg9MXbQOJXJzVGKp36fmHVgp1wHCyzluT9vTxo Pwwz/v3txcSbGH4pamw5hCNScyzhLf+JqMxUO2WadmuId/VGlamUmBepd0FEn5BfyOFzSN3T57L TjvtCcc5xeOsocYJm4wDhDhYYjIp8LetQboHlxfNVN0iVdsWSD9b1laBrxicjr601y79CmEOrGX w== X-Received: by 2002:a05:690c:c619:b0:854:d9d0:467b with SMTP id 00721157ae682-85d6cfc160fmr56118047b3.22.1788072333130; Sat, 29 Aug 2026 23:45:33 -0700 (PDT) Received: from localhost.localdomain ([185.98.168.14]) by smtp.gmail.com with UTF8SMTPSA id 00721157ae682-85e5ed18577sm30251047b3.12.2026.08.29.23.45.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 29 Aug 2026 23:45:31 -0700 (PDT) From: Demi Marie Obenour Date: Sun, 30 Aug 2026 02:06:45 -0400 Subject: [PATCH v8 11/18] 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: <20260830-cgroups-v8-11-239b09ba7013@gmail.com> References: <20260830-cgroups-v8-0-239b09ba7013@gmail.com> In-Reply-To: <20260830-cgroups-v8-0-239b09ba7013@gmail.com> To: Spectrum OS Development X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1788069995; l=3218; i=demiobenour@gmail.com; s=20250729; h=from:subject:message-id; bh=MJqRtaaeg9DzrRCwqBE5TU6CXKN8jlGBubtvtQya0pc=; b=CUGWGbl2cD0eWW/Af7/aW2MSI+azzGL/MiTCaZMbwyQ9WYdE6tdtPmt3x14MqX2h3XbLlYWBf Rn+nzaFG7sHA2ugxKHd78Xdagc4Eis3z/A/wcu6RBXdWebcgTN4DSKs X-Developer-Key: i=demiobenour@gmail.com; a=ed25519; pk=X57Q4/YQDj9t4SBeKaDwvXYKB6quZJVx/DE2Ly2out0= Message-ID-Hash: D434UIIURR5DILISYSOKXDOXZPKKGRVH X-Message-ID-Hash: D434UIIURR5DILISYSOKXDOXZPKKGRVH 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 + .../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 ++++- 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/host/rootfs/file-list.mk b/host/rootfs/file-list.mk index 36f508962c0515b2132aa9ab30cde929e2de100e..5f7b0c3fc1d7d7f8dc184ecc991126a793e316c6 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/vmm/template/finish b/host/rootfs/image/etc/s6-linux-init/run-image/service/vmm/template/finish new file mode 100755 index 0000000000000000000000000000000000000000..e316407f3a9cdee6961191480c5cab124254be02 --- /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-FileCopyrightText: 2026 Demi Marie Obenour +# SPDX-License-Identifier: EUPL-1.2+ + +cgroup-purge /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..e5b7ca887abaed5185d76cf0e5f43a0f7f885d6c 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 /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