This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Cortex-M3 kernel failing certain kernel tests.


On 2013-09-18, Grant Edwards <grant.b.edwards@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]