[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[linuxtools-dev] Q: control flow view
|
Hi.
I'm having some issues with the control flow view.
2.6.36 lttng enabled kernel, svn r27050 of the plugin.
I ran the following steps in single user with maxcpus=1
cc -o open-write open-write.c
lttctl -C -p <path> traceK
./open-write foo
lttctl -D traceK
This generated what seems to be a good trace.
lttv -m textDump -t <path> | grep "syscall_.*open-write" shows all the expected
syscalls.
My issue is that the eclipse plugin doesn't show what I expected it would.
Selecting the task in the control view and iterating the events with NextEv,
all I see is:
kernel/0/process_fork
kernel/0/sched_schedule
kernel/0/syscall_entry
[then nothing]
If I adjust the trace to 206.000 I can see two gantt entries for open-write,
one WAIT and another for SYSCALL but the later states that the stop time is
undefined which is consistent with it failing to see a syscall_exit event.
Trace is at: http://ftp.suse.com/pub/people/tonyj/temp/trace.tar.bz2
Tony
---- open-write.c ----
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int main(int argc, char *argv[])
{
int fd, cnt;
pid_t pid=getpid();
char *s="this is a sample string!";
char buf[512];
if (argc != 2) {
fprintf(stderr, "usage: %s filename\n", argv[0]);
return 1;
}
fd = open(argv[1], O_RDWR|O_CREAT, 0600);
if (fd == -1) {
perror("open");
return 1;
}
if (write(fd, s, strlen(s)) != strlen(s)) {
perror("write");
return 1;
}
lseek(fd, SEEK_SET, 0);
cnt=read(fd, buf, sizeof(buf));
buf[cnt] = 0;
printf("%u: %s\n", pid, buf);
close(fd);
}
----------------------