Revert "Fix: don't perform extra flush on metadata channel"
[lttng-modules.git] / lib / ringbuffer / ring_buffer_frontend.c
index a477832ef45a9d30914d1dff1473d1e119e4e1d4..e454ac97c168ac6ea6671c01b80ffda03c13c17c 100644 (file)
@@ -1075,6 +1075,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);
        /*
@@ -1870,13 +1879,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.024047 seconds and 4 git commands to generate.