qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC PATCH 0/6] Convert softmmu-template into normal co


From: Emilio G. Cota
Subject: Re: [Qemu-devel] [RFC PATCH 0/6] Convert softmmu-template into normal code
Date: Fri, 20 Apr 2018 14:35:57 -0400
User-agent: Mutt/1.5.24 (2015-08-30)

On Fri, Apr 20, 2018 at 16:50:39 +0100, Alex Bennée wrote:
> Any questions/thoughts/comments?

Very nice!

I modified the style a little bit, namely to pass checkpatch and to
improve grepability by having
  foo __attribute__((flatten))
  function(arg1, arg2, ...)
as opposed to
  foo __attribute__((flatten)) function(arg1,
                                        arg2,
                                        ...)

I also changed the patches to make the series simpler: one patch
to add softmmu.c (without compiling it yet), one patch to
actually use softmmu.c, and a final patch to remove the template
file.

You can get my modifications from:
  https://github.com/cota/qemu/tree/softmmu

Note that there are two stray references to softmmu_template
in comments:
$ git grep -i 'softmmu_template'
accel/tcg/translate-all.c: * Called via softmmu_template.h when code areas are 
written to with
accel/tcg/translate-all.c: * Called by softmmu_template.h, with iothread mutex 
not held.

I don't have time right now to test performance, but at least
the only function I checked (helper_ret_ldub_mmu) has only grown
in size by a little bit, from 584 bytes to 614.

The executable is now larger:

- before:
   text    data     bss     dec     hex filename
9864951 2944592 4371560 17181103        10629af 
aarch64-softmmu/qemu-system-aarch64

- after:
   text    data     bss     dec     hex filename
9892095 2944592 4371560 17208247        10693b7 
aarch64-softmmu/qemu-system-aarch64

By removing flatten we can decrease the overall size, but this might affect 
perf:
   text    data     bss     dec     hex filename
9849967 2944592 4371560 17166119        105ef27 
aarch64-softmmu/qemu-system-aarch64

This is a slow path though so it might be worth looking into.

BTW I haven't done any testing, just compile-tested for all targets.

So overall I think this should be upgraded from RFC to a proper patch
series; hopefully we can get this done for 2.13!

Thanks,

                Emilio



reply via email to

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