qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Blue Swirl <blauwirbel@gmail.com>
Cc: "qemu-devel@nongnu.org Developers" <qemu-devel@nongnu.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alexander Graf <agraf@suse.de>,
	Fabien Chouteau <chouteau@adacore.com>,
	Jan Kiszka <jan.kiszka@siemens.com>
Subject: Re: [Qemu-devel] GSoC mentor summit QEMU users session
Date: Wed, 02 Nov 2011 15:42:09 -0500	[thread overview]
Message-ID: <4EB1AB21.3070909@codemonkey.ws> (raw)
In-Reply-To: <CAAu8pHufWddXjXvXRd+nMge8z5e+muBH_GNhT3p+XpQFVkFiGQ@mail.gmail.com>

On 11/02/2011 03:24 PM, Blue Swirl wrote:
> On Wed, Nov 2, 2011 at 19:35, Anthony Liguori<anthony@codemonkey.ws>  wrote:
>> For the record, I'm opposed to ever having a stable plugin API.
>>
>> We aren't a closed source product.  If people want to have to keep up with
>> our changing internal interfaces, they can get their code merged upstream.
>
> Fully agree. I don't even think there can be any benefit for us from a
> plugin system, only API/ABI legacy maintenance effort and limitations
> to architectural changes. All benefits are external.
>
> There are other useful paths available for external users, QAPI, QMP,
> GDBstub, maybe also instrumentation in the future.
>
> Perhaps we could add a 'contrib' directory where new stuff could be
> added easily to make life outside better. It could also be used to
> clean up bitrotten devices and functionality from core. Marking things
> with deprecated attributes or something like CONFIG_EXPERIMENTAL in
> Linux could also help.

I like having dynamic modules for a few reasons:

1) It makes us start thinking in a more modular fashion.  We're getting close to 
a million lines of code--we really do need to do a better job at modularity if 
we want to keep growing at this rate.

2) It makes life a bit nicer for distributions as we grow optional dependencies. 
  Having a single QEMU binary that links against libtpms and libspice means that 
a distro needs to make libtpms/libspice a Requires in the package.  libspice has 
a ton of dependencies which makes QEMU have a ton of hard dependencies. 
Instead, if a distro can build a QEMU package and a qemu-spice package, the 
libspice dependency can be isolated to the qemu-spice package.

That means you can install QEMU on your server without pulling in all sorts of 
ffmpeg stuff if you don't care about Spice.  I'm picking on Spice here, but 
there are lots of other examples here (vde2, libbaum, SDL, etc.).

3) It lets people do out-of-tree development without forking the whole tree.  As 
much as I don't like out-of-tree development, it's a reality.  If things like 
the Android SDK could be done just as a set of plugins, it would be better for 
all of us.

4) We'll hopefully get to a point where most of what we do can be demand loaded. 
  This helps us establish a smaller in memory base which is important when it 
comes to Security Certifications[1].

[1] Security Certification has only an arguable relationship with actual 
security but it is, nonetheless, and important consideration.

Regards,

Anthony Liguori

>
>> Regards,
>>
>> Anthony Liguori
>>
>>> Alex
>>>
>>>
>>
>>
>>
>

  reply	other threads:[~2011-11-02 20:42 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-29 13:52 [Qemu-devel] GSoC mentor summit QEMU users session Alexander Graf
2011-10-31 13:12 ` Peter Maydell
2011-11-01  0:08   ` Alexander Graf
2011-11-01  1:35     ` Peter Maydell
2011-11-01  4:29       ` Alexander Graf
2011-11-01 10:05   ` Gerd Hoffmann
2011-11-01 23:11     ` Chris Johns
2011-11-02 17:44   ` Fabien Chouteau
2011-11-02 18:17     ` Jan Kiszka
2011-11-02 18:29       ` Anthony Liguori
2011-11-02 18:34         ` Alexander Graf
2011-11-02 18:46           ` Jan Kiszka
2011-11-02 18:47             ` Alexander Graf
2011-11-02 19:07               ` Peter Maydell
2011-11-02 19:27                 ` Alexander Graf
2011-11-02 19:35                   ` Anthony Liguori
2011-11-02 20:24                     ` Blue Swirl
2011-11-02 20:42                       ` Anthony Liguori [this message]
2011-11-03  7:34                         ` Markus Armbruster
2011-11-03  7:46                     ` Markus Armbruster
2011-11-03  8:36                       ` Andreas Färber
2011-11-04 15:47                         ` Alexander Graf
2011-11-02 18:50             ` Anthony Liguori
2011-11-02 18:52               ` Jan Kiszka
2011-11-02 18:51           ` Anthony Liguori
2011-11-03  7:38             ` Stefan Hajnoczi
2011-11-03  7:44           ` Markus Armbruster
2011-11-01 14:28 ` Andreas Färber
2011-11-01 14:50   ` Anthony Liguori
2011-11-02 17:39 ` Fabien Chouteau
2011-11-03  7:44   ` Stefan Hajnoczi
2011-11-03  9:35     ` Fabien Chouteau
2011-11-04  8:36       ` Stefan Hajnoczi
2011-11-04  9:53         ` Fabien Chouteau
2011-11-04 12:04           ` Stefan Hajnoczi
2011-11-04 14:36             ` Fabien Chouteau
2011-11-04 18:45         ` Lluís Vilanova
2011-11-07 10:16           ` Fabien Chouteau
2011-11-07 11:50             ` Lluís Vilanova
2011-11-07 13:51               ` Fabien Chouteau
2011-11-07 14:17                 ` Lluís Vilanova

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EB1AB21.3070909@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=agraf@suse.de \
    --cc=blauwirbel@gmail.com \
    --cc=chouteau@adacore.com \
    --cc=jan.kiszka@siemens.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).