+29
−7
Loading
If we simply set _tsc_offset to the highest first_tsc out of all reactors when none have overflowed its circular buffer, it will cut off the first few entries of the scheduler tracepoints. For example, if we have 4 reactors with reactor 0 as the scheduling reactor, reactor 0 will emit a SCHEDULING_PERIOD_START trace, as well as its CORE_STATS and THREAD_STATS. Then reactors 1-3 will do the same. When we parse the trace, the first SCHEDULING_PERIOD_START, CORE_STATS, and THREAD_STATS of reactors 0, 1, and 2 will be erased because reactor 3 started last and has the highest first_tsc. Therefore, we need to check if any reactors have overflowed their circular buffer before truncating the entries. Change-Id: Ifae44a7e7d30b7d2f283a449318fe3083412dc8f Signed-off-by:Anisa Su <anisa.su@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/25043 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Jim Harris <jim.harris@samsung.com> Community-CI: Mellanox Build Bot Reviewed-by:
Konrad Sztyber <konrad.sztyber@intel.com>