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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/