[Ksummit-2012-discuss] [ATTEND] Wither the baseline; EFI breakout session
Stefano Stabellini
stefano.stabellini at eu.citrix.com
Thu Jun 21 14:43:52 UTC 2012
Hello,
I work on Xen and Xen support in Linux, both x86 and ARM (upcoming): I
contributed to PV on HVM and Xen initial domain support.
On Sat, 16 Jun 2012, H. Peter Anvin wrote:
> 3. Hooks and Notifiers
>
> Hooks and notifiers are a form of "COME FROM" programming, and they
> make it very hard to reason about the code. The only way that that
> can be reasonably mitigated is by having the exact semantics of a
> hook or notifier -- the preconditions, postconditions, and other
> invariants -- carefully documented. Experience has shown that in
> practice that happens somewhere between rarely and never.
>
> Hooks that terminate into hypercalls or otherwise are empty in the
> "normal" flow are particularly problematic, as it is trivial for a
> mainstream developer to break them.
>
> Furthermore, these things tend to be named based on where they fit
> into a particular flow, for example:
>
> x86_init.paging.pagetable_setup_start(swapper_pg_dir);
> paging_init();
> x86_init.paging.pagetable_setup_done(swapper_pg_dir);
>
> This may not make any sense if paging_init() is moved to another
> part of the architecture initialization flow, and the preconditions
> and postconditions change as a result.
I would like to attend this discussion.
In the past I have introduced new pvops similar to the ones in the example.
However I did it very reluctantly.
I would love to achieve the same goals without having to introduce this
kind of callbacks, which I agree is ugly and difficult to maintain.
On Wed, 20 Jun 2012, Matthew Garrett wrote:
> I'm obviously interested in any EFI discussions, especially what we're
> going to need to do in order to merge ARM support.
I am also interested in the EFI discussion, particularly in the context
of Linux on Xen on ARM.
More information about the Ksummit-2012-discuss
mailing list