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.

PROCESSOR-SDK-AM57X: GateMP Implementation Blocking and Timeout issues

Part Number: PROCESSOR-SDK-AM57X

Hello,

Our application is looking to implement the GateMP module for access to shared data across multiple processors. We've tested the API and while it does function properly at providing System wide access protection, we are concerned about the internal functionality of the GateMP_enter() API. From the IPC Users Guide:

"GateMP_enter() enters the caller's local gate. The local gate (if supplied) blocks if entered on the local processor. If entered by the remote processor, GateMP_enter() spins until the remote processor has left the gate."

GateMP_enter() seems to either spin or block internally without providing any sort of status or timeout on how long it takes to acquire a gate. So without some sort of external implementation we can theoretically be locked waiting for a Gate indefinitely. Are there any examples of a way to implement such a feature, or plans by Texas Instruments to add it to the API?

Thanks,
Ryan

  • Hello Ryan,

    I will  need some time to look into this with some other experts. With respect to implementing a feature in the future, there is no plan to have any further development on the RTOS SDK. There will be a new release coming up at the end of the year but there will be no adding of features.

    -Regards, 

    Josue

  • Hi Ryan,

    GateMP is indeed the multi-processor lock, but it doesn't have any timeout features. The locking scheme itself is designed to provide multi-processor lock semantics over fairly controlled shared resources.

    W.r.t status or timeout, the GateMP lock/module itself does not have any information w.r.t what context or shared resource is being protected with the lock or how long it is going to be in held state. So, it is not possible for any of the features you are asking for.

    Please see the GateMP module documentation for more details.  

    regards

    Suman