projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove ENABLE_EVENT_* values and fix enable filtering
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
channel.c
diff --git
a/src/bin/lttng-sessiond/channel.c
b/src/bin/lttng-sessiond/channel.c
index 8f835fd8b6276385dd9bc068dca7a92b0202233e..817100ff449128e2f71705623d6ac4a39d95e0f4 100644
(file)
--- a/
src/bin/lttng-sessiond/channel.c
+++ b/
src/bin/lttng-sessiond/channel.c
@@
-25,6
+25,7
@@
#include <common/sessiond-comm/sessiond-comm.h>
#include "channel.h"
#include <common/sessiond-comm/sessiond-comm.h>
#include "channel.h"
+#include "lttng-sessiond.h"
#include "kernel.h"
#include "ust-ctl.h"
#include "utils.h"
#include "kernel.h"
#include "ust-ctl.h"
#include "utils.h"
@@
-64,6
+65,7
@@
struct lttng_channel *channel_new_default_attr(int dom,
chan->attr.output = DEFAULT_KERNEL_CHANNEL_OUTPUT;
chan->attr.switch_timer_interval = DEFAULT_KERNEL_CHANNEL_SWITCH_TIMER;
chan->attr.read_timer_interval = DEFAULT_KERNEL_CHANNEL_READ_TIMER;
chan->attr.output = DEFAULT_KERNEL_CHANNEL_OUTPUT;
chan->attr.switch_timer_interval = DEFAULT_KERNEL_CHANNEL_SWITCH_TIMER;
chan->attr.read_timer_interval = DEFAULT_KERNEL_CHANNEL_READ_TIMER;
+ chan->attr.live_timer_interval = DEFAULT_KERNEL_CHANNEL_LIVE_TIMER;
break;
case LTTNG_DOMAIN_UST:
switch (type) {
break;
case LTTNG_DOMAIN_UST:
switch (type) {
@@
-75,6
+77,8
@@
struct lttng_channel *channel_new_default_attr(int dom,
DEFAULT_UST_UID_CHANNEL_SWITCH_TIMER;
chan->attr.read_timer_interval =
DEFAULT_UST_UID_CHANNEL_READ_TIMER;
DEFAULT_UST_UID_CHANNEL_SWITCH_TIMER;
chan->attr.read_timer_interval =
DEFAULT_UST_UID_CHANNEL_READ_TIMER;
+ chan->attr.live_timer_interval =
+ DEFAULT_UST_UID_CHANNEL_LIVE_TIMER;
break;
case LTTNG_BUFFER_PER_PID:
default:
break;
case LTTNG_BUFFER_PER_PID:
default:
@@
-85,6
+89,8
@@
struct lttng_channel *channel_new_default_attr(int dom,
DEFAULT_UST_PID_CHANNEL_SWITCH_TIMER;
chan->attr.read_timer_interval =
DEFAULT_UST_PID_CHANNEL_READ_TIMER;
DEFAULT_UST_PID_CHANNEL_SWITCH_TIMER;
chan->attr.read_timer_interval =
DEFAULT_UST_PID_CHANNEL_READ_TIMER;
+ chan->attr.live_timer_interval =
+ DEFAULT_UST_UID_CHANNEL_LIVE_TIMER;
break;
}
break;
break;
}
break;
@@
-183,6
+189,12
@@
int channel_kernel_create(struct ltt_kernel_session *ksession,
attr = defattr;
}
attr = defattr;
}
+ if (ksession->snapshot_mode) {
+ /* Force channel attribute for snapshot mode. */
+ attr->attr.overwrite = 1;
+ attr->attr.output = LTTNG_EVENT_MMAP;
+ }
+
/* Channel not found, creating it */
ret = kernel_create_channel(ksession, attr);
if (ret < 0) {
/* Channel not found, creating it */
ret = kernel_create_channel(ksession, attr);
if (ret < 0) {
@@
-262,6
+274,12
@@
int channel_ust_create(struct ltt_ust_session *usess,
attr = defattr;
}
attr = defattr;
}
+ if (usess->snapshot_mode) {
+ /* Force channel attribute for snapshot mode. */
+ attr->attr.overwrite = 1;
+ attr->attr.output = LTTNG_EVENT_MMAP;
+ }
+
/*
* Validate UST buffer size and number of buffers: must both be power of 2
* and nonzero. We validate right here for UST, because applications will
/*
* Validate UST buffer size and number of buffers: must both be power of 2
* and nonzero. We validate right here for UST, because applications will
@@
-273,6
+291,14
@@
int channel_ust_create(struct ltt_ust_session *usess,
goto error;
}
goto error;
}
+ /*
+ * Invalid subbuffer size if it's lower then the page size.
+ */
+ if (attr->attr.subbuf_size < page_size) {
+ ret = LTTNG_ERR_INVALID;
+ goto error;
+ }
+
if (!attr->attr.num_subbuf ||
(attr->attr.num_subbuf & (attr->attr.num_subbuf - 1))) {
ret = LTTNG_ERR_INVALID;
if (!attr->attr.num_subbuf ||
(attr->attr.num_subbuf & (attr->attr.num_subbuf - 1))) {
ret = LTTNG_ERR_INVALID;
@@
-297,18
+323,8
@@
int channel_ust_create(struct ltt_ust_session *usess,
/* Validate buffer type. */
switch (type) {
case LTTNG_BUFFER_PER_PID:
/* Validate buffer type. */
switch (type) {
case LTTNG_BUFFER_PER_PID:
- if (attr->attr.subbuf_size <
- default_get_ust_pid_channel_subbuf_size()) {
- ret = LTTNG_ERR_INVALID;
- goto error;
- }
break;
case LTTNG_BUFFER_PER_UID:
break;
case LTTNG_BUFFER_PER_UID:
- if (attr->attr.subbuf_size <
- default_get_ust_uid_channel_subbuf_size()) {
- ret = LTTNG_ERR_INVALID;
- goto error;
- }
break;
default:
ret = LTTNG_ERR_BUFFER_NOT_SUPPORTED;
break;
default:
ret = LTTNG_ERR_BUFFER_NOT_SUPPORTED;
This page took
0.025313 seconds
and
4
git commands to generate.