This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

System Analyzer UIA Events getting dropped

Other Parts Discussed in Thread: SYSBIOS

Hi,

I have enabled System Analyzer UIA to get performance statistics. All the features work just fine but lot of Gaps are observed because of Huge number of event drops.

I am trying to use the "Context Aware Profile" feature by adding Entry Exit hook functions in Project Properties. I do get the profile results but facing the following issues - 

1) Few functions are not captured at all (Not the same functions always)

2) For the functions which gets logged, the execution count is far less than actual count. e.g. I have 2 functions which are invoked for every millisecond but the execution count remains ~1000 - 1500 after I run the system for more than 120 Seconds (actual count being 120000).

Every time I am seeing large number of UIA events (>500000 for every 60 sec) getting dropped.

I am running Only and only context aware profile (summary view) and no other UIA feature.

Below is the part of my .cfg file

var System = xdc.useModule('xdc.runtime.System');
var BIOS = xdc.useModule('ti.sysbios.BIOS');
var Swi = xdc.useModule('ti.sysbios.knl.Swi');
var Hwi = xdc.useModule('ti.sysbios.hal.Hwi');
var Task = xdc.useModule('ti.sysbios.knl.Task');
var HeapBuf = xdc.useModule('ti.sysbios.heaps.HeapBuf');
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
var LoggingSetup = xdc.useModule('ti.uia.sysbios.LoggingSetup');
var Load = xdc.useModule('ti.sysbios.utils.Load');

BIOS.customCCOpts = "-mv6600 --abi=eabi -q -mi10 -mo -pdr -pden -pds=238 -pds=880 -pds1110 -o3 --program_level_compile -g --optimize_with_debug"

Program.sysStack = 8192;
Task.enableIdleTask = true;

BIOS.libType = BIOS.LibType_Custom;
BIOS.assertsEnabled = false;
BIOS.logsEnabled = true;
BIOS.cpuFreq.lo = 1000000000;
Task.idleTaskStackSize = 8192;

LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_JTAGRUNMODE;
LoggingSetup.loadLoggerSize = 32768;
LoggingSetup.sysbiosLoggerSize = 32768;
LoggingSetup.mainLoggerSize = 32768;
Load.hwiEnabled = false;
Load.swiEnabled = false;
Load.windowInMs = 10;

I am using the following Hardware and Software artifacts - 

Nyquist C6670 EVM Board
SYS/BIOS 6.34
XDC Tools 3.24
C6000 Code Generation Tools v7.4.1
MCSDK 2.01

System Analyzer (UIA Target)  1.1.1.14

Please help me understand how I can get better and more reliable results from UIA.

Thanks,

Jitendra

  • Hi Jitendra,

        You can reduce the number of dropouts by disabling load logging and increasing the size of your main logger.  Here is how to do this:

    In your .cfg file, change

    var Load = xdc.useModule('ti.sysbios.utils.Load');

    BIOS.customCCOpts = "-mv6600 --abi=eabi -q -mi10 -mo -pdr -pden -pds=238 -pds=880 -pds1110 -o3 --program_level_compile -g --optimize_with_debug"

    Program.sysStack = 8192;
    Task.enableIdleTask = true;

    BIOS.libType = BIOS.LibType_Custom;
    BIOS.assertsEnabled = false;
    BIOS.logsEnabled = true;
    BIOS.cpuFreq.lo = 1000000000;
    Task.idleTaskStackSize = 8192;

    LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_JTAGRUNMODE;
    LoggingSetup.loadLoggerSize = 32768;
    LoggingSetup.sysbiosLoggerSize = 32768;
    LoggingSetup.mainLoggerSize = 32768;
    Load.hwiEnabled = false;
    Load.swiEnabled = false;
    Load.windowInMs = 10;

    to

    // var Load = xdc.useModule('ti.sysbios.utils.Load');

    BIOS.customCCOpts = "-mv6600 --abi=eabi -q -mi10 -mo -pdr -pden -pds=238 -pds=880 -pds1110 -o3 --program_level_compile -g --optimize_with_debug"

    Program.sysStack = 8192;
    Task.enableIdleTask = true;

    BIOS.libType = BIOS.LibType_Custom;
    BIOS.assertsEnabled = false;
    BIOS.logsEnabled = true;
    BIOS.cpuFreq.lo = 1000000000;
    Task.idleTaskStackSize = 8192;

    LoggingSetup.eventUploadMode = LoggingSetup.UploadMode_JTAGRUNMODE;
    LoggingSetup.loadLogging = false;
    LoggingSetup.sysbiosLoggerSize = 32768;
    LoggingSetup.mainLoggerSize = 65536;
    // Load.hwiEnabled = false;
    // Load.swiEnabled = false;
    // Load.windowInMs = 10;

    You can try increasing LoggingSetup.mainLoggerSize beyond 65536 if you have enough memory.

    Regards,

      Brian