Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
* Returns the LTTng kernel tracer version
* LTTNG_KERNEL_TRACEPOINT_LIST
* Returns a file descriptor listing available tracepoints
* Returns the LTTng kernel tracer version
* LTTNG_KERNEL_TRACEPOINT_LIST
* Returns a file descriptor listing available tracepoints
+ * LTTNG_KERNEL_WAIT_QUIESCENT
+ * Returns after all previously running probes have completed
*
* The returned session will be deleted when its file descriptor is closed.
*/
*
* The returned session will be deleted when its file descriptor is closed.
*/
#define LTTNG_KERNEL_TRACER_VERSION \
_IOR(0xF6, 0x41, struct lttng_kernel_tracer_version)
#define LTTNG_KERNEL_TRACEPOINT_LIST _IO(0xF6, 0x42)
#define LTTNG_KERNEL_TRACER_VERSION \
_IOR(0xF6, 0x41, struct lttng_kernel_tracer_version)
#define LTTNG_KERNEL_TRACEPOINT_LIST _IO(0xF6, 0x42)
+#define LTTNG_KERNEL_WAIT_QUIESCENT _IO(0xF6, 0x43)
/* Session FD ioctl */
#define LTTNG_KERNEL_METADATA \
/* Session FD ioctl */
#define LTTNG_KERNEL_METADATA \
static
int _ltt_session_metadata_statedump(struct ltt_session *session);
static
int _ltt_session_metadata_statedump(struct ltt_session *session);
void synchronize_trace(void)
{
synchronize_sched();
void synchronize_trace(void)
{
synchronize_sched();
ACCESS_ONCE(session->active) = 1;
ACCESS_ONCE(session->been_active) = 1;
ACCESS_ONCE(session->active) = 1;
ACCESS_ONCE(session->been_active) = 1;
- synchronize_trace(); /* Wait for in-flight events to complete */
ret = _ltt_session_metadata_statedump(session);
ret = _ltt_session_metadata_statedump(session);
ACCESS_ONCE(session->active) = 0;
ACCESS_ONCE(session->active) = 0;
- synchronize_trace(); /* Wait for in-flight events to complete */
- }
end:
mutex_unlock(&sessions_mutex);
return ret;
end:
mutex_unlock(&sessions_mutex);
return ret;
goto end;
}
ACCESS_ONCE(session->active) = 0;
goto end;
}
ACCESS_ONCE(session->active) = 0;
- synchronize_trace(); /* Wait for in-flight events to complete */
end:
mutex_unlock(&sessions_mutex);
return ret;
end:
mutex_unlock(&sessions_mutex);
return ret;
void ltt_transport_register(struct ltt_transport *transport);
void ltt_transport_unregister(struct ltt_transport *transport);
void ltt_transport_register(struct ltt_transport *transport);
void ltt_transport_unregister(struct ltt_transport *transport);
+void synchronize_trace(void);
int ltt_debugfs_abi_init(void);
void ltt_debugfs_abi_exit(void);
int ltt_debugfs_abi_init(void);
void ltt_debugfs_abi_exit(void);