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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.