need help for avoiding system calls while using URCU (Userspace RCU)

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Thu Mar 6 11:58:21 EST 2025


On 2025-03-06 11:17, Kienan Stewart via lttng-dev wrote:
> Hi 方锴,
> 
> On 3/4/25 3:09 AM, 方锴 via lttng-dev wrote:
> 
>> I have referenced your project, URCU (Userspace RCU), on GitHub, which 
>> is based on the QSBR model. However, I 
> noticed that when using it in user mode, it makes system calls to enter 
> the kernel. Could you please provide guidance on how to address this issue?
> 
> Are there specific parts of the API that you need to be user-space only?
> 
>  > I aim to achieve a pure user-mode implementation. Specifically, I 
> would appreciate any insights or suggestions on avoiding system calls 
> while still maintaining the functionality of the QSBR model in user 
> space. Thank you very much for your time and assistance.
> 
> Currently the locking is done using futexs, which are system calls. 

Clarification: the wait/wakeup between read-side and synchronize is done
using the futex system call. There is no locking on the read-side
per-se.

Thanks,

Mathieu

> Those could potentially be replaced with a poll/retry system either in a 
> different flavour of URCU or at build-time.
> 
> thanks,
> kienan


-- 
Mathieu Desnoyers
EfficiOS Inc.
https://www.efficios.com


More information about the lttng-dev mailing list