[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