Concurrency Kit and Epoch Based Reclamation

Gedare Bloom gedare at rtems.org
Tue Sep 4 16:07:15 UTC 2018


On Tue, Sep 4, 2018 at 9:58 AM, Joel Sherrill <joel at rtems.org> wrote:
>
>
> On Tue, Sep 4, 2018 at 12:59 AM Sebastian Huber
> <sebastian.huber at embedded-brains.de> wrote:
>>
>> On 03/09/18 11:35, Sebastian Huber wrote:
>> > Hello,
>> >
>> > I have now a prototype implementation of the FreeBSD epoch memory
>> > reclamation API:
>> >
>> > https://github.com/freebsd/freebsd/blob/master/share/man/man9/epoch.9
>> >
>> > I think it would be a nice feature for RTEMS SMP in general. One
>> > option would be to integrate it in RTEMS instead of libbsd. This would
>> > require an import of Concurrency Kit to RTEMS:
>> >
>> > https://github.com/concurrencykit/ck
>> >
>> > Concurrency Kit lacks support for C++ and needs probably some changes
>> > to work well in uni-processor setups. So, it would need some changes
>> > for RTEMS. What do you think?
>
>
> The license has a BSD-style advertising clause.
>
> Redistribution and use in source and binary forms, with or without
> modification, are permitted provided that the following conditions
> are met:
> 1. Redistributions of source code must retain the above copyright
>    notice, this list of conditions and the following disclaimer.
> 2. Redistributions in binary form must reproduce the above copyright
>    notice, this list of conditions and the following disclaimer in the
>    documentation and/or other materials provided with the distribution.
>
> Is condition #2 ok for inclusion in RTEMS?
>
This looks to be normal 2-clause BSD?

>>
>> >
>>
>> Just some more background information. The Concurrency Kit offers an
>> epoch API for general use and is used by FreeBSD. The epoch API and
>> implementation from FreeBSD is a specialization which deals also with
>> the storage management of the epoch records (ck_epoch_record_t) as a
>> per-processor resource. The use of per-processor data is a very elegant
>> approach which avoids some life cycle issues which would pop up if
>> thread-local records would be used.
>>
>> The measured performance on a T4240 is quite good. Concurrent enter/exit
>> scales linearly up to 12 processors, then I guess a bus saturation is
>> reached.
>>
>> --
>> 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.huber at embedded-brains.de
>> PGP     : Public key available on request.
>>
>> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>>
>> _______________________________________________
>> devel mailing list
>> devel at rtems.org
>> http://lists.rtems.org/mailman/listinfo/devel
>
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list