X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Flttng-statedump-impl.c;h=2b42783a2c0617ae93b74a894c488a3f0f16fe80;hb=0def91708e136463a7e19e322932844e596a02db;hp=4dfbca0b29dcc8b11b81099cd43f2ab97376c573;hpb=7259e6a5dfc2a27cd7e8171d9b337610bbf44984;p=lttng-modules.git 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 #include #include -#include #include #include #include @@ -34,6 +33,7 @@ #include #include +#include #include #include #include @@ -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;