Skip navigation.
Home
The QNX Community Portal

View topic - recvfrom waiting for lower priority process to block

recvfrom waiting for lower priority process to block

Read-only archive of qnx.rtos (Writing resources managers, and general discussion around the QNX Neutrino RTOS) at inn.qnx.com

recvfrom waiting for lower priority process to block

Postby richt119 » Wed Jan 02, 2008 4:14 pm

I am using QNX 6.3.2 core on IXP425 ARMBE.
I have a process (Process 1) which opens a UDP multicast socket and blocks on a recvfrom until it receives a packet for the multicast group, it puts the data received into a database and then does a sendto, sending data out to the multicast group.
Data is received every 3 to 4ms after sending data to the multcast group.
This process is running at priority 12.

I have another process (Process 2) which runs for 30ms then blocks for 100ms.
This process is running at priority 10 in FIFO scheduling.

I have noticed that the recvfrom in process 1 does not unblock until process 2 blocks, this delays my sendto by upto 30ms.
If process 2 scheduling is set to round robin then the recvfrom waits until the process 2 timeslices, this delays my sendto by upto 4ms.

It looks like the priority 12 process is waiting for the priority 10 process to block or timeslice.
Is this correct/expected?

I need to reply to data received as quickly as possible.
Do I have to raise the priority of io-net to make the recvfrom unblock as soon as a packet of data is received?
Why does the recvfrom/io-net not inherit the priority of process 1 (12)?

Thanks for the help,
Rich
richt119
Active Member
 
Posts: 10
Joined: Sun Feb 04, 2007 1:35 am

Return to qnx.rtos

Who is online

Users browsing this forum: No registered users and 2 guests

cron