[ECOS] Changing tick interval - MIPS

sd109 sd109@yahoo.com
Mon Feb 9 19:47:00 GMT 2009

I have a MIPS platform running ECOS v2.0. Default tick interval is 10ms. There are a few tasks at equal priority, and time slicing is enabled (5 ticks). At 10ms tick interval, everything works fine. All equal priority tasks get a chance to run.
I tried changing tick intervals by modifying CYGNUM_HAL_RTC_DENOMINATOR value.
First, i lowered the tick interval to 1ms. After this, i see only one task is running. None of the other tasks are getting a chance to run. Then i changed tick interval to 5ms. Same result. It seems like context switch is not happening.
Secondly, i increased the tick interval to 50ms and 100ms. And, the system hangs on boot up. Nothing runs.
As soon as i change the CYGNUM_HAL_RTC_DENOMINATOR value to 10ms (default), things get back to normal. I am not sure why changing the tick interval has such a big impact on scheduling. The RTC interrupt on MIPS is derived from count and compare register, which i would assume can handle 1ms or 5ms or 50ms durations. In other words, i am not suspecting the RTC interrupt itself.
Any clues on why this is happening? The only value that i change is CYGNUM_HAL_RTC_DENOMINATOR. I do see that CYGNUM_HAL_RTC_PERIOD changes based on the denominator value.
Are there any other dependencies to change tick interval? I wonder what is so special about the default 10ms tick interval?

Thanks in advance.


Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

More information about the Ecos-discuss mailing list