Re: [PATCH 1/5] xfsprogs: introduce liburcu support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 24 Sep 2021 at 06:11, Eric Sandeen wrote:
> On 9/15/21 8:46 PM, Dave Chinner wrote:
>> From: Dave Chinner <dchinner@xxxxxxxxxx>
> ..
>
>> Hence kernel code written with RCU algorithms and atomic variables
>> will just slot straight into the userspace xfsprogs code without us
>> having to think about whether the lockless algorithms will work in
>> userspace or not. This reduces glue and hoop jumping, and gets us
>> a step closer to having the entire userspace libxfs code MT safe.
>> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>
>
> ...
>
>> diff --git a/m4/Makefile b/m4/Makefile
>> index c6c73dc9bbee..7312053039f4 100644
>> --- a/m4/Makefile
>> +++ b/m4/Makefile
>> @@ -24,6 +24,7 @@ LSRCFILES = \
>>   	package_services.m4 \
>>   	package_types.m4 \
>>   	package_icu.m4 \
>> +	package_urcu.m4 \
>
> This new m4 file is missing from the patchset, I think?
>

urcu.h maps rcu_init()/rcu_[un]register_thread() to one of the userspace
variants e.g. rcu_init() may be mapped to urcu_mb_init(). The configure script
generated by autoconf does not include urcu.h in the code snippet it generates
to detect availability of rcu_init(). Hence the linker complains about not
finding rcu_init() causing configure script to declare that liburcu is not
present on the system.

After finding the root cause, I searched through configure.ac scripts of Knot
DNS (https://www.knot-dns.cz/) and found that the project was using
rcu_set_pointer_sym() as the function in their m4 macros.

The changes can be obtained from
https://github.com/chandanr/xfsprogs-dev/commit/d227e8aac894ffe1d688c6c658b445ca56a173fb

-- 
chandan



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux