Big structures like bitmap, pipes and queues in subport are addressed using offset of 'memory' field in subport structures. This means no other variable should be added after 'memory' variable or else addressing of such structs like bitmap etc. become incorrect.
Realigned tc_ov_enabled variable in subport structure. Fixes: f5e60154ade ("sched: enable traffic class oversubscription conditionally") Signed-off-by: Megha Ajmera <megha.ajm...@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitre...@intel.com> --- lib/sched/rte_sched.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/sched/rte_sched.c b/lib/sched/rte_sched.c index c91697131d..eaecd7ceb4 100644 --- a/lib/sched/rte_sched.c +++ b/lib/sched/rte_sched.c @@ -202,6 +202,9 @@ struct rte_sched_subport { uint32_t qsize_add[RTE_SCHED_QUEUES_PER_PIPE]; uint32_t qsize_sum; + /* TC oversubscription activation */ + int tc_ov_enabled; + struct rte_sched_pipe *pipe; struct rte_sched_queue *queue; struct rte_sched_queue_extra *queue_extra; @@ -210,8 +213,6 @@ struct rte_sched_subport { struct rte_mbuf **queue_array; uint8_t memory[0] __rte_cache_aligned; - /* TC oversubscription activation */ - int tc_ov_enabled; } __rte_cache_aligned; struct rte_sched_port { -- 2.25.1