[ECOS] Problems with mboxt2 solved with mboxt

Pieter-Jan Busschaert pieterjan.busschaert@gmail.com
Mon Aug 13 15:49:00 GMT 2007

Hello list,

I was having problems with synchronization on our board. After
enabling kernel instrumentation, I noticed I would sometimes see a
MBOXT_GOT message and sometimes not. Looking through the code of
mboxt.inl, I couldn't find what happened. Only when I discovered
mboxt2.inl, I understood. In mboxt2.inl an MBOXT_GOT message is only
given when the thread does not need to wait. In case it has to wait,
the mboxt2::get() returns after it's waken up (without checking the
count value, as mboxt::get() does).

So, I applied this patch :
http://ecos.sourceware.org/ml/ecos-patches/2006-09/msg00014.html and
now everything works. The main difference I see between the 2 is the
fact mboxt2 only uses 1 queue instead of 2 and only updates count
value if the queues are not empty / full. I suspect there must be an
error somewhere with the updating of that count value, but I couldn't
find it yet.

Has someone on this list further investigated this problem or is
nobody using mboxt2 anymore ?

Pieter-Jan Busschaert
Software Engineer

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