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