Hi All, I would like align mbuff rearm_data field to 8 byte aligned so that write to mbuf->rearm_data with uint64_t* will be naturally aligned. I am not sure about IA but some other architecture/implementation has overhead in non-naturally aligned stores.
Proposed patch is something like this below, But open for any change to make fit for all other architectures/platform. Any thoughts ? ? [master] [dpdk-master] $ git diff diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h index 529debb..5a917d0 100644 --- a/lib/librte_mbuf/rte_mbuf.h +++ b/lib/librte_mbuf/rte_mbuf.h @@ -733,10 +733,8 @@ struct rte_mbuf { void *buf_addr; /**< Virtual address of segment buffer. */ phys_addr_t buf_physaddr; /**< Physical address of segment buffer. */ - uint16_t buf_len; /**< Length of segment buffer. */ - /* next 6 bytes are initialised on RX descriptor rearm */ - MARKER8 rearm_data; + MARKER64 rearm_data; uint16_t data_off; /** @@ -754,6 +752,7 @@ struct rte_mbuf { uint8_t nb_segs; /**< Number of segments. */ uint8_t port; /**< Input port. */ + uint16_t buf_len; /**< Length of segment buffer. */ uint64_t ol_flags; /**< Offload features. */ /* remaining bytes are set on RX when pulling packet from * descriptor /Jerin