Priority inversion when using MTD
Sekhar Nori
nori.sekhar at gmail.com
Thu May 17 09:20:34 EDT 2007
Hi,
I have a high priority SCHED_FIFO task which runs out of a squashfs file system.
When this process needs to fetch a page from the flash (due to demand paging),
it is sometimes made to wait for another low priority SCHED_NORMAL
task which is doing an erase on some other mtd partition.
This helps other middle priority processes have a free run causing a
priority inversion issue.
The get_chip function in cfi_cmdset_0001.c uses a per chip wait queue
for all processes which need to wait for chip access.
Is there any way to avoid this scenario? Any help/pointers would be appreciated.
Thanks,
Sekhar Nori.
More information about the linux-mtd
mailing list