From: Yuval Mintz <yuval.mi...@cavium.com>
Date: Thu, 8 Jun 2017 19:13:16 +0300

> @@ -67,6 +79,21 @@ struct qed_ll2_stats {
>       u64 sent_bcast_pkts;
>  };
>  
> +struct qed_ll2_tx_pkt_info {
> +     u8 num_of_bds;
> +     u16 vlan;
> +     u8 bd_flags;
> +     u16 l4_hdr_offset_w;    /* from start of packet */
> +     enum qed_ll2_tx_dest tx_dest;
> +     enum qed_ll2_roce_flavor_type qed_roce_flavor;
> +     dma_addr_t first_frag;
> +     u16 first_frag_len;
> +     bool enable_ip_cksum;
> +     bool enable_l4_cksum;
> +     bool calc_ip_len;
> +     void *cookie;
> +};
> +

This layout is extremely inefficient, with lots of padding in between
struct members.

Group small u8 members and u16 members together so that they consume
full 32-bit areas so you can eliminate all of the padding.

Reply via email to