[Rust-VMM] rust-vmm sync meeting

Daniel Verkamp dverkamp at chromium.org
Mon Mar 8 22:59:14 UTC 2021


The core of the Rust FDT interface mentioned by Dylan is here:
https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2713569/8/arch/src/fdt.rs

I intentionally avoided any dependencies on external crates (except
thiserror, which could easily be eliminated if desired), so it should be
easy to extract it into its own crate.

It is functionally complete (for the functionality needed in crosvm, at
least) - I have some related work in progress to read the host system's
devicetree from the kernel, but that should not be necessary for most use
cases.

The API was designed to be similar to the C libfdt API to make it easy to
replace our existing usage, but if it's going to be used outside crosvm, it
would be good to get feedback from potential users on the design - please
take a look if you're interested.


On Mon, Mar 8, 2021 at 8:20 AM Dylan Reid <dgreid at google.com> wrote:

>
>
> On Mon, Mar 8, 2021 at 2:09 AM Florescu, Andreea <fandree at amazon.com>
> wrote:
>
>> Thanks everyone for joining!
>>
>>
>> Here are the meeting minutes:
>>
>>    - Logging: https://github.com/rust-vmm/vhost-user-backend/issues/4
>>
>>
>>    - whats the idomatic way to do logging across the various crates?
>>
>>
>>    - typically people use the log crate and build on top of it:
>>    https://crates.io/crates/log
>>
>>
>>    - alternative proposal: hide all logging & metrics behind an
>>    interface that defines relevant events
>>
>>
>>    - example of usage:
>>    https://github.com/rust-vmm/vm-superio/blob/c9ecf106d4d8d38fdc8e91e254a7f7890fbe6c60/src/serial.rs#L112
>>
>>
>>    - for now this is used only for metrics
>>
>>
>>    - CH is using a macro for events:
>>    https://github.com/cloud-hypervisor/cloud-hypervisor/blob/master/event_monitor/src/lib.rs
>>
>>
>>    - let's use this issue to continue the discussion:
>>    https://github.com/rust-vmm/community/issues/104
>>
>>
>>    - for debugging & developing we can use the log crate
>>
>>
>>    - also an open question about metrics (what/where/how many/how
>>    filtered)
>>
>>
>>    - Public roadmap for 2021:
>>
>>
>>    - https://github.com/orgs/rust-vmm/projects/3
>>
>>
>>    - Use label: "roadmap 2021"
>>
>>
>>    - Search for roadmap issues:
>>    https://github.com/search?q=org%3Arust-vmm+label%3A%22roadmap+2021%22&type=issues
>>
>>
>>    - Branching policy for crates and release lifecycle management
>>
>>
>>    - we've been doing branch releases for security vulnerabilities
>>
>>
>>    - we do not have a policy for releases (how long do we support them)?
>>
>>
>>    - QEMU:
>>
>>
>>    - dev on master
>>
>>
>>    - before releases they're looking more into what gets into master
>>    (i.e. only bug fixes)
>>
>>
>>    - release branch
>>
>>
>>    - 3 release/year
>>
>>
>>    - CH:
>>
>>
>>    - release every 6 weeks
>>
>>
>>    - use dependabot
>>
>>
>>    - does not support older versions of CH (only support for latest
>>    version)
>>
>>
>>    - Proposal:
>>
>>
>>    - Handle releases on a case by case basis
>>
>>
>>    - Proposal for branches: branch when need to (i.e. breaking changes &
>>    security releases)
>>
>>
>>    - fandree@ add this to the community readme
>>
>>
>>    - master support?
>>
>>
>>    - only when there is a new change that is needed or when crates are
>>    not published
>>
>>
>>    - releases on demand to support different projects (release just a
>>    versioned tag on master, ad-hoc branch for security backports on a release
>>    tag)
>>
>>
>>    - obviously master tries to stay stable with CI keeping tests green -
>>    cost of a release should be small
>>
>>
>>    - kvm-bindings
>>
>>
>>    - CH tried to autogenerate new bindings, and it did not work
>>
>>
>>    - we need to add documentation (if it does not exist) on how to
>>    generate them
>>
>>
>>    - State of AArch64 support?
>>
>>
>>    - crate support should be complete: kvm-ioctls, linux-loader; used in
>>    production Firecracker & Cloud Hypervisor
>>
>>
>>    - removing dependency on libfdt options:
>>
>>
> Daniel started cleaning up the FDT implementation in crosvm recently:
> https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/2713569
> That might be a good starting point. It still has some work to do IIRC. If
> it looks useful, we can move it to a separate crate as it's currently in
> that aarch64 code.
>
>
>>    - rust crate for generating the DT (only static FDT)
>>
>>
>>    - ACPI: there is a push to use it by default
>>
>>
>>    - adding support to vmm-reference for ARM:
>>    https://github.com/rust-vmm/vmm-reference/issues/90
>>
>>
>>    - Support for other hypervisors (!KVM):
>>
>>
>>    - did not have time to discuss this; we'll discuss it at the next
>>    sync meeting
>>
>>
>> ------------------------------
>> *From:* Florescu, Andreea
>> *Sent:* Wednesday, March 3, 2021 3:19 PM
>> *To:* Barbu, Iulian; Loghin, Laura; Ochescu, Catalin; Horobeanu, Dan;
>> Iordache, Alexandra; Agache, Alexandru; meet at chime.aws;
>> pin+2352511775 at chime.aws; rust-vmm at lists.opendev.org
>> *Cc:* M. Dodson; Ceyhun Ertürk; Catangiu, Adrian Costin; Zach Reizner;
>> Wise, Bob; Liguori, Anthony; Trilok Soni; Dylan Reid;
>> luka.perkov at sartura.hr; Brendan Burns; Alex Bennée
>> *Subject:* rust-vmm sync meeting
>> *When:* Monday, March 8, 2021 11:00 AM-12:00 PM.
>> *Where:*
>>
>> Meeting Agenda: https://etherpad.opendev.org/p/rust-vmm-sync-2021
>> ==============Conference Bridge Information==============
>> You have been invited to an online meeting, powered by Amazon Chime.
>> *Chime meeting ID: 2352511775*
>> *Join via Chime clients (manually): Select 'Meetings > Join a Meeting',
>> and enter 2352511775*
>> *Join via Chime clients (auto-call): If you invite auto-call as attendee,
>> Chime will call you when the meeting starts, select 'Answer'*
>> *Join via browser screen share: https://chime.aws/2352511775
>> <https://chime.aws/2352511775>*
>> *Join via phone (US): +1-929-432-4463,,,2352511775#
>> <+1-929-432-4463,,,2352511775#>*
>> *Join via phone (US toll-free): +1-855-552-4463,,,2352511775#
>> <+1-855-552-4463,,,2352511775#>*
>> *International dial-in: https://chime.aws/dialinnumbers/
>> <https://chime.aws/dialinnumbers/>*
>> *In-room video system: Ext: 62000, Meeting PIN: 2352511775#*
>> =================================================
>>
>>
>> ================Before your meeting:================
>>
>>    - Learn how to use the touch panel
>>    <https://it.amazon.com/en/help/articles/use-the-meeting-room-touch-panel>.
>>
>>    - Prefer a video? Watch these touch panel how-to videos
>>    <https://broadcast.amazon.com/videos/98363>.
>>    - Find out more about room layouts
>>    <https://it.amazon.com/en/help/articles/conference-room-configurations>.
>>
>>    - Get more information at it.amazon.com/meetings
>>    <https://it.amazon.com/en/servicecatalog/meetings>.
>>
>> ================================================
>>
>> Created with Amazon Meetings <https://meetings.amazon.com> (fandree@, edit
>> this series
>> <https://meetings.amazon.com/#/meeting/new?entryID=Meetings-1614777141769-fandree-ef276bd02425fd937ae7c9d0a2756544>
>> )
>>
>>
>> Amazon Development Center (Romania) S.R.L. registered office: 27A Sf.
>> Lazar Street, UBC5, floor 2, Iasi, Iasi County, 700045, Romania. Registered
>> in Romania. Registration number J22/2621/2005.
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opendev.org/pipermail/rust-vmm/attachments/20210308/ba116f85/attachment-0001.html>


More information about the Rust-vmm mailing list