On 2013-09-18, Grant Edwards <grant.b.edwa...@gmail.com> wrote: > I'm testing an eCos port to an NXP Cortex-M3 part (very similar to the > existing LPC17xx port), and I'm stuck with some failing kernel tests: > > mutex3 > kmutex3 > stress_threads > dhrystone [...]
> These tests are run using a very minimal build with the mlqueue > scheduler (no io device drivers, no network, no file support, no > timeslicing). It turns out that stress_threads and dhrystone both require "printf" stdio support to work. Unfortunately, the CDL for the kernel tests doesn't seem to catch this missing dependancy. They both compile and link fine, but end up calling cyg_io_write() with a NULL io handle. After adding a couple #define's to make them use diag_printf and diag_sprintf, stress_threads and dhrystone both pass. Even though it passes, I think there's still a problem with the stress_threads test. It prints out a series of state dumps with messages claiming they're one minute intervals, but they're only a few seconds. I'm guessing that stress_threads contains a hidden assumption that the clock tick is 10ms and mine is actually 1ms. The mutex3 and kmutex3 tests still both fail the same as they did before... > * mutex3 and kmutex3 both fail test number 24 and then hang: > > ----- [24] New Cycle: 0x60, Threads 1a inactive, 2a run late, 3a run late > ----- > INFO:<Thread 1 running> > INFO:<Thread 2 running> > INFO:<Extra thread 2a running> > INFO:<Thread 3 running> > INFO:<Extra thread 3a running> > INFO:<Thread 1 exit> > INFO:<Checking priority scheme: dynamic-default-inherit> > INFO:<Extra thread 2a resumed> > INFO:<Extra thread 2a locked> > INFO:<Extra thread 2a unlocked> > INFO:<Extra thread 2a exiting> > INFO:<Thread 3 exit> > INFO:<Extra thread 3a resumed> > INFO:<Extra thread 3a locked> > INFO:<EFAIL:<Extra thread did not run> Line: 346, File: > [...]kernel/current/tests/mutex3.cxx > <hang> > > ----- [24] New Cycle: 0x60, Threads 1a inactive, 2a run late, 3a run late > ----- > INFO:<Thread 1 running> > INFO:<Thread 2 running> > INFO:<Extra thread 2a running> > INFO:<Thread 3 running> > INFO:<Extra thread 3a running> > INFO:<Thread 1 exit> > INFO:<Checking priority scheme: dynamic-default-inherit> > INFO:<Extra thread 2a resumed> > INFO:<Extra thread 2a locked> > INFO:<Extra thread 2a unlocked> > INFO:<Extra thread 2a exiting> > INFO:<Thread 3 exit> > INFO:<Extra thread 3a resumed> > INFO:<Extra thread 3a locked> > INFO:<EFAIL:<Extra thread did not run> Line: 353, File: > [...]kernel/current/tests/kmutex3.c > <hang> -- Grant Edwards grant.b.edwards Yow! I'm GLAD I at remembered to XEROX all gmail.com my UNDERSHIRTS!! -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss