[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MirageOS-devel] ANN: mirage.2.3.0 released

> On 10 Mar 2015, at 14:41, Dave Scott <Dave.Scott@xxxxxxxxxx> wrote:
>> On 10 Mar 2015, at 14:17, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:
>> On 10 Mar 2015, at 14:01, Thomas Leonard <talex5@xxxxxxxxx> wrote:
>>> On 10 March 2015 at 13:46, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:
>>>> I've just released Mirage 2.3.0 to OPAM.  This is a point release
>>>> with several important cleanups in the interfaces:
>>>> https://github.com/mirage/mirage/releases/tag/v2.3.0
>>>> * Remove the `IO_PAGE` module type from `V1`. This has now moved
>>>> into the `io-page` pacakge (#356)
>>>> * Remove `DEVICE.connect` from the `V1` module types.  When a module is
>>>> functorised over a `DEVICE` it should only have the ability to
>>>> *use* devices it is given, not to connect to new ones. (#150)
>>>> * Add `FLOW.error_message` to the `V1` module types to allow for
>>>> generic handling of errors. (#346)
>>>> * Add `IP.uipaddr` as a universal IP address type. (#361)
>>>> * Support the `entropy` version 0.2+ interfaces. (#359)
>>>> * Check that the `opam` command is at least version 1.2.0 (#355)
>>>> * Don't put '-classic-display' in the generated Makefiles. (#364)
>>>> Although this is a short changelog, the main changes that matter
>>>> are the IO_PAGE and Device connect changes, which required
>>>> revisions across a significant number of packages.  Many thanks to
>>>> Thomas Leonard who did a lot of the legwork to propagate the
>>>> required changes: https://github.com/mirage/mirage/pull/350
>>> Great!
>>>> The full set of libraries that have changed are up at:
>>>> http://openmirage.org/releases/
>>> openmirage.org isn't responding for me (even to pings).
>> Interesting -- we've uncovered a race condition in the Xen netback
>> bringup with the new release.  Putting in a very small sleep in
>> the Netfront initialisation is causing the dom0 bridge to unwedge
>> and then work.  I'm investigating it, although I may need your
>> assistance with this one Daveâ
> Uh-oh! Does the bridge device and the vif device in dom0 look ok, and
> do the xenstore backend and frontend directories both have âstate = 4â?
> â I assume they all look right and the bug is more of a race between
> the backend and frontend init code.
> If I had to guess I would try inserting a xenstore wait here:
> https://github.com/mirage/mirage-net-xen/blob/6369abd80904ca98194abc07e676ecdb0a371b3c/lib/netif.ml#L300
> to wait for the backend to enter âstate = 4â before writing data to the
> ring and signalling the event channel. Perhaps itâs wedged because the
> event was ignored. A wait loop would look like this one:
> https://github.com/mirage/mirage-block-xen/blob/a64d152586c7ebc1d23c5adaa4ddd440b45a3a83/lib/blkback.ml#L388
> only with the condition being âstate = Device_state.(to_string Connected)"
> Of course a xenstore wait might just be a workaround by causing a delay.
> Perhaps we should read the Linux netback code to see what itâs doing.

Indeed, Dave tracked this one down to the mirage-net-xen driver not
waiting for the backend to be fully ready.  I've merged and released
the fix in https://github.com/ocaml/opam-repository/pull/3709.

The live site is now running this, so please do let us know if anyone
sees any start-of-day packet loss with this version of the driver.

MirageOS-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.