This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Preempting of task in DSP BIOS



Hi,

We have an application on C6424 which uses DSP BIOS6.0. This application is running 8 processing tasks which are of equal priority and one controller task which is of lower priority (differs by only one level) than processing task. We are assuming that this controller task will be pre-empted when a processing task is ready to execute but we could see that there is a small interruption in the processing when the controller task is doing something. Is our assumption wrong?

regards,
Arun

  • Arun,

    You are correct in your assumption that SYS/BIOS will ensure that the highest priority task that is ready to run preempts any lower priority task.  Not sure what to suggest with the limited information you have provided...

  • Hi David,

     

    Thanks a lot for your reply. I was trying to find out a reason for preemption to not work. Could you please tell me what are all the occasions where preemption of a thread will be disabled? Does it have any relation with compiler option --interrupt_threshold? I am using a third party library function which is taking a pretty long time to execute. So if preemption didn't happen, definitely there is possibility of other threads getting interrupted.

  • Arun,

    You're description of what is running on your system is vague so its hard to understand what's going on.  So are you saying, you have a lower priority thread running and you want to know the reasons why it wouldn't be preempted?

    First, what are all the other higher priority tasks blocked on?  I would assume some semaphore?  Which means those tasks won't be running until the semaphore is posted.  Now, if Tasks were disabled and the semaphore got posted within a task disable, then I don't think a task switch will occur.

    Compiler options should not have any effect on BIOS tasks.

    Judah