From nobody Tue May 02 11:00:31 2023 X-Original-To: freebsd-hackers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Q9cZ65lysz48rCs; Tue, 2 May 2023 11:00:46 +0000 (UTC) (envelope-from gusev.vitaliy@gmail.com) Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com [IPv6:2a00:1450:4864:20::12a]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q9cZ51gWMz3kDK; Tue, 2 May 2023 11:00:45 +0000 (UTC) (envelope-from gusev.vitaliy@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-lf1-x12a.google.com with SMTP id 2adb3069b0e04-4f00d41df22so27491739e87.1; Tue, 02 May 2023 04:00:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683025243; x=1685617243; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=Kedj9pEFkDCLD2y7qQ+eu6dhg5vW4Tr+qQw81KkXqec=; b=SVF0KGKMy9QYiqQWUm1oj2V8JOQOuYNIHKnADEqibjxn4r/qHZfxTSP1pCcmqH47yC fU8VW5T5KCOyy5Kb5SardrWBCL0wJF4CzAN/74Pll89Z51UVxIYpI9TLwr+9lEJMre6y SFgsIsp/nzFRIRnRfQnkHyA4ZQkKKUxGx/pqGKXt4SgY97aLvXA7xzQ3gd0JVUwwFgrt PpOH8vUPHRUsb0gczUfP5PYGc000zTti1K6Fp3q844j25NdB9zrT2v3Hss473xnUy0Ak 9Hs0uc2E0RlPvGaD/jmhBihshXNIEE4llP3Kp1D6G7Op+0ZWqnEpYUp87Z1zbM1T4AI5 FWpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683025243; x=1685617243; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Kedj9pEFkDCLD2y7qQ+eu6dhg5vW4Tr+qQw81KkXqec=; b=FR0WRM8/jEImOpkevmvuhPc7x1Jwk6ZhpNln3AQY7nPp1sXkmit1+h6ZUjONt94ktq wCxaUiMUL8JrDaaPtzEdcVAsI3wjgZ9MydRjq3crh8pnHXbG7Nbl5JqcjwNaYs9sUMnl Rxr78LgG4zNl7u+Yhr7Ma7BZOdy3ZRPczdaJSR6t3Mrv9pguq1v50z/GDPC801ZxPF9l rKSjHkRYYIEhjMT97jWbhGBazTySOhXWFoQ/l885WMoAr/ubnlnMAjzY4vYvirGOCcge Xb12WosYmcpBI5ZnH0fgJ/TtY43WL7cPuZlevszotfD0GqBPKS3Hx5YXmPemMIOl9CXx FkOw== X-Gm-Message-State: AC+VfDwjA0byoTAabFas82PbtWHE5Aa9RWv4LqMfY0qiDtWGdbmdWbXZ LP4SydBoivubNfYKxEuU75sJt/PFKCyoJQ== X-Google-Smtp-Source: ACHHUZ5aRGdwhHaiaoV06D14L0shtXjRpbL3GkvbDJnm0KNZgFbF+E9NP/Pt94QwBi7EH8DBb0XkZA== X-Received: by 2002:a05:651c:231b:b0:2a8:bc78:2e3f with SMTP id bi27-20020a05651c231b00b002a8bc782e3fmr6329301ljb.0.1683025242982; Tue, 02 May 2023 04:00:42 -0700 (PDT) Received: from smtpclient.apple ([188.187.60.230]) by smtp.gmail.com with ESMTPSA id y14-20020a2e320e000000b00295da33c42dsm5242725ljy.15.2023.05.02.04.00.41 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 May 2023 04:00:42 -0700 (PDT) From: Vitaliy Gusev Message-Id: Content-Type: multipart/alternative; boundary="Apple-Mail=_B895AB4D-5F14-4A57-B65C-D1DB37F70C9D" List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.500.231\)) Subject: Re: BHYVE_SNAPSHOT Date: Tue, 2 May 2023 14:00:31 +0300 In-Reply-To: <3ab4e6d94fb0153fb6ff4a53ac6f53b2eaae0cf7.camel@FreeBSD.org> Cc: Matthew Grooms , Rob Wing , freebsd-hackers@freebsd.org, freebsd-virtualization@freebsd.org, Elena Mihailescu , Mihai Carabas To: =?utf-8?Q?Corvin_K=C3=B6hne?= References: <89c84bd7-a925-02f4-acbe-12c3000e7007@shrew.net> <3ab4e6d94fb0153fb6ff4a53ac6f53b2eaae0cf7.camel@FreeBSD.org> X-Mailer: Apple Mail (2.3731.500.231) X-Rspamd-Queue-Id: 4Q9cZ51gWMz3kDK X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:2a00:1450::/32, country:US]; TAGGED_RCPT(0.00)[]; TAGGED_FROM(0.00)[] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N --Apple-Mail=_B895AB4D-5F14-4A57-B65C-D1DB37F70C9D Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 Just add some plans for me: 1. Describe snapshot file format: One file for snapshot. 2. Implement snapshot/resume via nvlist. nvlist implementation brings: Versioning Easy debugging, getting saved values, etc. Validate restored variables: types, sized, etc. Add optional variables without breaking backward compatibility (resume = can be performed with old snapshots) Remove variables without breaking backward compatibility Use one file for snapshot Improve restore command line: "bhyve -r $snapshot=E2=80=9D, i.e. w/o = additional arguments =E2=80=94=E2=80=94 Vitaliy Gusev >>> before extending the functionality off the top of it. >>=20 >> Yup. See above. I appreciate your input, but the goal of live >> migration was set in 2016 with a prototype first demonstrated in >> 2018. How long do you suggest a developer wait without review >> feedback before moving forward out of tree? >=20 > The snapshot feature isn't compiled in by default. So, it's likely = that > changes break it and only a few people are testing it. >=20 > We have to focus on getting this into the tree. >=20 >>>> There are experimental patches for all these features that were >>>> developed by students at UPB. In a lot of cases, there are open >>>> reviews that have been waiting on feedback for ages. >>>=20 >>> In general, most people don't want to review large experimental >>> patches. >>=20 >> Yup. That approach was attempted with the Warm Migration patches. >> =46rom slide 17 in Elena's presentation: >>=20 >> First review opened in 2021: https://reviews.freebsd.org/D28270 >> 5 reviews from 2022 starting with https://reviews.freebsd.org/D34717 >> (same feature split in multiple parts) >> =20 >> A similar request was made recently to Gusev Vitaliy WRT the >> multiple device support patch which he took ownership of. Thanks for >> adding feedback to that review BTW. We'll see how that pans out ... >>=20 >> https://reviews.freebsd.org/D35590 >>=20 >=20 > I've already reviewed Vitaliy's multi device support patch and people > had more than enough time to complain about it. I'm going to commit it > as soon as he splits his commit. > =20 >>>> The case is quite plain. I'm not sure what the solution is to >>>> this=20 >>>> problem. I'd love to hear feedback from the community about how >>>> I've got=20 >>>> this completely wrong and how the course could be corrected. >>>> That would=20 >>>> be something. >>>>=20 >>>=20 >>> My perspective is that it would have been better to focus student >>> efforts on completing the snapshot feature. By completing the >>> snapshot feature, I mean getting the code into a state where it's >>> compiled in by default and no longer considered an experimental >>> feature. >>>=20 >> I'm not sure what more to say hear regarding the snapshot feature or >> what might have been done in the past. We need a solution for the >> present. If you have any comments related to the follow up reviews >> submitted by UPB, I'm sure they'd love to hear them. >> And lastly: I get that FreeBSD is a non paid volunteer project for >> most. Without the efforts of folks like Peter, Neel, John and others, >> there would be no bhyve. I'm not saying that they, as project >> maintainers, should somehow be doing more. We all have limited time >> to invest, paid work to do and families to feed. I'm asking if there >> are other developers that might be willing and able to help with >> reviews? Is there something the FreeBSD foundation can do help out in >> situations like these? >> Thanks, >> -Matthew >> =20 >=20 > UPB has developed some interesting features and I'd like to see those > in tree. I can take some time to review the patches. Nevertheless, we > really need the snapshot feature compiled in by default. Otherwise, > it's wasted time for all of us. >=20 >=20 > --=20 > Kind regards, > Corvin --Apple-Mail=_B895AB4D-5F14-4A57-B65C-D1DB37F70C9D Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 Just add some = plans for me:

 1. Describe snapshot file format: = One file for snapshot.

 2. Implement = snapshot/resume via nvlist.

  =  nvlist implementation brings:

  • Versioning
  • Easy debugging, getting = saved values, etc.
  • Validate restored variables: types, sized, = etc.
  • Add optional variables without breaking backward = compatibility (resume can be performed with old = snapshots)
  • Remove variables without breaking backward = compatibility
  • Use one file for snapshot
  • Improve restore = command line:  "bhyve -r $snapshot=E2=80=9D, i.e. w/o additional = arguments

=E2=80=94=E2=80=94
= Vitaliy Gusev

before extending the functionality off = the top of it.

Yup. See above. I appreciate your = input, but the goal of live
migration was set in 2016 with a = prototype first demonstrated in
2018. How long do you suggest a = developer wait without review
feedback before moving forward out of = tree?

The = snapshot feature isn't compiled in by default. So, it's likely = that
changes break it and = only a few people are testing it.

We have = to focus on getting this into the tree.

There are experimental patches for all these features that = were
developed by students at UPB. In a lot of cases, there are = open
reviews that have been waiting on feedback for = ages.

In general, most people don't want to review = large experimental
patches.

Yup. That approach = was attempted with the Warm Migration patches.
=46rom slide 17 in = Elena's presentation:

 First review opened in 2021: = https://reviews.freebsd.org/D28270
 5 reviews from 2022 starting = with https://reviews.freebsd.org/D34717
(same feature split in = multiple parts)
 
 A similar request was made recently = to Gusev Vitaliy WRT the
multiple device support patch which he took = ownership of. Thanks for
adding feedback to that review BTW. We'll = see how that pans out = ...

 https://reviews.freebsd.org/D35590

I've already reviewed Vitaliy's multi = device support patch and people
had = more than enough time to complain about it. I'm going to commit = it
as soon as he splits his = commit.
  
 The = case is quite plain. I'm not sure what the solution is to
this 
 problem. I'd love = to hear feedback from the community about how
I've got 
 this completely = wrong and how the course could be corrected.
That would 
 be = something.


My perspective is that it would have = been better to focus student
efforts on completing the snapshot = feature. By completing the
snapshot feature, I mean getting the code = into a state where it's
compiled in by default and no longer = considered an experimental
feature.

I'm not sure = what more to say hear regarding the snapshot feature or
what might = have been done in the past. We need a solution for the
present. If = you have any comments related to the follow up reviews
submitted by = UPB, I'm sure they'd love to hear them.
And lastly: I get that = FreeBSD is a non paid volunteer project for
most. Without the efforts = of folks like Peter, Neel, John and others,
there would be no bhyve. = I'm not saying that they, as project
maintainers, should somehow be = doing more. We all have limited time
to invest, paid work to do and = families to feed. I'm asking if there
are other developers that might = be willing and able to help with
reviews? Is there something the = FreeBSD foundation can do help out in
situations like = these?
Thanks,
-Matthew
 

UPB has developed some interesting features = and I'd like to see those
in = tree. I can take some time to review the patches. Nevertheless, = we
really need the snapshot = feature compiled in by default. Otherwise,
it's = wasted time for all of us.


-- 
Kind regards,
Corvin

= = --Apple-Mail=_B895AB4D-5F14-4A57-B65C-D1DB37F70C9D--