Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Enhance QosOrch::doTask by handling QUEUE table after all the rest ta…
…bles handled (sonic-net#2801) Signed-off-by: Stephen Sun <[email protected]> What I did Enhance QosOrch::doTask by handling QUEUE table after all the rest tables handled to avoid retry Signed-off-by: Stephen Sun [email protected] Details if related During system initialization, QoS table items are received before gPortsOrch->allPortsReady() becomes true and will be handled all together after it becomes true. In most cases, it will be handled in the for loop in the following snippet of code in OrchDaemon::start() auto *c = (Executor *)s; c->execute(); /* After each iteration, periodically check all m_toSync map to * execute all the remaining tasks that need to be retried. */ /* TODO: Abstract Orch class to have a specific todo list */ for (Orch *o : m_orchList) o->doTask(); The QUEUE table items reference WRED_PROFILE and SCHEDULER_PROFILE table items. In case the latter tables are handled after the QUEUE table, the QUEUE table needs to be retried in the next for loop, which is not necessary. So, we adjust the order in which the tables are handled to guarantee that all QoS table items to be handled in a single call to QosOrch::doTask.
- Loading branch information