How to change thread priority?

2 posts / 0 new
Last post
Offline
Joined: 10/18/2017
Posts: 12
How to change thread priority?

Hello everyone,

I am having some troubles with thread priorities.

I am running a pub/sub application on VxWorks and I notice that for each pub/sub that I run, 4 threads with priority 71 are created (named RTIOsapi).

I looked for it on the platform notes and I noticed that "71" is the THREAD_PRIORITY_ABOVE_NORMAL value for VxWorks.

I would like to change this value somewhere in the XML QoS file. I found out that there is a tag:

<thread>

     <priority>...</priority>

</thread>

and I want to use it but I do not know where to put it in the XML file. It is a DataWriter/DataReader policy or what?

Thanks for your help,

- Luigi

Offline
Joined: 02/11/2016
Posts: 92

Hey,

 

Two resources I recommend looking into are:

The QoS cheat-sheet (for a full guide you can look at the user's manual)

https://community.rti.com/static/documentation/connext-dds/5.3.0/doc/manuals/connext_dds/RTI_ConnextDDS_CoreLibraries_QoS_Reference_Guide.pdf 

And the threading model

https://community.rti.com/static/documentation/connext-dds/5.3.0/doc/manuals/connext_dds/html_files/RTI_ConnextDDS_CoreLibraries_UsersManual/Content/UsersManual/threading.htm

 

In short:

RTI creates a few threads for its internal work.

The creation of some threads is dependent on the usage of some qos options (such as asynchronous publisher).

RTI uses a few other qos options to determine which threads are created, how many of them are created and what the priority of the different rti threads will be.

 

There are use-cases where one would want to give some (or all) of the rti threads higher priority than normal (those, I believe, are described both in the qos cheat-sheet as well as in the threading model link).

 

Good luck,

Roy.