[PATCH v4 02/11] media: vsp1: Remove packed attributes from aligned structures
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Thu May 24 10:47:30 UTC 2018
Hi Kieran,
Thank you for the patch.
On Thursday, 3 May 2018 16:36:13 EEST Kieran Bingham wrote:
> The use of the packed attribute can cause a performance penalty for
> all accesses to the struct members, as the compiler will assume that the
> structure has the potential to have an unaligned base.
>
> These structures are all correctly aligned and contain no holes, thus
> the attribute is redundant and negatively impacts performance, so we
> remove the attributes entirely.
With gcc 6.4.0 this patch makes no difference on the generated object. Is it
worth it ?
> Signed-off-by: Kieran Bingham <kieran.bingham+renesas at ideasonboard.com>
You forget to pick Geert's review tag.
> ---
> v2
> - Remove attributes entirely
> ---
> drivers/media/platform/vsp1/vsp1_dl.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/media/platform/vsp1/vsp1_dl.c
> b/drivers/media/platform/vsp1/vsp1_dl.c index c7fa1cb088cd..f4cede9b9b43
> 100644
> --- a/drivers/media/platform/vsp1/vsp1_dl.c
> +++ b/drivers/media/platform/vsp1/vsp1_dl.c
> @@ -25,19 +25,19 @@
> struct vsp1_dl_header_list {
> u32 num_bytes;
> u32 addr;
> -} __attribute__((__packed__));
> +};
>
> struct vsp1_dl_header {
> u32 num_lists;
> struct vsp1_dl_header_list lists[8];
> u32 next_header;
> u32 flags;
> -} __attribute__((__packed__));
> +};
>
> struct vsp1_dl_entry {
> u32 addr;
> u32 data;
> -} __attribute__((__packed__));
> +};
>
> /**
> * struct vsp1_dl_body - Display list body
--
Regards,
Laurent Pinchart
More information about the dri-devel
mailing list