Trace point traceQUEUE_SEND duplicate

The trace point traceQUEUE_SEND is used in prvNotifyQueueSetContainer() and xQueueGenericSend(). This is causing some trouble when tracing since we can’t tell them apart.

In Pull Request #47 I renamed the trace point in prvNotifyQueueSetContainer() to traceQUEUE_SET_SEND, and added also its’ empty definition in FreeRTOS.h.

How do I go about getting that minor change approved?

Hi @erik.tamlin,

A few members of FreeRTOS will review your pull request, and provide comments if necessary.

Adding an empty definition FreeRTOS.h will enable the code to build with tracing turned on, but will also break Percepio users as it will effectively remove the trace point for them unless an implementation of the new trace macro is added to Percepio’s trace recorder.

1 Like

I think this can be made backward compatible by defining traceQUEUE_SET_SEND to traceQUEUE_SEND, if it is undefined.

#ifndef traceQUEUE_SET_SEND
	#define traceQUEUE_SET_SEND traceQUEUE_SEND
#endif

#ifndef traceQUEUE_SEND
	#define traceQUEUE_SEND( pxQueue )
#endif

Let us know if you agree with the above.

Thanks.

1 Like

Gaurav’s proposal should make it backwards compatible for anyone currently using them, so I agree with it.

Our (Percepio’s) trace recorder already requires the user to patch prvNotifyQueueSetContainer() and change the trace point to traceQUEUE_SET_SEND. We must be able to differentiate between the two.
If we land on another name for it or something I will make the necessary changes in the trace recorder to match.

Best regards
Erik

@erik.tamlin Note the next FreeRTOS version will have multiple task notifications, whereas the current release only has one. That also required updates to two of the trace macros as shown here: https://github.com/FreeRTOS/FreeRTOS/pull/73/files#diff-7ff6ca5331a34c9430683904d442dcd9R1256 - now FreeRTOS is in Git it should be easier for us to keep these things in sync as you can create pull requests to upstream changes.