Re: L4Re: region mapper/manager concurrency considerations and resource limits
Christian Ludwig <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, On Sunday, 07.02.2021, 01:54 +0100 Paul Boddie wrote: > What considerations need to be given to concurrency with regard to > the use of > the l4re_rm_attach function and similar functionality? Is access to > the region > mapper/manager from different threads in the same task advisable, are > there > thread safety issues, and if so, can these be sensibly worked around? Calls to the region manager are IPC calls and are synchronized by a wait-queue in the kernel. The region manager thread only serves one client at a time. In fact if you use multiple threads in a task it serves all page-faults for all threads already. It's thread-safe by design. However, the capability slot allocator (l4re_util_cap_alloc) is not thread-safe. You need to introduce some synchronization if you use it from multiple threads. Hope that helps. - Christian