hannes changed the topic of #mirage to: bug cleaning day every first friday in month (14:00 UTC - late, next: April 6th) - retreat 7th-18th March http://retreat.mirage.io - this channel is logged at http://irclog.whitequark.org/mirage/ - MirageOS 3 is released - happy hacking!
dtornabene_ has joined #mirage
dtornabene has quit [Read error: Connection reset by peer]
dtornabene_ has quit [Read error: Connection reset by peer]
dtornabene_ has joined #mirage
dtornabene_ has quit [Client Quit]
dtornabene has joined #mirage
ricarkol has joined #mirage
dtornabene has quit [Ping timeout: 260 seconds]
dtornabene has joined #mirage
ricarkol has quit [Quit: Leaving.]
argent_smith has joined #mirage
Haudegen has joined #mirage
dtornabene has quit [Quit: Leaving]
mort___ has joined #mirage
mort___ has quit [Quit: Leaving.]
mort___ has joined #mirage
mort___ has quit [Client Quit]
Haudegen has quit [Remote host closed the connection]
Haudegen has joined #mirage
ricarkol has joined #mirage
AltGr has joined #mirage
AltGr has left #mirage [#mirage]
AltGr has joined #mirage
AltGr has left #mirage [#mirage]
yomimono has joined #mirage
<mato>
I won't be able to attend today's mirage call, have commented on the virt_to_mfn PR mentioned in the agenda
djs55 has joined #mirage
<hannes>
morning!
<yomimono>
good morning!
* djs55
waves
<yomimono>
so I suppose it's time for us to have a catchup then :)
<yomimono>
please feel free to add things to it :)
<yomimono>
first up is an item carried over from the hack retreat on grant table initialization from reynir
thomasga has joined #mirage
<yomimono>
although I didn't check with reynir whether he'd be around to talk about it after we moved the meeting from last week...
<thomasga>
hello hello
<reynir>
hello and thanks for the ping
avsm has joined #mirage
<yomimono>
whew, that's a relief :)
<lobo>
good aftern00n
<avsm>
hello!
<reynir>
(I guess this is where I explain what that item is about...)
<yomimono>
that would be nice, I think!
<reynir>
Basically, it's that the grant table in mini-os by default is somewhat small, and in order to set it to some other size one must call "gntmap_set_max_grants" before mapping any grants
* h01ger
waves
* Kensan
waves
<avsm>
reynir: why are you using the minios grant table? i seem to remember building this in ocaml
<reynir>
And for example the Qubes.DB(?) device does this
<avsm>
or is it for another usecase? ocaml-gnt has the code in OCaml so the minios code isnt used I believe
<reynir>
avsm: it's used in vchan
<reynir>
(and I use vchan for qrexec in qubes)
<avsm>
but our ocaml-vchan uses ocaml-gnt
<avsm>
so you should never run into the minios gnt limit
<avsm>
I cant be sure without printf debugging in minios, but I distinctly remember deleting the minios C code for grants at one point. @djs55 might remember more
<avsm>
are you sure the minios code is being used? try a printk in there to be sure
<yomimono>
does it matter whether it's the minios code or the ocaml code for this case, reynir?
<yomimono>
iirc the real problem was that you couldn't easily inject code to change the size before something else initialized the table
<avsm>
ahhh! that would be a problem indeed. I'm not sure how the OCaml code decided how many grants to allocate
<avsm>
(frankly, I can't remember anything about that code. It was a dark and gloomy year all around trying to get it to work :)
<reynir>
Well, I added bindings for gntmap_set_max_grants and set it to 512 instead of 128 and then I could have more concurrent ssh-agent connections...
<avsm>
hm, interesting
<avsm>
(and I'm glad your problem got solved)
<reynir>
So it seems to me the mini-os code *is* being used
olle has quit [Quit: olle]
<avsm>
I see quite a few #ifdefs in the C stubs :-/ Hard to know without looking at the modern build what's exactly going on.
olle has joined #mirage
<avsm>
The issue is that at one point we added Linux userspace support for grants via /dev/xen
<avsm>
so that muddles everything up -- I wouldn't be surprised if the minios code is somehow being used
olle has quit [Client Quit]
<hannes>
reynir, avsm: if i understand it correctly, there's still the issue that it would be nice to have a way in config.ml (or via argument) to set the max_grants!?
<reynir>
hannes: Yes, that would be very nice - and then you need to ensure it happens before anything else related to the grants
<avsm>
I think so hannes; but we also need to look into gnt v2 which I think lifted this restriction
<avsm>
it might well be that this limitation is because we're stuck on the v1 interface (but it might have been upgraded to v2 magically if we're using the minios stubs now)
<avsm>
I started to debug the block issue on the new infrastructure servers 2 weeks ago, but then we got loads of snow, and the Cambridge Computer Lab new datacentre is down due to a burst pipe in the ceiling :(
<hannes>
but that PR already got some attention during today, so I think we'll get something merged there pretty soon
<hannes>
next item would be hack retreat aftermath. thanks for participation! :)
<yomimono>
thanks for organization :D
<hannes>
I've still not managed to finish all the marrakesh bits off, but plan to write something about our infrastructure there (which basically included a dnsmasq replacement on a AMD cpu) -- haesbaert's dhcp server and my dns recursive resolver ran fine over the > 10 days, consuming not much memory (4-5MB)
<reynir>
o/*\o
<hannes>
there's quite some new repositories in the mirage organisation: mirage-propaganda currently containing the tshirt logo (if you have logos/ci, please add there (I should ask gemma as well))
<hannes>
mirage-unix and mirage-xen are split off (preserving history) from mirage-platform
<hannes>
(the plan is to retire mirage-platform once we managed to move to the ocaml-freestanding world -- and this seems rather doable (a plan is inside the mirage-platform issue))
<avsm>
it would be really great to get rid of the need for our own minios -- there is also the possibility of adding Unikraft support to ocaml-freestanding
<hannes>
mirage-handbook is an attempt to sort ourselves a bit more on documentation, in the form of both tutorials and a deeper developers handbook
<hannes>
avsm: yes! upgrading to a minios-master is included in the plan, and some stubs from mirage-xen-posix need to move to ocaml-freestanding as a sysdeps_minios
<avsm>
awesome :)
<hannes>
(the plan is only a plan, but nobody is actively working on it, due to lack of time for that afaict)
<avsm>
will update mirage-handbook when we finish the push on dev.realworldocaml.org
<hannes>
avsm: yes. samoht mentioned that as well. what we have thanks to an hour workshop is a draft for a table of contents!
<avsm>
hannes: yep thanks for issue link; I am working on Dune variants support which will hopefully simplify a lot of things -- will context switch back to that issue when that's done
<hannes>
next marrakesh retreat dates have been negotiated: oct 3-10 2018, march 6-13 2019! :)
<avsm>
the ToC in the handbook looks great!
<thomasga>
hannes: I'll add some notes about the tooling that I am working on; hopefully we can use this in MirageOS manual too
<thomasga>
(and yes the ToC is great, I am looking forward to read the full contents :p)
<reynir>
s/read/write/ :D
<thomasga>
haha
<hannes>
and for mirage deployments, I really want to track which opam packages + versions are inside of the unikernel. thanks to drup we already have the dependencies in Mirage_info exposed (see mirage-skeleton/tutorial/app_info)
<thomasga>
e.g. it computes the opam packages needed to compile the unikernel and put them in a static module that the unikernel can read
<hannes>
in https://github.com/mirage/mirage/issues/896 I outline a patch to functoria which calls "ocamlfind query -r -format %p <deps>" (and afterwards some opam subst) to include a _full list of all transitive dependencies_. in the issue I have some open questions (i.e. is anyone interested in ocamlfind versions?)
<thomasga>
but yea, Drup's solution seems cleaner :-)
<hannes>
thomasga: how does it compute the opam packages?
<thomasga>
and no, I am not interested by ocamlfind versions :-)
<hannes>
thomasga: that will include the build dependencies afaict
<thomasga>
yup
<hannes>
and last but not least: this time we had 2 ADSL lines in marrakesh terminating (via a long cable) on our router -- would be nice to have a unikernel doing some load balancing... anyone up for implementing GRE tunnels in MirageOS (or any other simple solution, ECMP is a bit too simple), something with monitoring (packet loss + delay) would be highly appreciated :)
<yomimono>
opam2 has a `--nobuild` argument to its `list`
Haudegen has quit [Remote host closed the connection]
<yomimono>
(please do not interpret that statement as volunteering to set up GRE tunnels :P )
<yomimono>
that was the last thing on the agenda, any other items?
<hannes>
the ocamlfind solution atm has the issue that not all our bottom dependencies are in META files (i.e. ocaml-freestanding which includes an openlibm and a nolibc, gmp-freestanding as well won't appear there)... but imho a sensible intermediate solution, once we hopefully get rid of ocamlfind, we can find a more elegant solution ;)
<hannes>
so in the end, I'll open a functoria PR and await comments over there :)
<avsm>
oh here's some slightly random news - I'm going to register as a RIPE LIR
<avsm>
so we get a /22 ipv4 allocation, and a bigger ipv6 allocation
<hannes>
\o/
<hannes>
\O/
<avsm>
i think mort has a student working on a bgp implementation
<avsm>
soooooooo, after the GRE tunnel... :)
<avsm>
only other update from me is that i'm doing a refresh of docs.mirage.io
<hannes>
avsm: sweet, and thanks for getting docs.mirage.io back up, that was super-useful at the retreat -- we should get a local version of that as a unikernel :)
<hannes>
(one idea i had was to basically do jitsu with <library>.docs.mirage.io :)
<avsm>
heh
<avsm>
working on it... (well, a larger version of it)
<thomasga>
jitsu-odoc: that's interesting :-)
<hannes>
does odoc need unix?
<avsm>
somewhat
<avsm>
there's a lot of refactoring ongoing, but it probably only really needs Sys
<avsm>
I'm working on a much faster version of docs.mirage.io based on `opam source` and dune -- will update when I have something
<hannes>
avsm: would be great if the refactoring could have that as goal :)
<avsm>
yeah the core is already pretty good -- the issue is ocaml's compiler-libs
<avsm>
which mainly use Sys as Unix is in otherlibs
<avsm>
so we should largely be good
* hannes
is running away for dinner, thanks for this meeting! :)
thomasga has quit [Quit: Leaving.]
thomasga has joined #mirage
ricarkol has quit [Ping timeout: 252 seconds]
djs55 has quit [Quit: Leaving.]
ricarkol has joined #mirage
ricarkol has quit [Client Quit]
thomasga has quit [Quit: Leaving.]
AltGr has left #mirage [#mirage]
Haudegen has joined #mirage
DonRichie has quit [Ping timeout: 276 seconds]
DonRichie has joined #mirage
avsm has quit [Ping timeout: 260 seconds]
yomimono has quit [Ping timeout: 256 seconds]
thomasga has joined #mirage
thomasga has quit [Quit: Leaving.]
yomimono has joined #mirage
jnavila has joined #mirage
jnavila has quit [Ping timeout: 240 seconds]
jnavila has joined #mirage
ricarkol has joined #mirage
dograt has quit [Ping timeout: 260 seconds]
jnavila has quit [Ping timeout: 265 seconds]
ricarkol has quit [Quit: Leaving.]
jnavila has joined #mirage
ricarkol has joined #mirage
Haudegen has quit [Remote host closed the connection]
jnavila has quit [Read error: No route to host]
jnavila has joined #mirage
Guest40779 has joined #mirage
Guest40779 is now known as Haudegen
argent_smith has quit [Quit: Leaving.]
jnavila has quit [Remote host closed the connection]
gentauro has quit [Ping timeout: 256 seconds]
gentauro has joined #mirage
Haudegen has quit [Remote host closed the connection]