How to configure the behavior of idle/critical compaction algorithm in flashMDD? RRS feed

  • Question

  • We have seen system hangup if the flash file system is interrupted by hitting reboot of the processor. As file system writes FAT table to new location after every power up/power down cycle, NAND flash gets filled up with filesystem data though there is no application using the flash. Multiple reboot of the kernel makes system lockup.

    To prevent the Flash corruption or hangup due to compaction thread which gets kicked in after >50 cycle of reboot as multiple flash blocks become garbage,Behavior of compaction thread should be fine-tuned or completely disable idle compaction so that only critical compaction will be started when the entire flash is 90% full. % of flash free space should be configured to start the critical compaction. This way compaction thread can be prevented from running though there is enough free space..  Another solution could be to increase the priority of the compaction so that it finishes the job quickly. Looks like wince doesn’t provide environment variables for the compaction thread configuration including registry key for Flashmdd [ Priority256 ] to modify the priority.

    How to configure the priority of compaction thread or specify the conditions for idle or critical compaction thread?


    Shivarama Bhat

    Tuesday, July 17, 2012 5:39 AM