[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170608.192358.1444190196602150329.davem@davemloft.net>
Date: Thu, 08 Jun 2017 19:23:58 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: Yuval.Mintz@...ium.com
Cc: netdev@...r.kernel.org, linux-rdma@...r.kernel.org,
Michal.Kalderon@...ium.com
Subject: Re: [PATCH net-next 1/8] qed: LL2 to use packed information for tx
From: Yuval Mintz <Yuval.Mintz@...ium.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.
Powered by blists - more mailing lists