[ltt-dev] Problem on combine kernel trace and userspace trace.

Tony Jones tonyj at suse.de
Fri Dec 10 08:09:52 EST 2010


Sam Liao wrote:
> >> I'm trying to combine the kernel trace and userspace trace, and it
> >> seems that the
> >> the userspace events can not be recognized to the right process with the kernel
> >> events. I'm not sure if this is a problem of timestamp between kernel
> >> and userspace.

Mathieu Desnoyers wrote:
> > should work. Make sure your architecture (on x86) has synchronized
> > contant TSCs. LTTng complains about using a work-around in dmesg if it
> > is not the case. 

Sam Liao wrote:
> Thanks, after apply with the "rdtsc" clock source and set up the correct
> clock frequency,  the kernel trace and ust trace seems to be consistent
> now.

Hi.

I'm not having much luck with this. First attempt at it, so I'm curious if 
it's user error?


New HP Proliant DL785 (16 core)

To keep things simple I asserted maxcpus=1 on the cmdline so /proc/cpuinfo is:

# cat /proc/cpuinfo
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 16
model		: 9
model name	: AMD Opteron(tm) Processor 6128
stepping	: 1
cpu MHz		: 800.000
cache size	: 512 KB
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 16
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc up rep_good nonstop_tsc extd_apicid amd_dcm pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt nodeid_msr npt lbrv svm_lock nrip_save
bogomips	: 4000.18
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate


versions:
kernel 2.6.34.7
ust 0.9
lttctl 0.88
lttv 0.12.36

# dmesg | egrep "tsc|LTT"
[    0.361042] Switching to clocksource tsc
[    1.722190] LTT : ltt-relay init
[ 1868.196100] LTT: 14 events written in channel metadata (cpu 0, index 0)
[ 1948.140099] LTT: 96 events written in channel metadata (cpu 0, index 0)
[ 1948.140263] LTT: 12921 events written in channel kernel (cpu 0, index 0)
[ 1982.495770] LTT: 96 events written in channel metadata (cpu 0, index 0)
[ 1982.495779] LTT : unread channel metadata offset is 262144 and cons_off : 0 (cpu 0)
[ 1982.495786] LTT : metadata : commit count : 262144, subbuf size 262144
[ 1982.495850] LTT : unread channel swap_state offset is 65536 and cons_off : 0 (cpu 0)
[ 1982.495857] LTT : swap_state : commit count : 65536, subbuf size 65536
[ 1982.495884] LTT : unread channel module_state offset is 65536 and cons_off : 0 (cpu 0)
[ 1982.495890] LTT : module_state : commit count : 65536, subbuf size 65536
[ 1982.495915] LTT : unread channel softirq_state offset is 65536 and cons_off : 0 (cpu 0)
[ 1982.495922] LTT : softirq_state : commit count : 65536, subbuf size 65536
[ 1982.495947] LTT : unread channel syscall_state offset is 65536 and cons_off : 0 (cpu 0)
[ 1982.495954] LTT : syscall_state : commit count : 65536, subbuf size 65536
[ 1982.495979] LTT : unread channel irq_state offset is 65536 and cons_off : 0 (cpu 0)
[ 1982.495985] LTT : irq_state : commit count : 65536, subbuf size 65536
[ 1982.496055] LTT: 12657 events written in channel kernel (cpu 0, index 0)
[ 1982.496062] LTT : unread channel kernel offset is 1048576 and cons_off : 0 (cpu 0)
[ 1982.496070] LTT : kernel : commit count : 1048576, subbuf size 1048576


The last ust timestamp is before the first kernel trace timestamp.

# rm -rf /tmp/trace? /root/.usttraces
# lttctl -C -w /tmp/traceK traceK 
Linux Trace Toolkit Trace Control 0.88-09242010

Controlling trace : traceK

lttctl: Creating trace
lttctl: Forking lttd
Linux Trace Toolkit Trace Daemon 0.88-09242010

Reading from debugfs directory : /sys/kernel/debug/ltt/traceK
Writing to trace directory : /tmp/traceK

lttctl: Starting trace

# usttrace ./ust
Waiting for ustd to shutdown...
Trace was output in:  /root/.usttraces/svr2-20101210050221043250710

# lttctl -D traceK
Linux Trace Toolkit Trace Control 0.88-09242010

Controlling trace : traceK

lttctl: Pausing trace
lttctl: Destroying trace

# mv /root/.usttraces/svr2-20101210050221043250710/3689_5549038222480296963 /tmp/traceU

# lttv -m textDump -t /tmp/traceK | head -3
Trace set contains 1 traces

metadata.core_marker_id: 2994.531659669 (/tmp/traceK/metadata_0), 0, 0, , , 0, 0x0, MODE_UNKNOWN { channel = "kernel", name = "page_fault_get_user_entry", event_id = 0, int = 4, long = 8, pointer = 8, size_t = 8, alignment = 0 }

# lttv -m textDump -t /tmp/traceU | head -3
Trace set contains 1 traces

metadata.core_marker_id: 2840.195433153 (/tmp/traceU/metadata_0), 0, 0, , , 0, 0x0, MODE_UNKNOWN { channel = "ust", name = "potential_exec", event_id = 0, int = 4, long = 8, pointer = 8, size_t = 8, alignment = 0 }

# lttv -m textDump -t /tmp/traceU | tail -3
ust.time_end: 2840.198082665 (/tmp/traceU/ust_0), 0, 0, , , 0, 0x0, MODE_UNKNOWN
End trace set





More information about the lttng-dev mailing list