fix: removal of [smp_]read_barrier_depends (v5.9)
[lttng-modules.git] / lttng-events.c
index ebcc0467a6681278e2e81f174870c5f9582886ae..b658aaa2f26946fe5bb3badd3a9fb477c61ce785 100644 (file)
@@ -199,8 +199,10 @@ void lttng_session_destroy(struct lttng_session *session)
                BUG_ON(chan->channel_type == METADATA_CHANNEL);
                _lttng_channel_destroy(chan);
        }
+       mutex_lock(&session->metadata_cache->lock);
        list_for_each_entry(metadata_stream, &session->metadata_cache->metadata_stream, list)
                _lttng_metadata_channel_hangup(metadata_stream);
+       mutex_unlock(&session->metadata_cache->lock);
        if (session->pid_tracker)
                lttng_pid_tracker_destroy(session->pid_tracker);
        kref_put(&session->metadata_cache->refcount, metadata_cache_destroy);
@@ -1662,9 +1664,9 @@ void lttng_metadata_end(struct lttng_session *session)
        if (atomic_dec_return(&session->metadata_cache->producing) == 0) {
                struct lttng_metadata_stream *stream;
 
-               mutex_unlock(&session->metadata_cache->lock);
                list_for_each_entry(stream, &session->metadata_cache->metadata_stream, list)
                        wake_up_interruptible(&stream->read_wait);
+               mutex_unlock(&session->metadata_cache->lock);
        }
 }
 
@@ -1683,7 +1685,7 @@ int lttng_metadata_printf(struct lttng_session *session,
        size_t len;
        va_list ap;
 
-       WARN_ON_ONCE(!READ_ONCE(session->active));
+       WARN_ON_ONCE(!LTTNG_READ_ONCE(session->active));
 
        va_start(ap, fmt);
        str = kvasprintf(GFP_KERNEL, fmt, ap);
@@ -2269,7 +2271,7 @@ int _lttng_event_metadata_statedump(struct lttng_session *session,
 {
        int ret = 0;
 
-       if (event->metadata_dumped || !READ_ONCE(session->active))
+       if (event->metadata_dumped || !LTTNG_READ_ONCE(session->active))
                return 0;
        if (chan->channel_type == METADATA_CHANNEL)
                return 0;
@@ -2341,7 +2343,7 @@ int _lttng_channel_metadata_statedump(struct lttng_session *session,
 {
        int ret = 0;
 
-       if (chan->metadata_dumped || !READ_ONCE(session->active))
+       if (chan->metadata_dumped || !LTTNG_READ_ONCE(session->active))
                return 0;
 
        if (chan->channel_type == METADATA_CHANNEL)
@@ -2567,7 +2569,7 @@ int _lttng_session_metadata_statedump(struct lttng_session *session)
        struct lttng_event *event;
        int ret = 0;
 
-       if (!READ_ONCE(session->active))
+       if (!LTTNG_READ_ONCE(session->active))
                return 0;
 
        lttng_metadata_begin(session);
This page took 0.024017 seconds and 4 git commands to generate.