diff options
author | Patrick Williams <patrick@stwcx.xyz> | 2021-10-07 00:15:23 +0300 |
---|---|---|
committer | Patrick Williams <patrick@stwcx.xyz> | 2021-10-07 00:16:59 +0300 |
commit | 93c203f3a38be7db9cd7bb6b4954f3eb655acc8e (patch) | |
tree | 04bda7390e80d6fbca827a2759af81fc2d8bab78 /poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch | |
parent | 17e10e6463249dda117e09d86749610931b52053 (diff) | |
download | openbmc-93c203f3a38be7db9cd7bb6b4954f3eb655acc8e.tar.xz |
subtree updates
meta-security: de6712a806..a85fbe980e:
Anton Antonov (1):
Upgrade parsec-service 0.8.1 and parsec-tool 0.4.0
Armin Kuster (1):
chkrootkit: update to 0.55
Bhupesh Sharma (1):
recipes-security/fscrypt: Add fscrypt .bb file
Christer Fletcher (1):
dmverity: Make use of DATA_BLOCK_SIZE variable in initrdscript.
Kristian Klausen (1):
libtpm: update to 0.8.7
Zoltán Böszörményi (1):
clamav: Set clamav:clamav ownership on /var/lib/clamav in do_install
poky: 06dcace68b..80f2b56ad8:
Anibal Limon (1):
recipes-support/ptest-runner: Bump to v2.4.2
Bruce Ashfield (5):
linux-yocto-dev: update to v5.15-rcX
lttng-modules/dev-upstream: update to 2.13-latest
lttng-modules: fix build against 5.15+
linux-yocto/5.13: drop recipes
yocto-bsp/5.13: drop recipes
Chandana kalluri (1):
scriptutils.py: Add check before deleting path
Daniel Wagenknecht (2):
common-tasks: add note about license implications of bundled initramfs
ref-manual: add note about license implications of bundled initramfs
Joshua Watt (2):
lib/oe/spdx.py: Add comments
python3: Fix sysroot reproducibility
Kenfe-Mickael Laventure (1):
package_ipk: Use localdata store when signing packages
Kiran Surendran (1):
ffmpeg: fix CVE-2021-38171
Kristian Klausen (2):
ovmf: add TPM PACKAGECONFIG and enable if tpm is in MACHINE_FEATURES
wic/bootimg-efi: Add Unified Kernel Image option
Markus Volk (1):
wic:direct.py: ignore invalid mountpoints during fstab update
Matt Madison (1):
autotools.bbclass: use ordinary append for file-checksums update
Michael Halstead (1):
releases: update to include 3.1.11
Minjae Kim (1):
vim: fix CVE-2021-3778
Quentin Schulz (1):
ref-manual: fix missed override syntax change
Rasmus Villemoes (1):
kernel.bbclass: remove unnecessary dead code
Richard Purdie (29):
oeqa/qemurunner: Use oe._exit(), not sys.exit()
pseudo: Add in ability to flush database with shutdown request
packagegroup-core-tools-profile: Exclude systemtap from riscv32 as well
bitbake: bitbake-worker: Allow shutdown/database flush of pseudo server at task exit
bitbake: siggen: Fix sorting in diff output
bitbake: cooker/command: Add a dummy event for tinfoil testing
oeqa/selftest/gotoolchain: Fix temp file cleanup
oeqa/buildproject: Ensure temp directories are cleaned up
libc_package/buildstats: Fix python regex quoting warnings
oeqa/selftest/tinfoil: Update to use test command
glew: Stop polluting /tmp during builds
rpm: Ensure compression parallelism isn't coded into rpms
package: Ensure pclist files are deterministic and don't use full paths
gnupg: Be deterministic about sendmail
mesa: Ensure megadrivers runtime mappings are deterministic
util-linux: Fix reproducibility
libtool: Allow libtool-cross to reproduce
gobject-introspection: Don't write $HOME into scripts
oeqa/selftest/bbtests: Add uuid to force build test
image: Exclude IMAGE_VERSION_SUFFIX from expansion in image tasks
sstatesig: Revert "Test cross/native hashserv method extension"
bitbake: data: Ensure functions are defined in a deterministic order
bitbake.conf: Set vardepvalue for PARALLEL_MAKEINST
externalsrc: Fix a source date epoch race in reproducible builds
sstatesig: Add processing for full build paths in sysroot files
python3: Drop broken pyc files
image-artifact-names: Use SOURCE_DATE_EPOCH when making reproducible builds for deploy
abi_version/sstate: Bump HASH_VERSION and SSTATE_VERSION
reproducible_build: Work around caching issues
Robert P. J. Day (3):
ref-manual: extend explanation of PACKAGE_DEBUG_SPLIT_STYLE
ref-manual: mention INHIBIT_PACKAGE_DEBUG_SPLIT variable
overview-manual: delete bad backslashes in SSTATE_MIRRORS example
Saul Wold (3):
spdx-licenses.json: Use 3.14 tagged version
spdx.py: Add SPDXAnnotation Object
create-spdx: Use SPDXAnnotation to track native recipes
Thomas Perrot (2):
libevent: mark util/monotonic_prc_fallback as retriable
ruby: fix the reproducibility issue
Tom Pollard (2):
bzip2: Update soname for libbz2 1.0.8
libsamplerate0: Set correct soname for 0.1.9
Trevor Woerner (1):
hello-mod/hello.c: convert printk to pr_xxx
William A. Kennington III (1):
rm_work.bbclass: Fix for files starting with -
Yi Zhao (1):
inetutils: fix CVE-2021-40491
wangmy (1):
strace: upgrade 5.13 -> 5.14
meta-openembedded: cff8331f96..23dc4f060f:
Armin Kuster (1):
README: update to main repo
Chandana kalluri (1):
python3-humanfriendly: Add nativesdk to BBCLASSEXTEND
Changqing Li (1):
layer.conf: add openembedded-layer as LAYERDEPENDS
Khem Raj (3):
smcroute: Add missing pkgconfig inherit
packagegroup-meta-oe: Add new packages smarty and libjs-jquery-icheck
gattlib: Upgrade to latest
LiweiSong (1):
chipsec: platform security assessment framework
Martin Jansa (5):
opencv: fix build with protobuf-3.18 when dnn PACKAGECONFIG is enabled
libeigen: backport fix for -Werror=class-memaccess issues when NEON is enabled
README: mention linux-libc-dev:i386 for luajit on ubuntu-21.10
gpsd: inherit pkgconfig
pahole: use MACHINE_ARCH
Matteo Croce (1):
pahole: don't download vendored libbpf
Mingli Yu (1):
libqb: Upgrade to 2.0.3
Nandor Han (1):
libiio: depend on avahi only when network backed is used
Peter Kjellerstedt (1):
netdata: Move the version to the file name and correct the SRC_URI
Richard Purdie (1):
gattlib: Place pkgconfig file in correct package
Yi Zhao (1):
phpmyadmin: upgrade 5.1.0 -> 5.1.1
wangmy (7):
unionfs-fuse: upgrade 2.1 -> 2.2
smcroute: upgrade 2.4.4 -> 2.5.3
snort: upgrade 2.9.18 -> 2.9.18.1
libsass: upgrade 3.6.4 -> 3.6.5
sanlock: upgrade 3.8.3 -> 3.8.4
sassc: upgrade 3.6.1 -> 3.6.2
valijson: upgrade 0.5 -> 0.6
zangrc (8):
python3-pychromecast: upgrade 9.2.0 -> 9.2.1
python3-pyro4: upgrade 4.80 -> 4.81
python3-pyzmq: upgrade 22.2.1 -> 22.3.0
python3-robotframework: upgrade 4.1 -> 4.1.1
python3-sqlparse: upgrade 0.4.1 -> 0.4.2
python3-tqdm: upgrade 4.62.2 -> 4.62.3
libjs-jquery-icheck: Add recipe
smarty: Add recipe
zhengruoqin (6):
python3-cmd2: upgrade 2.1.2 -> 2.2.0
python3-huey: upgrade 2.4.0 -> 2.4.1
python3-humanfriendly: upgrade 9.2 -> 10.0
cifs-utils: upgrade 6.13 -> 6.14
cmark: upgrade 0.30.1 -> 0.30.2
gpsd: upgrade 3.23 -> 3.23.1
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Ie782ff5d7f3004fb1f1ac9a4c8644a178bae46ad
Diffstat (limited to 'poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch')
-rw-r--r-- | poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch | 394 |
1 files changed, 394 insertions, 0 deletions
diff --git a/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch new file mode 100644 index 0000000000..4e52e5f122 --- /dev/null +++ b/poky/meta/recipes-kernel/lttng/lttng-modules/0001-fix-cpu-hotplug-Remove-deprecated-CPU-hotplug-functi.patch @@ -0,0 +1,394 @@ +From 8be4c8a38ee1e297578e094a6e4c143ec5259aba Mon Sep 17 00:00:00 2001 +From: Michael Jeanson <mjeanson@efficios.com> +Date: Mon, 13 Sep 2021 12:00:38 -0400 +Subject: [PATCH 1/2] fix: cpu/hotplug: Remove deprecated CPU-hotplug + functions. (v5.15) + +The CPU-hotplug functions get|put_online_cpus() were deprecated in v4.13 +and removed in v5.15. + +See upstream commits : + +commit 8c854303ce0e38e5bbedd725ff39da7e235865d8 +Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de> +Date: Tue Aug 3 16:16:21 2021 +0200 + + cpu/hotplug: Remove deprecated CPU-hotplug functions. + + No users in tree use the deprecated CPU-hotplug functions anymore. + + Remove them. + +Introduced in v4.13 : + + commit 8f553c498e1772cccb39a114da4a498d22992758 + Author: Thomas Gleixner <tglx@linutronix.de> + Date: Wed May 24 10:15:12 2017 +0200 + + cpu/hotplug: Provide cpus_read|write_[un]lock() + + The counting 'rwsem' hackery of get|put_online_cpus() is going to be + replaced by percpu rwsem. + + Rename the functions to make it clear that it's locking and not some + refcount style interface. These new functions will be used for the + preparatory patches which make the code ready for the percpu rwsem + conversion. + + Rename all instances in the cpu hotplug code while at it. + +Upstream-Status: backport [https://git.lttng.org/?p=lttng-modules.git;a=commit;h=ffcc873470121ef1ebb110df3d9038a38d9cb7cb] + +Change-Id: I5a37cf5afc075a402b7347989fac637dfa60a1ed +Signed-off-by: Michael Jeanson <mjeanson@efficios.com> +Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> +--- + include/wrapper/cpu.h | 44 +++++++++++++++++++++++ + src/lib/ringbuffer/ring_buffer_backend.c | 8 ++--- + src/lib/ringbuffer/ring_buffer_frontend.c | 17 ++++----- + src/lib/ringbuffer/ring_buffer_iterator.c | 15 ++++---- + src/lttng-context-perf-counters.c | 11 +++--- + src/lttng-statedump-impl.c | 6 ++-- + 6 files changed, 74 insertions(+), 27 deletions(-) + create mode 100644 include/wrapper/cpu.h + +diff --git a/include/wrapper/cpu.h b/include/wrapper/cpu.h +new file mode 100644 +index 00000000..cbee1962 +--- /dev/null ++++ b/include/wrapper/cpu.h +@@ -0,0 +1,44 @@ ++/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only) ++ * ++ * wrapper/cpu.h ++ * ++ * Copyright (C) 2021 Michael Jeanson <mjeanson@efficios.com> ++ */ ++ ++#ifndef _LTTNG_WRAPPER_CPU_H ++#define _LTTNG_WRAPPER_CPU_H ++ ++#include <linux/cpu.h> ++#include <lttng/kernel-version.h> ++ ++#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0)) ++ ++static inline ++void lttng_cpus_read_lock(void) ++{ ++ cpus_read_lock(); ++} ++ ++static inline ++void lttng_cpus_read_unlock(void) ++{ ++ cpus_read_unlock(); ++} ++ ++#else /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0) */ ++ ++static inline ++void lttng_cpus_read_lock(void) ++{ ++ get_online_cpus(); ++} ++ ++static inline ++void lttng_cpus_read_unlock(void) ++{ ++ put_online_cpus(); ++} ++ ++#endif /* LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,13,0) */ ++ ++#endif /* _LTTNG_WRAPPER_CPU_H */ +diff --git a/src/lib/ringbuffer/ring_buffer_backend.c b/src/lib/ringbuffer/ring_buffer_backend.c +index 26efb2bc..9a339be0 100644 +--- a/src/lib/ringbuffer/ring_buffer_backend.c ++++ b/src/lib/ringbuffer/ring_buffer_backend.c +@@ -12,10 +12,10 @@ + #include <linux/delay.h> + #include <linux/errno.h> + #include <linux/slab.h> +-#include <linux/cpu.h> + #include <linux/mm.h> + #include <linux/vmalloc.h> + ++#include <wrapper/cpu.h> + #include <wrapper/mm.h> + #include <wrapper/vmalloc.h> /* for wrapper_vmalloc_sync_mappings() */ + #include <ringbuffer/config.h> +@@ -445,14 +445,14 @@ int channel_backend_init(struct channel_backend *chanb, + chanb->cpu_hp_notifier.priority = 5; + register_hotcpu_notifier(&chanb->cpu_hp_notifier); + +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_online_cpu(i) { + ret = lib_ring_buffer_create(per_cpu_ptr(chanb->buf, i), + chanb, i); + if (ret) + goto free_bufs; /* cpu hotplug locked */ + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + #else + for_each_possible_cpu(i) { + ret = lib_ring_buffer_create(per_cpu_ptr(chanb->buf, i), +@@ -485,7 +485,7 @@ free_bufs: + */ + #else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */ + #ifdef CONFIG_HOTPLUG_CPU +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + unregister_hotcpu_notifier(&chanb->cpu_hp_notifier); + #endif + #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */ +diff --git a/src/lib/ringbuffer/ring_buffer_frontend.c b/src/lib/ringbuffer/ring_buffer_frontend.c +index e9056118..87a575d0 100644 +--- a/src/lib/ringbuffer/ring_buffer_frontend.c ++++ b/src/lib/ringbuffer/ring_buffer_frontend.c +@@ -48,6 +48,7 @@ + #include <ringbuffer/iterator.h> + #include <ringbuffer/nohz.h> + #include <wrapper/atomic.h> ++#include <wrapper/cpu.h> + #include <wrapper/kref.h> + #include <wrapper/percpu-defs.h> + #include <wrapper/timer.h> +@@ -724,7 +725,7 @@ static void channel_unregister_notifiers(struct lttng_kernel_ring_buffer_channel + int cpu; + + #ifdef CONFIG_HOTPLUG_CPU +- get_online_cpus(); ++ lttng_cpus_read_lock(); + chan->cpu_hp_enable = 0; + for_each_online_cpu(cpu) { + struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, +@@ -732,7 +733,7 @@ static void channel_unregister_notifiers(struct lttng_kernel_ring_buffer_channel + lib_ring_buffer_stop_switch_timer(buf); + lib_ring_buffer_stop_read_timer(buf); + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + unregister_cpu_notifier(&chan->cpu_hp_notifier); + #else + for_each_possible_cpu(cpu) { +@@ -772,14 +773,14 @@ void lib_ring_buffer_set_quiescent_channel(struct lttng_kernel_ring_buffer_chann + const struct lttng_kernel_ring_buffer_config *config = &chan->backend.config; + + if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) { +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_channel_cpu(cpu, chan) { + struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, + cpu); + + lib_ring_buffer_set_quiescent(buf); + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + } else { + struct lttng_kernel_ring_buffer *buf = chan->backend.buf; + +@@ -794,14 +795,14 @@ void lib_ring_buffer_clear_quiescent_channel(struct lttng_kernel_ring_buffer_cha + const struct lttng_kernel_ring_buffer_config *config = &chan->backend.config; + + if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) { +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_channel_cpu(cpu, chan) { + struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, + cpu); + + lib_ring_buffer_clear_quiescent(buf); + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + } else { + struct lttng_kernel_ring_buffer *buf = chan->backend.buf; + +@@ -899,7 +900,7 @@ struct lttng_kernel_ring_buffer_channel *channel_create(const struct lttng_kerne + chan->cpu_hp_notifier.priority = 6; + register_cpu_notifier(&chan->cpu_hp_notifier); + +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_online_cpu(cpu) { + struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, + cpu); +@@ -909,7 +910,7 @@ struct lttng_kernel_ring_buffer_channel *channel_create(const struct lttng_kerne + spin_unlock(&per_cpu(ring_buffer_nohz_lock, cpu)); + } + chan->cpu_hp_enable = 1; +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + #else + for_each_possible_cpu(cpu) { + struct lttng_kernel_ring_buffer *buf = per_cpu_ptr(chan->backend.buf, +diff --git a/src/lib/ringbuffer/ring_buffer_iterator.c b/src/lib/ringbuffer/ring_buffer_iterator.c +index 25839af6..60c95ca6 100644 +--- a/src/lib/ringbuffer/ring_buffer_iterator.c ++++ b/src/lib/ringbuffer/ring_buffer_iterator.c +@@ -10,6 +10,7 @@ + */ + + #include <ringbuffer/iterator.h> ++#include <wrapper/cpu.h> + #include <wrapper/file.h> + #include <wrapper/uaccess.h> + #include <linux/jiffies.h> +@@ -440,13 +441,13 @@ int channel_iterator_init(struct lttng_kernel_ring_buffer_channel *chan) + chan->hp_iter_notifier.priority = 10; + register_cpu_notifier(&chan->hp_iter_notifier); + +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_online_cpu(cpu) { + buf = per_cpu_ptr(chan->backend.buf, cpu); + lib_ring_buffer_iterator_init(chan, buf); + } + chan->hp_iter_enable = 1; +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + #else + for_each_possible_cpu(cpu) { + buf = per_cpu_ptr(chan->backend.buf, cpu); +@@ -519,7 +520,7 @@ int channel_iterator_open(struct lttng_kernel_ring_buffer_channel *chan) + CHAN_WARN_ON(chan, config->output != RING_BUFFER_ITERATOR); + + if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) { +- get_online_cpus(); ++ lttng_cpus_read_lock(); + /* Allow CPU hotplug to keep track of opened reader */ + chan->iter.read_open = 1; + for_each_channel_cpu(cpu, chan) { +@@ -529,7 +530,7 @@ int channel_iterator_open(struct lttng_kernel_ring_buffer_channel *chan) + goto error; + buf->iter.read_open = 1; + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + } else { + buf = channel_get_ring_buffer(config, chan, 0); + ret = lib_ring_buffer_iterator_open(buf); +@@ -538,7 +539,7 @@ int channel_iterator_open(struct lttng_kernel_ring_buffer_channel *chan) + error: + /* Error should always happen on CPU 0, hence no close is required. */ + CHAN_WARN_ON(chan, cpu != 0); +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + return ret; + } + EXPORT_SYMBOL_GPL(channel_iterator_open); +@@ -550,7 +551,7 @@ void channel_iterator_release(struct lttng_kernel_ring_buffer_channel *chan) + int cpu; + + if (config->alloc == RING_BUFFER_ALLOC_PER_CPU) { +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_channel_cpu(cpu, chan) { + buf = channel_get_ring_buffer(config, chan, cpu); + if (buf->iter.read_open) { +@@ -559,7 +560,7 @@ void channel_iterator_release(struct lttng_kernel_ring_buffer_channel *chan) + } + } + chan->iter.read_open = 0; +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + } else { + buf = channel_get_ring_buffer(config, chan, 0); + lib_ring_buffer_iterator_release(buf); +diff --git a/src/lttng-context-perf-counters.c b/src/lttng-context-perf-counters.c +index b0227d47..372f05e0 100644 +--- a/src/lttng-context-perf-counters.c ++++ b/src/lttng-context-perf-counters.c +@@ -16,6 +16,7 @@ + #include <lttng/events.h> + #include <lttng/events-internal.h> + #include <ringbuffer/frontend_types.h> ++#include <wrapper/cpu.h> + #include <wrapper/vmalloc.h> + #include <wrapper/perf.h> + #include <lttng/tracer.h> +@@ -97,10 +98,10 @@ void lttng_destroy_perf_counter_ctx_field(void *priv) + { + int cpu; + +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_online_cpu(cpu) + perf_event_release_kernel(events[cpu]); +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + #ifdef CONFIG_HOTPLUG_CPU + unregister_cpu_notifier(&perf_field->nb); + #endif +@@ -304,7 +305,7 @@ int lttng_add_perf_counter_to_ctx(uint32_t type, + perf_field->nb.priority = 0; + register_cpu_notifier(&perf_field->nb); + #endif +- get_online_cpus(); ++ lttng_cpus_read_lock(); + for_each_online_cpu(cpu) { + events[cpu] = wrapper_perf_event_create_kernel_counter(attr, + cpu, NULL, overflow_callback); +@@ -317,7 +318,7 @@ int lttng_add_perf_counter_to_ctx(uint32_t type, + goto counter_busy; + } + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + perf_field->hp_enable = 1; + } + #endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,10,0)) */ +@@ -351,7 +352,7 @@ counter_error: + if (events[cpu] && !IS_ERR(events[cpu])) + perf_event_release_kernel(events[cpu]); + } +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + #ifdef CONFIG_HOTPLUG_CPU + unregister_cpu_notifier(&perf_field->nb); + #endif +diff --git a/src/lttng-statedump-impl.c b/src/lttng-statedump-impl.c +index 4dfbca0b..2b42783a 100644 +--- a/src/lttng-statedump-impl.c ++++ b/src/lttng-statedump-impl.c +@@ -23,7 +23,6 @@ + #include <linux/file.h> + #include <linux/interrupt.h> + #include <linux/irqnr.h> +-#include <linux/cpu.h> + #include <linux/netdevice.h> + #include <linux/inetdevice.h> + #include <linux/mm.h> +@@ -34,6 +33,7 @@ + + #include <lttng/events.h> + #include <lttng/tracer.h> ++#include <wrapper/cpu.h> + #include <wrapper/irqdesc.h> + #include <wrapper/fdtable.h> + #include <wrapper/namespace.h> +@@ -770,7 +770,7 @@ int do_lttng_statedump(struct lttng_kernel_session *session) + * is to guarantee that each CPU has been in a state where is was in + * syscall mode (i.e. not in a trap, an IRQ or a soft IRQ). + */ +- get_online_cpus(); ++ lttng_cpus_read_lock(); + atomic_set(&kernel_threads_to_run, num_online_cpus()); + for_each_online_cpu(cpu) { + INIT_DELAYED_WORK(&cpu_work[cpu], lttng_statedump_work_func); +@@ -778,7 +778,7 @@ int do_lttng_statedump(struct lttng_kernel_session *session) + } + /* Wait for all threads to run */ + __wait_event(statedump_wq, (atomic_read(&kernel_threads_to_run) == 0)); +- put_online_cpus(); ++ lttng_cpus_read_unlock(); + /* Our work is done */ + trace_lttng_statedump_end(session); + return 0; +-- +2.19.1 + |