From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.3 (2019-12-06) on atuin X-Spam-Level: X-Spam-Status: No, score=-0.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_LOW,RDNS_NONE,SPF_HELO_PASS autolearn=ham autolearn_force=no version=3.4.3 Received: from [127.0.1.1] (localhost [IPv6:::1]) by atuin.qyliss.net (Postfix) with ESMTP id 3412A1DD1A; Sun, 12 Apr 2020 22:20:16 +0000 (UTC) Received: from wout2-smtp.messagingengine.com (unknown [64.147.123.25]) by atuin.qyliss.net (Postfix) with ESMTPS id 8757F1DCC1; Sun, 12 Apr 2020 22:20:11 +0000 (UTC) Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.west.internal (Postfix) with ESMTP id 894E77C0; Sun, 12 Apr 2020 18:19:54 -0400 (EDT) Received: from imap8 ([10.202.2.58]) by compute2.internal (MEProxy); Sun, 12 Apr 2020 18:19:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amanjeev.com; h= mime-version:message-id:in-reply-to:references:date:from:to:cc :subject:content-type; s=fm1; bh=D3tTY3TZErpGBXSNmAAaRbjUY+7vRDs IYSkHfHFcNM0=; b=v6aREqB80bIIKzaoxZw0N7Oaj43/AucyAEIt3pmGNg3MqOV mKzn/dStaFdF+0HH9EnZjSXZ/Dn3agVyuwZn3jqV1gIQcDazgsbmJ8UmWlT0ON+M ZwC1v4gA8utBbbzCBhlsUaO+y1dD73KRfW0LiiWmnqDdi3O8QEi1HYF7osT+v15R +eSqaLKRMlOzwy8LUMGuljYO0IeK+S1HNO2KenyBne3a1wno7KehhjoC1IJSfyGa u+QEpQvpr6dZI8/3A87dpFDnbZJJLGpGGTr0XALXvmzPFx3B44YDIgrN+NcRoTWV PpO8naBLn6rXuxSxDLeZfXMXVEIgg6OMpqFMb3Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=D3tTY3 TZErpGBXSNmAAaRbjUY+7vRDsIYSkHfHFcNM0=; b=ICfWjB/8lkbqfVaMMeaK8j EOIyL7iag/DfkaMHM3Qzc5MtVq5YssKWXxsbII+njsNN2SMi5LyzMKiGeP87gLww jWqEontKWY8v/WGHa2M+/UwsM7ePwqi1MqnFSoqNRoLXOPyYdysZZEUBHdDb5b36 zj0AnDYVXLz0aRUgMjXZVfGsWukd+tw/heCGuT7ARTccinLLIU5IsQH5o7ieOFBq Pc9L2Mn3/GG53mlSsO23Ma0m4Z9YGIHTmMxKzKMl46JquGpZPnYJIoDfY6XY0953 L1dbMWV6dxVYbyMCUSRjQghVP8R/70bChL7CMD292X6PXyLbzD2M4e90txd257ZQ == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrvdekgddtlecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkjghffffhvffutgesthdtre dtreertdenucfhrhhomhepfdetmhgrnhhjvggvvhcuufgvthhhihdfuceorghjsegrmhgr nhhjvggvvhdrtghomheqnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg hilhhfrhhomheprghjsegrmhgrnhhjvggvvhdrtghomh X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id B7AFA520093; Sun, 12 Apr 2020 18:19:53 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.1.7-1104-g203475c-fmstable-20200408v2 Mime-Version: 1.0 Message-Id: <0d4404b7-3435-47c3-8281-8737a277648c@www.fastmail.com> In-Reply-To: <87d08cll9m.fsf@alyssa.is> References: <87d08cll9m.fsf@alyssa.is> Date: Sun, 12 Apr 2020 18:19:33 -0400 From: "Amanjeev Sethi" To: "Alyssa Ross" , devel@spectrum-os.org Subject: Re: This week in Spectrum Content-Type: text/plain Message-ID-Hash: 67K6TE3Q7ZW2THRFPCAYHN7ZX7HKLHAB X-Message-ID-Hash: 67K6TE3Q7ZW2THRFPCAYHN7ZX7HKLHAB X-MailFrom: aj@amanjeev.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: discuss@spectrum-os.org X-Mailman-Version: 3.3.0 Precedence: list List-Id: General high-level discussion about Spectrum Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: I find these emails a nice read when I have time. I am perhaps not on the devel list (not a devel). On Sun, Apr 12, 2020, at 12:30 PM, Alyssa Ross wrote: > Before we begin, **if you are subscribed only to the discuss mailing > list**, I'd like to hear from you whether you'd like future weekly > development updates to come to you or not, because I'm not really sure > whether this sort of update belongs on the devel mailing list, or the > discuss one. So for this initial edition, I'm sending to both, but I > probably won't do that going forward. > > So, as I wrote in the recent status update on my blog, I'm going to try > weekly(?) mailing updates instead of lengthy blog posts every few > months. I was going to start last week, but I ended up taking most of > the week off because I'd been working every day for a long time and was > starting to find it difficult to concentrate. But I'm back now, and > this week has been a good one. > > > Spectrum Live > ------------- > > (This was actually last week, but I felt this deserved a mention.) > > A bit more than a week ago now, I did a live stream where I showed > myself working on a fairly simple change to crosvm. Viewer numbers > stabilised at around 11, and we had a lively IRC conversation, which I > was pleasantly surprised by. I ended up spending most of the stream not > working on that change, but instead explaining how various things in the > system will work, and helping getting a couple of people started running > the Spectrum code. By the end of the stream two people had succeeded in > this, and that means two people who are set up to work on Spectrum. One > was even starting work on trying to build a smaller kernel for Spectrum > VMs! > > Overall I think this was extremely successful, and I'll try to do it > again soon. I'll announce the stream a bit ahead of time in #spectrum > on Freenode. > > > crosvm > ------ > > Having previously split crosvm into two separate programs -- one to run > a virtual device, and one to run a device VM -- I further split it into > three programs. This might sound a bit silly, but here's the idea -- > one program is the crosvm that runs an application VM, the second will > become part of the crosvm that runs a device VM, and the third will be > the device implementation itself, that will run inside the device VM. > As a reminder, the overall idea here is to put virtual devices into > their own VMs, rather than being run directly on the host. > > I also pulled in the latest changes from Google. Of particular note is > commit 146450b, which updates the msg_socket library to support > dynamically sized messages. If you're paying attention, you'll recall > that I just wrote my own serde-based replacement for msg_socket because > I needed to do exactly this. That work might now have been superseded, > but I'm not sure yet. msg_socket2 uses SOCK_STREAM sockets (which can > be used between VMs or VM<->guest), while msg_socket uses > SOCK_SEQPACKET, which can't. I haven't checked whether msg_socket's new > implementation could work without SOCK_SEQPACKET-style preserved message > boundaries -- if it can't, msg_socket2 will stick around. msg_socket2 > also properly handles file descriptor lifetimes using the borrow > checker. This means that safe Rust code can't send closed or > non-existent file descriptors over msg_socket2. msg_socket does not do > this, because it just represents file descriptors as integers with no > lifetime information. Whatever happens to msg_socket2, at some point > I'll want to make msg_socket do file descriptor lifetimes properly. In > general, it's not clear from existing documentation how to properly > handle file descriptor lifetimes in Rust, and so I plan a blog post on > this topic soon. > > The next problem is to figure out communication between the device VM > and the device crosvm. The protocols currently in use rely on being > able to share memory using file descriptors, which is not possible > between a VM and the host. To avoid using file descriptors, I would > have to change those protocols, possibly on a per-device basis, which > would be a lot of work, and might have to be done again whenever crosvm > adds a new device type. But, I think I might have a better, if > surprising solution. Despite its name, the Virtio Wayland protocol has > almost nothing to do with Wayland. Instead, it's a fairly generic > socket-like protocol that allows sending "virtual file descriptors" of > certain specific types between a VM and its host. So I think I should > be able to send this sort of communication over "Virtio Wayland", > without requiring any changes to the communications being channeled. I > just had this idea, so it's entirely possible it won't work out, but I > think it's a neat unexpected reuse of a cool technology. > > > Infrastructure > -------------- > > The web interface for the Spectrum mailing lists has been upgraded from > Django 1.11 (which is now EOL) to Django 2.2 (current LTS; Nixpkgs > default). I sent this upstream as Nixpkgs PR #84896. > > Additionally, spectrum-os.org. now has an SPF header, which I thought > was already there but apparently wasn't. This should help with mailing > list deliverability. > > > That's it for this week. Feel free to reply with any comments or > insights, either on the content or the format. I'll try to be back with > another development update next week. > > Attachments: > * signature.asc