projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: lttng-sessiond: cpu hotplug stream number mismatch
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
kernel.c
diff --git
a/src/bin/lttng-sessiond/kernel.c
b/src/bin/lttng-sessiond/kernel.c
index aa51649783f64c0e324c0090c42033cdbbb41f7a..e478499336896f5d739e087c8ee91e3a395886cd 100644
(file)
--- a/
src/bin/lttng-sessiond/kernel.c
+++ b/
src/bin/lttng-sessiond/kernel.c
@@
-644,17
+644,22
@@
error:
* Open stream of channel, register it to the kernel tracer and add it
* to the stream list of the channel.
*
* Open stream of channel, register it to the kernel tracer and add it
* to the stream list of the channel.
*
+ * Note: given that the streams may appear in random order wrt CPU
+ * number (e.g. cpu hotplug), the index value of the stream number in
+ * the stream name is not necessarily linked to the CPU number.
+ *
* Return the number of created stream. Else, a negative value.
*/
int kernel_open_channel_stream(struct ltt_kernel_channel *channel)
{
* Return the number of created stream. Else, a negative value.
*/
int kernel_open_channel_stream(struct ltt_kernel_channel *channel)
{
- int ret
, count = 0
;
+ int ret;
struct ltt_kernel_stream *lks;
assert(channel);
while ((ret = kernctl_create_stream(channel->fd)) >= 0) {
struct ltt_kernel_stream *lks;
assert(channel);
while ((ret = kernctl_create_stream(channel->fd)) >= 0) {
- lks = trace_kernel_create_stream(channel->channel->name, count);
+ lks = trace_kernel_create_stream(channel->channel->name,
+ channel->stream_count);
if (lks == NULL) {
ret = close(ret);
if (ret) {
if (lks == NULL) {
ret = close(ret);
if (ret) {
@@
-673,13
+678,10
@@
int kernel_open_channel_stream(struct ltt_kernel_channel *channel)
lks->tracefile_size = channel->channel->attr.tracefile_size;
lks->tracefile_count = channel->channel->attr.tracefile_count;
lks->tracefile_size = channel->channel->attr.tracefile_size;
lks->tracefile_count = channel->channel->attr.tracefile_count;
- /* Add stream to channe stream list */
+ /* Add stream to channe
l
stream list */
cds_list_add(&lks->list, &channel->stream_list.head);
channel->stream_count++;
cds_list_add(&lks->list, &channel->stream_list.head);
channel->stream_count++;
- /* Increment counter which represent CPU number. */
- count++;
-
DBG("Kernel stream %s created (fd: %d, state: %d)", lks->name, lks->fd,
lks->state);
}
DBG("Kernel stream %s created (fd: %d, state: %d)", lks->name, lks->fd,
lks->state);
}
This page took
0.023662 seconds
and
4
git commands to generate.