[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