qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC v0 07/10] fdt_generic: First revision


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [RFC v0 07/10] fdt_generic: First revision
Date: Mon, 17 Sep 2012 08:55:05 -0400 (EDT)

> > However, as things stand there is nothing (I think) that really requires
> > coroutines.  A simple 2-pass initialization would do, with links and
> > irqs connected on the second pass.
> 
> I'm just trying to be a little more general. For more complex setups
> we may in the future want to resolve dependencies at different phases
> of the machine init process.

Do you have any examples of things that are more complicated than
"build everything" followed by "resolve everything"?

> That and two pass is brutally ugly in code (and
> in-efficient) as you need to tag passes.

Not sure I follow, but I can't of course promise aesthetics without
having written any code.

> I'm wondering how your patch fares
> > in terms of error handling for example; can you end up with
> > partially-uninitialized devices or infinite loops?  If so, why not?
> 
> Deadlock looping shouldnt happen if thats what your worried about.
> Each device is instantiated before its able to yield (waiting on
> another) and all devices are inited before you reach that
> all-threads-are-yielded point. Essentially your "first-pass" as you
> suggested above is complete before before every thread is yielded,
> which makes deadlock impossible with current usages.

Ok, so something checks the syntax before initialization runs.

Pao



reply via email to

[Prev in Thread] Current Thread [Next in Thread]