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.

Problem report : UIA LoggerSM doesn't use Timestamp module

Other Parts Discussed in Thread: SYSBIOS

Hello everyone,

(ccsv6, target C6678, sysbios 6.41.01.36, xdctools 3.30.05.60, uia 2.00.02.39)

The aim of LoggerSM is to write execution logs in shared memory.
These logs have a timestamp associated to them. (optional)

The aim of XDC Timestamp proxy is to provide a single way to timestamp events accross the system.
In theory, once set, all sysbios/IPC/UIA modules use it to timestamp events

However, and this is the problem I'm reporting, it's not the case for the LoggerSM module for C64p family of targets (C6678 included).

Behaviour for C64p family: TSCL and TSCH is used to timestamp logs (as you can see in LoggerSM.c runtime side)

Expected behaviour: always use Timestamp_get64() which calls the Timestamp proxy.


In the meantime I've patched my UIA package to fix this.
I hope it gets resolved in the future.

Regards,
Clement

  • Hi Clement,

    As noted, LoggerSM does use TSCL and TSCH directly for c64P. This was done to improve performance of the Log statements (which could be called often). We wanted Log statements to be a quick as possible to have minimal impact on the application.

    The default Timestamp provider for c64P devices is ti.sysbios.family.c64p.TimestampProvider which uses TSCL and TSCH.

    We felt applications would not use a different timestamp provider since TSCL/TSCH are built into the HW and have minimal impact on the system when accessing them. Therefore we made the decision to short-cut the call to Timestamp_get64 and directly use TSCL/TSCH in LoggerSM to save some cycles.

    I can open an enhancement request, but cannot give you a time-frame on when this will be addressed.

    Todd

  • Hi Todd,

    I understand the reasons of the design but at least, to me, it should be user-configurable.
    Either statically or dynamically.

    In our use case we use Timestamp_get64 to access a shared timer and therefore have logs synchronized between cores.

    Clement
  • Hi Clement,

    Fair point. We have a timestamp provider in UIA that allows multiple cores to sync off the same global timer, so I understand you want to do it with LoggerSM.

    I've opened an enhancement request

    SDOCM00116097: Allow c64P LoggerSM to use Timestamp_get64 instead of hard-coded TSCL/TSCH

    I'm checking for a potential time-frame for this change.

    Todd

  • Hi Clement,

    We have a releasing coming up in May, but we missed the boat for this enhancement. We are tentatively planning another UIA release in the latter part of the summer. SDOCM00116097 will be in that one. I expect we'll only do the static support. Is that ok?

    Todd

  • Hi Todd,

    End of summer will do.

    In the meantime we'll use our modified UIA package.

    Static configuration is fine, dynamic would be strange (and I don't see an use case for that).

    Also if could revamp the LoggerSM documentation to detail a little more its relation with the other UIA modules such as LoggingSetup. And precise that LogSync cannot be used with it.

    Thanks for the quick support, it's appreciated.

    Clement