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