Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e76c1d3d authored by Jakub Kicinski's avatar Jakub Kicinski Committed by David S. Miller
Browse files

nfp: restore correct ordering of fields in rx ring structure



Commit 7f1c684a ("nfp: setup xdp_rxq_info") mixed the cache
cold and cache hot data in the nfp_net_rx_ring structure (ignoring
the feedback), to try to fit the structure into 2 cache lines
after struct xdp_rxq_info was added.  Now that we are about to add
a new field the structure will grow back to 3 cache lines, so
order the members correctly.

Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: default avatarDirk van der Merwe <dirk.vandermerwe@netronome.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 46627170
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -350,9 +350,9 @@ struct nfp_net_rx_buf {
 * @qcp_fl:     Pointer to base of the QCP freelist queue
 * @rxbufs:     Array of transmitted FL/RX buffers
 * @rxds:       Virtual address of FL/RX ring in host memory
 * @xdp_rxq:    RX-ring info avail for XDP
 * @dma:        DMA address of the FL/RX ring
 * @size:       Size, in bytes, of the FL/RX ring (needed to free)
 * @xdp_rxq:    RX-ring info avail for XDP
 */
struct nfp_net_rx_ring {
	struct nfp_net_r_vector *r_vec;
@@ -364,14 +364,15 @@ struct nfp_net_rx_ring {
	u32 idx;

	int fl_qcidx;
	unsigned int size;
	u8 __iomem *qcp_fl;

	struct nfp_net_rx_buf *rxbufs;
	struct nfp_net_rx_desc *rxds;

	dma_addr_t dma;
	struct xdp_rxq_info xdp_rxq;

	dma_addr_t dma;
	unsigned int size;
} ____cacheline_aligned;

/**