Remove ht-cleanup thread
authorFrancis Deslauriers <francis.deslauriers@efficios.com>
Tue, 18 Jan 2022 22:25:06 +0000 (17:25 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 28 Jan 2022 19:51:26 +0000 (14:51 -0500)
commit3c3390532736cfb5198f863d0d2b218e21fcf76d
tree17ad0febd157c751305512550dde12839fad9a79
parentff9fe3137fc1aec6e18ebbf7c218907698206e7d
Remove ht-cleanup thread

The hashtable cleanup thread was introduced to prevent deadlocks
happening when the `cds_lfht_destroy()` function was called concurrently
with userspace-rcu hashtable resizes.

This was fixed in the userspace-rcu project in commit:
  commit d0ec0ed2fcb5d67a28587dcb778606e64f5b7b83
  Author: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  Date:   Tue May 30 15:51:45 2017 -0400

      Use workqueue in rculfhash

That commit makes it so that the `cds_lfht_destroy()` function can
safely be called within RCU read-side critical sections.

This commit is included in the 0.10 release of urcu. The LTTng-Tools
project now has a minimum version dependency on urcu 0.11.

Because it's now safe to call `cds_lfht_destroy()` within RCU critical
sections, the need for the hash table cleanup thread disappears. This
commit replaces all uses of `ht_cleanup_push()` by `lttng_ht_destroy()`
and remove all uses and mentions of the ht_cleanup thread.

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I163a281b64a6b3eed62c58515932f71f3b52fea6
23 files changed:
src/bin/lttng-sessiond/Makefile.am
src/bin/lttng-sessiond/agent.cpp
src/bin/lttng-sessiond/buffer-registry.cpp
src/bin/lttng-sessiond/consumer.cpp
src/bin/lttng-sessiond/health-sessiond.h
src/bin/lttng-sessiond/ht-cleanup.cpp [deleted file]
src/bin/lttng-sessiond/ht-cleanup.h [deleted file]
src/bin/lttng-sessiond/lttng-sessiond.h
src/bin/lttng-sessiond/lttng-syscall.cpp
src/bin/lttng-sessiond/main.cpp
src/bin/lttng-sessiond/session.cpp
src/bin/lttng-sessiond/snapshot.cpp
src/bin/lttng-sessiond/testpoint.h
src/bin/lttng-sessiond/trace-ust.cpp
src/bin/lttng-sessiond/ust-app.cpp
src/bin/lttng-sessiond/ust-registry.cpp
src/bin/lttng-sessiond/utils.cpp
src/bin/lttng-sessiond/utils.h
src/lib/lttng-ctl/lttng-ctl-health.cpp
tests/regression/tools/health/health_fail.c
tests/regression/tools/health/health_stall.c
tests/regression/tools/health/test_health.sh
tests/unit/test_session.cpp
This page took 0.028601 seconds and 5 git commands to generate.