Revert "Fix: don't perform extra flush on metadata channel"
[lttng-modules.git] / lib / ringbuffer / ring_buffer_frontend.c
index ea76cf8b93a4b262a7471ba850f3fa71c8ebd293..c1bb199e0a0374a82bd4aac4967ce504ef435ff7 100644 (file)
@@ -1034,6 +1034,15 @@ int lib_ring_buffer_snapshot(struct lib_ring_buffer *buf,
        unsigned long consumed_cur, write_offset;
        int finalized;
 
+       /*
+        * First, ensure we perform a "final" flush onto the stream.  This will
+        * ensure we create a packet of padding if we encounter an empty
+        * packet. This ensures the time-stamps right before the snapshot is
+        * used as end of packet timestamp.
+        */
+       if (!buf->quiescent)
+               _lib_ring_buffer_switch_remote(buf, SWITCH_FLUSH);
+
 retry:
        finalized = ACCESS_ONCE(buf->finalized);
        /*
@@ -1793,13 +1802,6 @@ void lib_ring_buffer_switch_remote(struct lib_ring_buffer *buf)
 }
 EXPORT_SYMBOL_GPL(lib_ring_buffer_switch_remote);
 
-/* Switch sub-buffer even if current sub-buffer is empty. */
-void lib_ring_buffer_switch_remote_empty(struct lib_ring_buffer *buf)
-{
-       _lib_ring_buffer_switch_remote(buf, SWITCH_FLUSH);
-}
-EXPORT_SYMBOL_GPL(lib_ring_buffer_switch_remote_empty);
-
 /*
  * Returns :
  * 0 if ok
This page took 0.023504 seconds and 4 git commands to generate.