On 2014-06-03 01:58, Chris Johns wrote:
On 3/06/2014 3:37 am, Gedare Bloom wrote:
On Mon, Jun 2, 2014 at 10:48 AM, Sebastian Huber <s...@rtems.org> wrote:
Module:    rtems
Branch:    master
Commit:    1fc2e960cea37e8d78e142c71faec18262f356d2
Changeset:
http://git.rtems.org/rtems/commit/?id=1fc2e960cea37e8d78e142c71faec18262f356d2

Author:    Ralf Kirchner <ralf.kirch...@embedded-brains.de>
Date:      Mon Jun  2 14:46:18 2014 +0200

libblock: Add RTEMS_BDBUF_USE_PTHREAD

Use the PTHREAD mutexes and condition variables if available.  This
helps on SMP configurations to avoid the home grown condition variables
via disabled preemption.


If the bdbufs work better with this pthread implementation, should we
just get rid of the old code in favor of the new code using
pthread_mutex and condvar? This would mean requiring users who want
bdbufs to also configure for POSIX, which I'm not sure whether that is
a problem or not...


I also agree. It seems normal to me to have POSIX enabled to use a POSIX
compliant file system.

The RTEMS_POSIX_API define is mostly POSIX signals and PTHREAD. It has virtually nothing to do with the file system.


I think we need to understand the benefit and trade off the --enable-posix
option gives us these days. The fewer options like this we have the better our
testing results are. There is a limited number of options we can support before
the ability to test becomes impossible. We have too many to test now.

This patch changes nothing with respect to testability. It is just one more area with an RTEMS_POSIX_API usage.

The general question is if we need --enable-posix at all. Here we had only very small improvements in the last years. The RTEMS_POSIX_API still pulls in a lot of stuff via exinit.c. I think we need a modular initialization like on FreeBSD or Linux to tackle this problem, see also

https://www.rtems.org/bugzilla/show_bug.cgi?id=1593

The new network stack uses this approach also and is very flexible. The only thing necessary is this in our linker command files:

        .rtemsrwset : ALIGN_WITH_INPUT {
                KEEP (*(SORT(.rtemsrwset.*)))
        } > REGION_DATA AT > REGION_DATA_LOAD

        .rtemsroset : ALIGN_WITH_INPUT {
                KEEP (*(SORT(.rtemsroset.*)))
        } > REGION_RODATA AT > REGION_RODATA_LOAD

With this we add new requirements for the linker:

1. We need sections.

2. We need the ability to sort the sections lexicographically by name.

--
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.
_______________________________________________
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel

Reply via email to