Question on thread priorities in Linux
Hi,
I have a question regarding thread priorities in Linux.
The scenario is like this:
I have a thread 'A' in the Kernel which services external requests and has to respond within a specified time(generally in milli secs).
I have some compute intensive calculation being done in the UserLevel for which data is made available from the kernel. So I have a user thread 'B' which blocks in the kernel, by making an IOCTL call, to collect the data and service the compute intensive calculation when a request comes. This calculation can take anywhere from 3-6 secs. After calculation is completed in the UserLevel it passes the result of the calculation by another IOCTL to the Kernel.
My problem is:
The kernel thread 'A' generally services requests within the stipulated time(some milli secs). But sometimes when the request arrives during the compute intensive calculation in the <<User Level the service is not rendered in the stipulated time>> and sometimes take as long as the actual completion of the compute intensive calculation(3-6 secs). Isn't it that the Kernel thread preempts the UserLevel thread?
I am using linux 2.4.17.
Thanks for your help,
-Manu
PS: Could you please CC me the answer to this question.