qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 0/7] Fix packing for MinGW with -mms-bitfields


From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH 0/7] Fix packing for MinGW with -mms-bitfields
Date: Mon, 29 Aug 2011 11:39:18 +0200




Am 29.08.2011 um 10:34 schrieb TeLeMan <address@hidden>:

> On Mon, Aug 29, 2011 at 13:01, Stefan Weil <address@hidden> wrote:
>> Am 28.08.2011 23:43, schrieb Blue Swirl:
>>> 
>>> On Sun, Aug 28, 2011 at 8:43 PM, Stefan Weil <address@hidden> wrote:
>>>> 
>>>> These patches fix the packing of structures which were affected by
>>>> the new compiler attribute -mms-bitfields (which is needed for glib-2.0).
>>>> 
>>>> I compiled qemu.exe with and without -mms-bitfields and compared
>>>> the resulting struct alignment using pahole and codiff.
>>> 
>>> If a structure is only used internally by QEMU (not used in network,
>>> disk or guest interfaces), changes in padding don't matter. In fact,
>>> in those cases it may be better to remove the packing, because then
>>> the fields may be naturally aligned and that gives better performance
>>> on most architectures. Could you please check if this is the case for
>>> any of the structs?
>> 
>> I did this already, but also forward your question to the maintainers.
>> Here is my result:
>> 
>> [PATCH 2/7] block/vvfat: Fix packing for w32: needs packing (disk)
>> [PATCH 3/7] acpi: Fix packing for w32: needs packing (bios interface)
>> [PATCH 4/7] hpet: Fix packing for w32: needs packing (bios interface)
>> [PATCH 5/7] usb: Fix packing for w32: needs packing (usb interface)
>> [PATCH 6/7] virtio: Fix packing for w32: needs packing? (guest interface?)
>> [PATCH 7/7] slirp: Fix packing for w32: needs packing (network interface)
>> 
>> All those struct statements need the pack attribute (otherwise the code
>> would have to be rewritten which is of course always possible).
> gesn_cdb in atapi.c,  VMDK4Header in vmdk.c and many structures in
> bt.h need be fixed too.

Yes, please go through the complete source code and either replace the packed 
attribute by your macro or remove the unused ones. This patch set feels very 
x86-guest focused :)

I would however wait for another day and check if anyone is offended by the 
macro approach in general.

Thanks a lot for doing this!

Alex


reply via email to

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