Modify default kernel channel size/number
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 16 Aug 2011 13:55:30 +0000 (09:55 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 16 Aug 2011 13:55:30 +0000 (09:55 -0400)
commitb389abbe14d653f704fcf8f952539cc5ce775c53
treeec0799666bf70964757b2f70483e8818cecf466e
parent751667bdf3d5d79ca89a6dcf1a2d8155c8cfbc3c
Modify default kernel channel size/number

Too small kernel channels (4kB) leads to unwelcome delay at trace
indexing and adds buffer switch overhead. Use a default closer to the
0.x LTTng for buffer size:

256kB subbuffer
4 subbuffers/buffer
for 1MB per channel per CPU in normal tracing mode, and 1MB + 256kB per
channel per CPU in overwrite mode.

We currently plan to still use 4kB * 8 sub-buffers for UST because we
allocate these buffers per process, which makes memory consumption more
of a concern.

The metadata channel is kept small (4kB), but we keep a number of
subbuffer of 8 for now, as the behavior between "start" and spawning the
consumer is in the wrong order: we will need to spawn the consumer
before start is performed, because "start" returns blocks for 10 seconds
and returns an error if the buffers are too small to write metadata (and
they are not consumed).

Also fix a memory leak in init_default_channel.

process_client_msg() now uses a check / alloc / failure for channel
lookup rather than an endless retry, which could have led to denial of
service in case of internal error.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
include/lttng-share.h
ltt-sessiond/main.c
ltt-sessiond/trace.c
lttng/commands/enable_channels.c
tests/test_kernel_data_trace.c
This page took 0.025818 seconds and 4 git commands to generate.