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)
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>

No differences found
This page took 0.028165 seconds and 5 git commands to generate.