Scheduling problems in embedded linux
Hi,
I am using embedded linux in iMX27 ARM processor. My C application has around 16 posix threads running, each of them configured to use round robin scheduling.
One of the thread handles flash operation. It uses mtd driver to write data directly to the flash. When this thread is busy writing data to the flash, other threads are not getting serviced(for about 20 seconds) until the flash write operation is complete.
As per my understanding, the RR scheduling should service all the threads one by one for a constant quantum time. Is there anything i can do to fix this? Or am i missing something here?
Please let me know.
Thanks in advance.
|