[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PULL 20/21] Revert use of DEFINE_MACHINE() for registr
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PULL 20/21] Revert use of DEFINE_MACHINE() for registrations of multiple machines |
Date: |
Mon, 21 Sep 2015 14:24:51 -0300 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Mon, Sep 21, 2015 at 05:52:47PM +0200, Andreas Färber wrote:
> Am 21.09.2015 um 17:49 schrieb Eduardo Habkost:
> > On Sat, Sep 19, 2015 at 04:43:29PM +0200, Andreas Färber wrote:
> >> The script used for converting from QEMUMachine had used one
> >> DEFINE_MACHINE() per machine registered. In cases where multiple
> >> machines are registered from one source file, avoid the excessive
> >> generation of module init functions by reverting this unrolling.
> >
> > Why is that a problem?
>
> It's unnecessary code bloat and it blocks the usual QOM patterns. See
> the follow-up series for an example where an abstract base type helps,
> which your macro does not allow.
Do you have any numbers on the actual bloat impact? Personally, I
think the reduction of boilerplate code is worth the extra bytes
in the binary. Files that register lots of simple machine classes
are exactly the use case I had in mind when adding the macro.
About the cases where an abstract base type helps, I agree
DEFINE_MACHINE isn't appropriate, but in those cases I would use
a macro like DEFINE_PC_MACHINE to reduce boilerplate code anyway.
But I don't mind too much either way: if the maintainer of the
corresponding machine code prefers to not reduce boilerplate code
using a macro, that's OK to me. I am happy now that QEMUMachine
is gone.
--
Eduardo
- [Qemu-devel] [PULL 13/21] machine: Set MachineClass::name automatically, (continued)
- [Qemu-devel] [PULL 13/21] machine: Set MachineClass::name automatically, Andreas Färber, 2015/09/19
- [Qemu-devel] [PULL 15/21] exynos4: Use MachineClass instead of exynos4_machines array, Andreas Färber, 2015/09/19
- [Qemu-devel] [PULL 16/21] exynos4: Declare each QEMUMachine as a separate variable, Andreas Färber, 2015/09/19
- [Qemu-devel] [PULL 17/21] machine: DEFINE_MACHINE() macro, Andreas Färber, 2015/09/19
- [Qemu-devel] [PULL 18/21] mac_world: Break long line, Andreas Färber, 2015/09/19
- [Qemu-devel] [PULL 21/21] machine: Eliminate QEMUMachine and qemu_register_machine(), Andreas Färber, 2015/09/19
- [Qemu-devel] [PULL 20/21] Revert use of DEFINE_MACHINE() for registrations of multiple machines, Andreas Färber, 2015/09/19
[Qemu-devel] [PULL 19/21] Use DEFINE_MACHINE() to register all machines, Andreas Färber, 2015/09/19
Re: [Qemu-devel] [PULL 00/21] QOM devices patch queue 2015-09-19, Peter Maydell, 2015/09/19