Fix: per-uid buffers should only be flushed once on stop
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Mon, 29 Apr 2013 16:50:06 +0000 (12:50 -0400)
committerDavid Goulet <dgoulet@efficios.com>
Mon, 29 Apr 2013 16:52:18 +0000 (12:52 -0400)
commitb34cbebfc8e60a678782bcffdf4ff8fc12de037e
tree8e7d8199cadd97230edf46b510135b16cc867801
parent2b8f875486548c9d54d62ae465e2fb23c7023d2c
Fix: per-uid buffers should only be flushed once on stop

They were flushed once per application previously, causing workload with many
applications to trigger too many flush on stop, which in turn caused buffer
padding bloat.

* The pseudo-code for stop behavior on per-uid buffers was:

flush session's buffers
for each application:
  - stop tracing
  - wait quiescent
  - flush buffers
  - push metadata

Now doing, for per-uid buffers:

for each application:
  - stop tracing
  - wait quiescent
  - push metadata
flush session's buffers

* And for per-pid buffers:

Previously:

for each application:
  - stop tracing
  - wait quiescent
  - flush buffers
  - push metadata

Now:

for each application:
  - stop tracing
  - wait quiescent
  - push metadata
for each application:
  - flush buffers

Fixes #497

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: David Goulet <dgoulet@efficios.com>
src/bin/lttng-sessiond/ust-app.c
src/bin/lttng-sessiond/ust-app.h
This page took 0.026649 seconds and 5 git commands to generate.