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 E36075601; Fri, 21 Aug 2026 06:54:07 +0000 (UTC) Received: by atuin.qyliss.net (Postfix, from userid 993) id B5B5554E7; Fri, 21 Aug 2026 06:54:04 +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-xb12a.google.com (mail-yx1-xb12a.google.com [IPv6:2607:f8b0:4864:20::b12a]) by atuin.qyliss.net (Postfix) with ESMTPS id 32DC254E0 for ; Fri, 21 Aug 2026 06:54:04 +0000 (UTC) Received: by mail-yx1-xb12a.google.com with SMTP id 956f58d0204a3-66c7a743cf8so852885d50.0 for ; Thu, 20 Aug 2026 23:54:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787295243; x=1787900043; 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=b56QPs4kvtwacuHHdeTS6WYxN4BbfKDTD8X52ctZYSa0N480G55ffGIIxtxbshQgHh cwx/VTFQ6Yz5q+shXGxO8MjBhH+qMYLiFOCbSzQYNIA43BkYS4+thHm2zSB5pe7nBZRG jUgi1GicONdyJDf1B1OMCdge3g4lqpRw3i6dwSkrMXgJEVa5Hn16fWwu2w/TFsG5RKGV 69Q9FdnGbGu+To4hG1P2fGq7LBiDy5cp2v/nX+RZY8dl/r0YDp6Hkm9xaE+v1eQAMSwr dEjaGdDPi6jUMyk4sOsDWdKr7PhORgGEmQdyZRZ+1+azZ6addVaKSSYAxEB9INWta31L oozg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787295243; x=1787900043; 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=l9RY1wPgD+3xb+Yxs1qIodG8b71JQDEexwkKKbzUWMvTm6oTRpo2MlHcztUvAJIGFt Yl7ry6OF+v7NMTINYBTlpamjCoQrk8vwKfP6RdArl23jlNW5AAzLl8NqD84lbCCgCq6O rLTdscJCoCj+G8D40AzaO4eeH7n4aoOgDD0yjlvHhY9gJ2jMKOu1tuhGNQ0PZZJ1P5R9 n1cB7a0t+oacJ49OKyfhpiGMcnCadTFm4U/EoHOaOP7Je5uHC/3xzt1ajL1N8P6man/R fPsGqCoWy6/dDHhg47kdQWpTTbvpYtVR9O2TDlgMUFyPanhdFxwSUC3cj58DOdpIcagI QbPw== X-Gm-Message-State: AFuF++mbDOhvQgXTblDohT7qhDFL/2dU2RRDiiTFgNdTEmapM5VtjC6R 93gQ6WWZNCOpatHtQ3z4yWy5mxGfgNP+MpyXwANr9C5xoOAUgXt1912XzT08OIPD X-Gm-Gg: AR+sD10ia1mBeipfTJgbBBDV/0jJAmXxQfEPtEo3B6vNyRLl+Dt0v5zo36kIAufiTk6 5BJUIkNciHNxIHvPszEc97icCBIMikHRbXT/Y0TMohsbYNo1g0oUUg7nRF3KT5mYWPWS29T7cUe a8RXQJ1VLV2Ea0FNYVFkKrnISv8sTVvwl4GzhmJ+jH6qGRLs1G5Ghl0eqyb7QzzNou9YRRnmE99 t73Nd86SiueomzD/wFnSOF2MYdHP05RfsTpuOWKhU/4e/swSN+Doy45IylznBpZMA0JffxzIUyK JP7XxP5Q+vXMQThG8cscbGhdoRu/579/CpkKH41Yzqh7pS+Z7N8NWuY9CXQTu1Bx0R/etXmmYu7 SxP/L6cPybbk7GlErTIwpxEgDS47oLig2wFdT8nH1VPlUktB4ZpgfyDdjpsp+lcLBGO5k/lu9zT YUapimA74SDMEaZPk0gUmCnDYBkT3ZdOHaWIKG+Ei9cVuejO1PmWQCn1IWX8XfIbqOKDuURF8G5 w== X-Received: by 2002:a53:a9d0:0:b0:668:b2a7:a1f1 with SMTP id 956f58d0204a3-66ce5b78e0amr984483d50.22.1787295242676; Thu, 20 Aug 2026 23:54:02 -0700 (PDT) Received: from localhost.localdomain ([185.98.168.14]) by smtp.gmail.com with UTF8SMTPSA id 956f58d0204a3-66ccb19dbfesm3878907d50.18.2026.08.20.23.54.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Aug 2026 23:54:01 -0700 (PDT) From: Demi Marie Obenour Date: Fri, 21 Aug 2026 02:51:55 -0400 Subject: [PATCH v7 12/19] 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: <20260821-cgroups-v7-12-7f1870dedefc@gmail.com> References: <20260821-cgroups-v7-0-7f1870dedefc@gmail.com> In-Reply-To: <20260821-cgroups-v7-0-7f1870dedefc@gmail.com> To: Spectrum OS Development X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1787295104; l=3218; i=demiobenour@gmail.com; s=20250729; h=from:subject:message-id; bh=MJqRtaaeg9DzrRCwqBE5TU6CXKN8jlGBubtvtQya0pc=; b=6b/IyCKmtHjC+lrgIe15GaWxLVL5jXN6ZOomiZ6EcBnopc3fntBRF3WmtOt87dST7kTLBkLys DrS7vq5yTBhBbwkLqWG5QF5uovnRxpIUcNSEccVdiibhRd/28+w30VE X-Developer-Key: i=demiobenour@gmail.com; a=ed25519; pk=X57Q4/YQDj9t4SBeKaDwvXYKB6quZJVx/DE2Ly2out0= Message-ID-Hash: AAVMLT6TOR2WMKS3FNLSVUQPUHOJ2LFV X-Message-ID-Hash: AAVMLT6TOR2WMKS3FNLSVUQPUHOJ2LFV 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