Hey,

below are the notes from the meeting last week.

The next meeting is the upcoming Monday, January 27th 10:00 - 12:00 CET at https://meet.jit.si/MirageOS -- see our shared pad at https://pad.data.coop/To6IOSeNSOK9kFVlgo7XWw?both# for notes and agenda (add your talking points there) :)

Best,

Hannes

- Participants: Pierre, Hannes, Reynir, Sam, Pixie

### Performance: bytes vs. bigarray (cstruct)
- Pierre did some performance benchmarks. The results are confusing.
- VirtIO and spt are different: in virtio kvm/qemu does potential batching and queuing of packets; spt it is solo5 copying one-by-one - reynir suggests to rewrite the C relay one-to-one in OCaml and take a look at the performance, figuring what the OCaml runtime costs are - best performance is the Linux with a bridge between the two interfaces, that's our goal to compare numbers with -- it is as well a virtual machine with two interfaces doing the copying in kernel space -- MirageOS shouldn't be slower - how/which profiling could we run there? statmemprof (https://github.com/robur-coop/memtrace-mirage -- only covers allocations, no computation (such as CRC)), landmarks (https://github.com/LexiFi/landmarks), SPT: we could also use `perf` utility from Linux
- it is still not very clear what is the bottleneck

### Building cross-compilers / OCaml 5 support
- Sam: they're merged in OCaml trunk
- Sam: backported to OCaml 5.3, plans to update ocaml-solo5 with 5.3 support
- Sam: some of the patches are only for ocaml-solo5
- Hannes: we can as well remove the 5.2.1 patches from ocaml-solo5 and move ahead for 5.3 -- if someone wants to usse 5.2.1 they can use the released ocaml-solo5 (1.0.0/1.0.1) - Sam: the good news is that for OCaml 5.4 there will be really few patches needed

### maintenance-intent for MirageOS libraries
- unbounded growth of opam repository is unsustainable. Hannes started effort to prune uninstallable, broken and/or unmaintained packages. The `x-maintenance-intent` flag in opam files signals the intent to maintain packages: e.g. only the latest release etc. - hannes main question here is whether there are any reservations of putting x-maintenance-intent: [ "(latest)" ] in the opam files for the MirageOS packages that we maintain (e.g. mirage, mirage-solo5, ...) - pierre and reynir agree with putting the latest there (apart from ocaml-solo5) - sometimes we have big breaking API changes where we likely want to keep the old and new versions (e.g. in ocaml-solo5 we have [ "(latest)" "0.8.(latest)" ]) - we can do that on a package-by-package basis when we do major breaking changes

### Defunctorise MirageOS
- hannes: don't want to pass "PCLOCK" "MCLOCK" "TIME" as functors
- hannes: the question is about naming, and about requiring the ptime/mtime libraries directly - hannes: there's the opam package called mirage-clock (Mirage_clock), there we have a PCLOCK and a MCLOCK - hannes: currently my suggestion is to name it Mirage_ptime and Mirage_mtime? - hannes: and then the TIME interface should we rename it to Mirage_sleep? Mirage_sleep.sleep? Mirage_sleep.doit? Mirage_sleep.ns!

Currently:
```OCaml
(** Sleep operations. *)
module type S = sig
  val sleep_ns: int64 -> unit Lwt.t
  (** [sleep_ns n] Block the current thread for [n] nanoseconds, treating
      the [n] unsigned.  *)
end
```
### MirageOS and unikraft
- Pierre is curious what the state thereof is
- Sam: work is ongoing, some on private branches

### Meeting time is good?
- Sam mentions that the slot is good for him, but every time he is busy with some other thing

### Mollymawk
- robur got a grant for working on mollymawk from NLnet / EU tax payers
- we're excited to continue the work on it, and this will make (one path for) deployment of MirageOS unikernels easier



On 10/01/2025 16:02, Hannes Mehnert wrote:
Hey,

as a reminder on Monday morning we've our next meeting.

On 07/01/2025 12:02, Hannes Mehnert wrote:
The next meeting is the upcoming Monday, January 13th 10:00 - 12:00 CET at https://meet.jit.si/MirageOS -- see our shared pad at https://pad.data.coop/To6IOSeNSOK9kFVlgo7XWw?both# for notes and agenda (add your talking points there) :)


Have a nice weekend,

Hannes



Reply via email to