2021-08-05 Project Stratos Sync Meeting notes

Participants

  • @Don Harbin

  • @Mike Holmes

  • @Mathieu Poirier

  • @Arnd Bergmann

  • @Alex Bennée

  • @Randy Linnell

  • @Peter Griffin

  • Pratik Patel

  • @Jean-Philippe Brucker

  • @Ruchika Gupta (Deactivated)

  • @Matt Spencer (Deactivated)

  • @Joakim Bech

  • Stefano

Agenda

  • Updates

    • fatvirt

    • rng

    • gpio

    • i2c

    • RPMB

  • [Mike] What direction should we take in the next cycle ?

  • [Mike] updating Fixed versions

  • [Mike] Updating Jira - people do want the updates - Akaskis finds the especially helpful with the timezone issue

Discussion topics

  • Rust implementation discussion,

    • multiplexing multiple VMs do yu need multiple daemons. For stability, you may want to N to N vs 1 to N backends.

    • What is the plan for vhost-user backend mutability

  • Fatvirtques

    • Compiling but not working, engineer context switching slowing things down

  • GPIO

  • The issue with alternate implementation, everyone discussing Vireshes code, had a call between Arnd and Viresh. Atomicity is still a question - virito is blocking, gpio driver may sleep and most are not set up this way. Inside kernel 90% can only use non blocking. Plan to follow on with proposal for all virtquesue.

  • RNG

    • 95% done, rate limiting is there, multithreaded, no guest can overwhelm the host. The termination is not working as desired yet, clean up is not happening, when a guest exists the daemon does not listen and reconnects fail

    • Alex - is this s only when the guest stops, yes, but VMs may want to use the daemon. vhost user rust is not cleaning up.

    • Arnd assume it is not a design issue ? Mathieu viresh is using traits and I am not. Perhaps my lack of sync trait.

    • Alex, join RustVMM slack channel, usually a good place to ask questions

    • I2C - waiting for upstream comments, implementation looks clean. I2C maintainer wants a pull request

    • RPMB

      • Ruchika - found an error in the spec that does not allow multi block reads, patch sent

      • implementing multiblock for op-tee, trying to get rust version working

      • Added cards to RPMB task, will have to do a kernel interface, used ACRN tree which worked which was not in an upstream state LKML rejected a proposal but Intel have not posted an expected

  • What direction should we take in the next cycle

    • Propose we follow Linaro Stratos cycles - Mathieu, Alex

    • Need to have a plan agreed by the members so that we can start on October 1st

    • Matt we can look at aligning with SOAFEE, mid September, virtual event, Kracken launch desktop Altra - automotive with safety island, NXP

  • Steffano

    • Wei Chen email - to KVM tools mailing list highlighted the problem, they wanted to add Xen to KVM tools. This issue was interesting, io_req was the easy bit. He identified code that needs adding all over virtio, that is difficult. Two ideas - 1. library does not solve adding code to KVM tools, 2. using virito then there is still an issue with injecting interrupts.

    • Fell unfortunate they will need to fork the code to have a KVMtool binary for the backend

    • Alex is anyone looking at rust-vmm crates in Xen project, three groups active in RustVMM spec

    • Alex needs the tires kicking on the proposal. Steffano, the back end feels easier, just need an API, adding backend is harder. Memory mapping on interrupts might be harder.

    • Alex, does kernel have the ability to not write to areas, Arnd yes DT can mark areas, Steffano, there is work on a patch to map other VMs memory. Arnd, there is work to remove struct pages, think there are patches and folio patches Mark Wilcocks.

    • Alex is this related to hugepages are backed by a struct page, hugepages are better with TLB

    • Alex if you have a hole, won't there be a page in between? Arnd IO pages don't need them.

Action items

Decisions