On 07/06/16 09:48, Chris Johns wrote:
On 07/06/2016 17:31, Sebastian Huber wrote:
Yes, its definitely worth to discuss this. My preferred solution would
be to go away from the objects and treat the Classic objects as a legacy
component.

I am not sure about the term legacy component but I see what you are saying. For new application user have a range of alternatives to choose from and these are not fully proven or in a release. I am not sure what sort of footprint they have as I have not seen any real data so are they suitable for small memory devices?

The C++11 non-recursive mutex with full SMP support and priority inheritance (OMIP in the future) needs on a 32-bit machine 16 bytes (could be 12 bytes, if we use an MCS lock instead of the ticket lock). Initialization is a simple memset().


The Classic API has a wide user base and there is a lot of code using it and some has a long life cycle. I do not see the Classic API going away in the near, medium or long term. If there is a way to improve the existing Classic API via a separate mutex then we should consider it. I think this is a good idea. It is cleaner and less likely to cause the errors we are seeing.

I didn't ever mention to remove the Classic API. My point is that the Classic API has some inherent weaknesses by design that makes it unsuitable for use in high performance SMP systems and low end systems. It leads also to complex configuration issues for device driver resources that frequently pop up on the mailing list.

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to