Thread (6 messages) 6 messages, 2 authors, 2015-10-27

Re: [PATCH 2/2] net: add driver for Netronome NFP4000/NFP6000 NIC VFs

From: Jakub Kicinski <hidden>
Date: 2015-10-27 11:16:09

On Mon, 26 Oct 2015 18:23:07 -0700 (PDT), David Miller wrote:
From: Jakub Kicinski <redacted>
Date: Fri, 23 Oct 2015 19:58:11 +0100
quoted
+struct nfp_net_tx_buf {
+	struct sk_buff *skb;
+	dma_addr_t dma_addr;
+	short int fidx;
+	u16 pkt_cnt;
+	u32 real_len;
+};
This packs very poorly, and has a lot of padding holes.  Better ordering
would be:

struct nfp_net_tx_buf {
	struct sk_buff *skb;
	dma_addr_t dma_addr;
	u32 real_len;
	short int fidx;
	u16 pkt_cnt;
};
Seems to pack fine on x86:

struct nfp_net_tx_buf {
        struct sk_buff *           skb;                  /*     0     8 */
        dma_addr_t                 dma_addr;             /*     8     8 */
        short int                  fidx;                 /*    16     2 */
        u16                        pkt_cnt;              /*    18     2 */
        u32                        real_len;             /*    20     4 */

        /* size: 24, cachelines: 1, members: 5 */
        /* last cacheline: 24 bytes */
};

Are my packing skills deceiving me?  Maybe I'll try to build the driver
for more esoteric architectures.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help