[rtems commit] libblock: Add RTEMS_BDBUF_USE_PTHREAD

Chris Johns chrisj at rtems.org
Tue Jun 3 07:25:41 UTC 2014


On 3/06/2014 4:03 pm, Sebastian Huber wrote:
> 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 <sebh at rtems.org> wrote:
>>>> Module:    rtems
>>>> Branch:    master
>>>> Commit:    1fc2e960cea37e8d78e142c71faec18262f356d2
>>>> Changeset:
>>>> http://git.rtems.org/rtems/commit/?id=1fc2e960cea37e8d78e142c71faec18262f356d2
>>>>
>>>>
>>>> Author:    Ralf Kirchner <ralf.kirchner at 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.
>

You and I know this. I am not sure how new users view the option.

>>
>> 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.

I know .. just my usual whinge about configure options. The patch is fine.

>  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
>

I think the approach here is suitable.

> 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.
>

Sigh, yes I remember.

Chris



More information about the devel mailing list