Concurrency Kit and Epoch Based Reclamation
Sebastian Huber
sebastian.huber at embedded-brains.de
Tue Sep 4 05:59:35 UTC 2018
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?
>
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: epoch.png
Type: image/png
Size: 60254 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20180904/a9cedfee/attachment-0002.png>
More information about the devel
mailing list