qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <aliguori@us.ibm.com>
To: Paul Brook <paul@codesourcery.com>
Cc: qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [PATCH 0/4][RFC] Add module infrastructure to QEMU
Date: Mon, 11 May 2009 11:05:38 -0500	[thread overview]
Message-ID: <4A084CD2.7070108@us.ibm.com> (raw)
In-Reply-To: <200905111548.48216.paul@codesourcery.com>

Paul Brook wrote:
> On Monday 11 May 2009, Anthony Liguori wrote:
>   
>> This is the current state of a patch set to introduce a module
>> infrastructure to QEMU.
>>     
>
> I don't think numeric priorities are a good idea. If we have dependencies then 
> we should be dealing with them properly, not hacking round the problem.
>   

The numeric priorities are an implementation detail.  No one should ever 
consume module_init() directly and I should add appropriately scary 
comments to that affect.

The numeric priorities are currently used to implement a simple 
dependency tree with each level of the tree being an integer priority.

We do have dependencies.  I'd like virtio to be a module, and I'd like 
virtio-net, virtio-blk, etc. to be modules.  This gets exposed as 
virtio.c being a bus_init() and virtio-*.c being virtio_init().  We use 
the integer priorities in module.h to express this.

We could get fancier and have explicit dependencies by name or something 
like that.  I'm not sure I think it's worth getting this complex though.

> Also, there's no reason to have destructors. The init function can register 
> these at runtime.
>   

I don't feel strongly here.

The one case I think it could prove useful is that a number of things 
require atexit functions today.  I think it would be good to use 
destructors to make these more standardized.  Also, deregistering 
components has the advantage of making valgrind much happier.

We don't deregister the block drivers in this patch series, but I can 
certainly add it.

>>  2) Switch to using dynamic shared libraries.  This has the benefit of
>> reducing the QEMU install size.  This is attractive except for the fact
>> that creating dynamic shared libraries across multiple host architectures
>> is a pain.
>>     
>
> In practice I'd expect the shared library overhead (both disk and RAM) to be 
> significantly larger than the saving form omitting a few devices. As you said 
> before, if we're not using something, why build it in the first place?
>
> There's also the issue that shared libraries imply it's OK for third parties 
> to ship binary plugins.
>   

I'm strictly talking about libqemu_common.a and libqemu_user.a.  
However, I really don't want to do shared libraries in the absence of 
automake because shared libraries require a lot of per-platform foo to 
create.

I'm happy ruling this out.

Regards,

Anthony Liguori

> Paul
>   


-- 
Regards,

Anthony Liguori

  parent reply	other threads:[~2009-05-11 16:06 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-11 14:26 [Qemu-devel] [PATCH 0/4][RFC] Add module infrastructure to QEMU Anthony Liguori
2009-05-11 14:26 ` [Qemu-devel] [PATCH 1/4] " Anthony Liguori
2009-05-11 21:37   ` Jean-Christophe PLAGNIOL-VILLARD
2009-05-11 21:53     ` Anthony Liguori
2009-05-11 21:53   ` Jean-Christophe PLAGNIOL-VILLARD
2009-05-11 22:02     ` Anthony Liguori
2009-05-12  9:38       ` Gerd Hoffmann
2009-05-12 10:15         ` Paul Brook
2009-05-12 13:10         ` Anthony Liguori
     [not found]   ` <9EE414CC7AEE4488A45A263DE5B82EFE@jupiter>
2009-05-12 13:19     ` Anthony Liguori
2009-05-11 14:26 ` [Qemu-devel] [PATCH 2/4] Convert block infrastructure to use new module init functionality Anthony Liguori
2009-05-11 14:26 ` [Qemu-devel] [PATCH 3/4] Move block drivers into their own directory Anthony Liguori
2009-05-11 14:26 ` [Qemu-devel] [PATCH 4/4] Introduce global .config to selectively enable compile features Anthony Liguori
2009-05-11 15:22   ` Avi Kivity
2009-05-11 18:37     ` Anthony Liguori
2009-05-11 18:41       ` Avi Kivity
2009-05-11 14:48 ` [Qemu-devel] Re: [PATCH 0/4][RFC] Add module infrastructure to QEMU Paul Brook
2009-05-11 15:19   ` Avi Kivity
2009-05-11 16:10     ` [Qemu-devel] Re: [PATCH 0/4][RFC] Add module infrastructure toQEMU Anthony Liguori
2009-05-11 16:45       ` Avi Kivity
2009-05-11 16:05   ` Anthony Liguori [this message]
2009-05-11 16:16     ` [Qemu-devel] Re: [PATCH 0/4][RFC] Add module infrastructure to QEMU Paul Brook
2009-05-11 16:20       ` Anthony Liguori
2009-05-11 16:43         ` Paul Brook
     [not found] ` <AEED36F4EA194EC2B57D5E4DB7D64896@jupiter>
2009-05-12 13:18   ` [Qemu-devel] " Anthony Liguori

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=4A084CD2.7070108@us.ibm.com \
    --to=aliguori@us.ibm.com \
    --cc=paul@codesourcery.com \
    --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).