Priority selection for application

Hi all,

     By default, the priority of a thread is 10. I need some of my threads to run at high priority. So i set their priorities at 20. But it caused some issues like the system time not getting updated etc.

From my understanding OS related threads are running at priorities 10 , 11 and 12 and driver threads at 21, 22 etc.
Could anyone please tell which priority range i should give for my application threads. Scheduling used in round robin.


Just setting a thread to be 1 higher (11) than the default of 10 should be all you need. If that’s not enough, try 12.

It’s very rare that you would need priorities for an application (non-driver) beyond those numbers. In fact I hardly ever use anything but the default priority of 10.


And multi-core makes priority less relevant. We aren’t that far away from machines with as many core as there are priorities ;-)

How about as many processors as running threads, :slight_smile:.

We are already there now aren’t we?

AMD offers 16 core processors (Opteron 6200 series) and there are MB’s that hold 4 of them giving 64 cores. The cost is around $4300 making them cost effective for servers / high end work stations. … ore_Server


Yes, but on a server you probably have 64+ threads running. I’m really nit picking here.
That’s a tremendous amount of cpu power, and more than likely a system like that is completely
I/O bound at the disk(s).

I could be wrong, but I think the current distributions of QNX only have a cpu mask with 32 bits, so
I guess QNX is maxed out. It’s probably something along the lines of getting a 64 bit version going before more are supported.
Of course with the current focus on embedded systems, that will probably be quite a while.

I hope not!

I had a talk today with someone from QNX. The told me that it was half done (64 bit QNX), but not in progress.