To answer question 1, I went and checked every rdepends package:

gdnsd: dynamically links to -lurcu-qsbr
$ ldd /usr/sbin/gdnsd
liburcu-qsbr.so.6 => /usr/lib/x86_64-linux-gnu/liburcu-qsbr.so.6 
(0x00007f33bfde5000)

glusterfs: The only package I am not entirely sure about. Only glusterd uses 
urcu:
ubuntu@ubuntu:~/glusterfs-3.13.2$ grep -Rin "<urcu" .
./config.h.in:200:/* Define to 1 if you have the <urcu-bp.h> header file. */
./config.h.in:203:/* Define to 1 if you have the <urcu/cds.h> header file. */
./xlators/mgmt/glusterd/src/glusterd-rcu.h:14:#include <urcu-bp.h>
./xlators/mgmt/glusterd/src/glusterd-rcu.h:15:#include <urcu/rculist.h>
./xlators/mgmt/glusterd/src/glusterd-rcu.h:16:#include <urcu/compiler.h>
./xlators/mgmt/glusterd/src/glusterd-rcu.h:17:#include <urcu/uatomic.h>
./xlators/mgmt/glusterd/src/glusterd-rcu.h:18:#include <urcu-call-rcu.h>
./xlators/mgmt/glusterd/src/glusterd-conn-helper.c:15:#include <urcu/rculist.h>
$ ldd /usr/sbin/glusterd | grep urcu
<blank>
No mention of static linking either:
ubuntu@ubuntu:~/glusterfs-3.13.2$ grep -Rin "\.a" . | grep urcu
<blank>
The library linker settings are in ./configure.ac:
dnl Check for userspace-rcu
PKG_CHECK_MODULES([URCU], [liburcu-bp], [],
  [AC_CHECK_HEADERS([urcu-bp.h],
     [URCU_LIBS='-lurcu-bp'],
     AC_MSG_ERROR([liburcu-bp not found]))])
PKG_CHECK_MODULES([URCU_CDS], [liburcu-cds >= 0.8], [],
  [PKG_CHECK_MODULES([URCU_CDS], [liburcu-cds >= 0.7],
    [AC_DEFINE(URCU_OLD, 1, [Define if liburcu 0.6 or 0.7 is found])],
    [AC_CHECK_HEADERS([urcu/cds.h],
      [AC_DEFINE(URCU_OLD, 1, [Define if liburcu 0.6 or 0.7 is found])
       URCU_CDS_LIBS='-lurcu-cds'],
      [AC_MSG_ERROR([liburcu-cds not found])])])])
I ran ldd over all glusterfs binaries which are listed by dpkg -L, but they all 
came back negative for urcu. From what I can tell, glusterd from the xlators 
directory is either not built, or does not link against urcu in Ubuntu.

knot: dynamically links to -lurcu
ubuntu@ubuntu:~$ ldd /usr/sbin/knotd
liburcu.so.6 => /usr/lib/x86_64-linux-gnu/liburcu.so.6 (0x00007fc9d1e8b000)

lttng: dynamically links to various urcu libraries
$ ldd /usr/bin/lttng
liburcu-common.so.6 => /usr/lib/x86_64-linux-gnu/liburcu-common.so.6 
(0x00007f6711a2f000)
liburcu.so.6 => /usr/lib/x86_64-linux-gnu/liburcu.so.6 (0x00007f6711827000)
liburcu-cds.so.6 => /usr/lib/x86_64-linux-gnu/liburcu-cds.so.6 
(0x00007f671161d000)

multipath-tools: dynamically links to -lurcu
$ ldd /sbin/multipath
liburcu.so.6 => /usr/lib/x86_64-linux-gnu/liburcu.so.6 (0x00007fe63ace1000)

netsniff-ng: dynamically links to -lurcu
~/netsniff-ng-0.6.4$ grep -Rin "urcu"
flowtop/Makefile:1:flowtop-libs =       -lurcu \
ui.h:7:#include <urcu/list.h>
flowtop.c:28:#include <urcu.h>
flowtop.c:29:#include <urcu/list.h>
flowtop.c:30:#include <urcu/rculist.h>
INSTALL:28: - liburcu:                flowtop
$ ldd /usr/sbin/flowtop
liburcu.so.6 => /usr/lib/x86_64-linux-gnu/liburcu.so.6 (0x00007f7561a5a000)

sheepdog: this program doesn't link against urcu at all! It only uses the 
<urcu/uatomic.h> header file and not anything more.
search for urcu in sheepdog: https://paste.ubuntu.com/p/VPKr4pWtQg/
explanation found in d/changelog: https://paste.ubuntu.com/p/K8XwjK2czD/

ust: dynamically links to various urcu libraries
$ ldd /usr/lib/x86_64-linux-gnu/liblttng-ust-cyg-profile-fast.so.0.0.0
liburcu-bp.so.6 => /usr/lib/x86_64-linux-gnu/liburcu-bp.so.6 
(0x00007f91b0c13000)
liburcu-cds.so.6 => /usr/lib/x86_64-linux-gnu/liburcu-cds.so.6 
(0x00007f91b01f4000)

>From what I can tell, no rdepends package statically links to liburcu,
and they all use dynamic linking, meaning no packages will need to be
rebuilt for this SRU.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1876230

Title:
  liburcu: Enable MEMBARRIER_CMD_PRIVATE_EXPEDITED to address
  performance problems with MEMBARRIER_CMD_SHARED

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/liburcu/+bug/1876230/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to