* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
@ 2011-02-11 6:38 Naresh Bhat
2011-02-11 6:38 ` Naresh Bhat
` (3 more replies)
0 siblings, 4 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-11 6:38 UTC (permalink / raw)
Hi All,
I am trying to execute LTTng test on MIPS multicore (I pass *numcores=16
while booting)* Octeon based 58xx target board, but the lttv text dump fails
to dump
*My Kernel version: 2.6.32*
*
Linux Trace Toolkit Trace Control 0.78-04122009
Linux Trace Toolkit Visualizer 0.12.29-02022010
*
My questions are
1. Anybody faced this kind of problem ?
2. Is there any patch available for this ? please, can you provide me a
pointer to that patch ?
*-- Thanks and Regards
Naresh Bhat*
*Error log messages:*
root at cavium-octeonplus:~# mkdir /mnt/debugfs
root at cavium-octeonplus:~# mount -t debugfs debugfs /mnt/debugfs/
root at cavium-octeonplus:~# ltt-armall
Connecting /mnt/debugfs/ltt/markers/pm/idle_entry
Connecting /mnt/debugfs/ltt/markers/pm/idle_exit
Connecting /mnt/debugfs/ltt/markers/pm/suspend_entry
Connecting /mnt/debugfs/ltt/markers/pm/suspend_exit
Connecting /mnt/debugfs/ltt/markers/ipc/msg_create
Connecting /mnt/debugfs/ltt/markers/ipc/sem_create
Connecting /mnt/debugfs/ltt/markers/ipc/shm_create
Connecting /mnt/debugfs/ltt/markers/ipc/call
Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_start
Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_end
Connecting /mnt/debugfs/ltt/markers/fs/exec
Connecting /mnt/debugfs/ltt/markers/fs/ioctl
Connecting /mnt/debugfs/ltt/markers/fs/open
Connecting /mnt/debugfs/ltt/markers/fs/close
Connecting /mnt/debugfs/ltt/markers/fs/lseek
Connecting /mnt/debugfs/ltt/markers/fs/llseek
Connecting /mnt/debugfs/ltt/markers/fs/read
Connecting /mnt/debugfs/ltt/markers/fs/write
Connecting /mnt/debugfs/ltt/markers/fs/pread64
Connecting /mnt/debugfs/ltt/markers/fs/pwrite64
Connecting /mnt/debugfs/ltt/markers/fs/readv
Connecting /mnt/debugfs/ltt/markers/fs/writev
Connecting /mnt/debugfs/ltt/markers/fs/select
Connecting /mnt/debugfs/ltt/markers/fs/pollfd
Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_start
Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_end
Connecting /mnt/debugfs/ltt/markers/mm/huge_page_free
Connecting /mnt/debugfs/ltt/markers/mm/huge_page_alloc
Connecting /mnt/debugfs/ltt/markers/mm/page_free
Connecting /mnt/debugfs/ltt/markers/mm/page_alloc
Connecting /mnt/debugfs/ltt/markers/mm/swap_in
Connecting /mnt/debugfs/ltt/markers/mm/swap_out
Connecting /mnt/debugfs/ltt/markers/mm/swap_file_close
Connecting /mnt/debugfs/ltt/markers/mm/swap_file_open
Connecting /mnt/debugfs/ltt/markers/mm/add_to_page_cache
Connecting /mnt/debugfs/ltt/markers/mm/remove_from_page_cache
Connecting /mnt/debugfs/ltt/markers/kernel/trap_entry
Connecting /mnt/debugfs/ltt/markers/kernel/trap_exit
Connecting /mnt/debugfs/ltt/markers/kernel/syscall_entry
Connecting /mnt/debugfs/ltt/markers/kernel/syscall_exit
Connecting /mnt/debugfs/ltt/markers/kernel/irq_entry
Connecting /mnt/debugfs/ltt/markers/kernel/irq_next_handler
Connecting /mnt/debugfs/ltt/markers/kernel/irq_exit
Connecting /mnt/debugfs/ltt/markers/kernel/softirq_entry
Connecting /mnt/debugfs/ltt/markers/kernel/softirq_exit
Connecting /mnt/debugfs/ltt/markers/kernel/softirq_raise
Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_entry
Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_exit
Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_entry
Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_exit
Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop
Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop_ret
Connecting /mnt/debugfs/ltt/markers/kernel/sched_wait_task
Connecting /mnt/debugfs/ltt/markers/kernel/sched_try_wakeup
Connecting /mnt/debugfs/ltt/markers/kernel/sched_wakeup_new_task
Connecting /mnt/debugfs/ltt/markers/kernel/sched_schedule
Connecting /mnt/debugfs/ltt/markers/kernel/sched_migrate_task
Connecting /mnt/debugfs/ltt/markers/kernel/send_signal
Connecting /mnt/debugfs/ltt/markers/kernel/process_free
Connecting /mnt/debugfs/ltt/markers/kernel/process_exit
Connecting /mnt/debugfs/ltt/markers/kernel/process_wait
Connecting /mnt/debugfs/ltt/markers/kernel/process_fork
Connecting /mnt/debugfs/ltt/markers/kernel/kthread_create
Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_expired
Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_set
Connecting /mnt/debugfs/ltt/markers/kernel/timer_set
Connecting /mnt/debugfs/ltt/markers/kernel/timer_update_time
Connecting /mnt/debugfs/ltt/markers/kernel/timer_timeout
Connecting /mnt/debugfs/ltt/markers/kernel/printk
Connecting /mnt/debugfs/ltt/markers/kernel/vprintk
Connecting /mnt/debugfs/ltt/markers/kernel/module_free
Connecting /mnt/debugfs/ltt/markers/kernel/module_load
Connecting /mnt/debugfs/ltt/markers/kernel/panic
Connecting /mnt/debugfs/ltt/markers/kernel/kernel_kexec
Connecting /mnt/debugfs/ltt/markers/kernel/crash_kexec
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_entry
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_exit
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_entry
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_exit
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_entry
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_exit
Connecting /mnt/debugfs/ltt/markers/net/dev_xmit
Connecting /mnt/debugfs/ltt/markers/net/dev_receive
Connecting /mnt/debugfs/ltt/markers/net/socket_create
Connecting /mnt/debugfs/ltt/markers/net/socket_bind
Connecting /mnt/debugfs/ltt/markers/net/socket_connect
Connecting /mnt/debugfs/ltt/markers/net/socket_listen
Connecting /mnt/debugfs/ltt/markers/net/socket_accept
Connecting /mnt/debugfs/ltt/markers/net/socket_getsockname
Connecting /mnt/debugfs/ltt/markers/net/socket_getpeername
Connecting /mnt/debugfs/ltt/markers/net/socket_socketpair
Connecting /mnt/debugfs/ltt/markers/net/socket_sendmsg
Connecting /mnt/debugfs/ltt/markers/net/socket_recvmsg
Connecting /mnt/debugfs/ltt/markers/net/socket_setsockopt
Connecting /mnt/debugfs/ltt/markers/net/socket_getsockopt
Connecting /mnt/debugfs/ltt/markers/net/socket_shutdown
Connecting /mnt/debugfs/ltt/markers/net/socket_call
Connecting /mnt/debugfs/ltt/markers/net/tcpv4_rcv
Connecting /mnt/debugfs/ltt/markers/net/udpv4_rcv
Connecting /mnt/debugfs/ltt/markers/net/napi_schedule
Connecting /mnt/debugfs/ltt/markers/net/napi_poll
Connecting /mnt/debugfs/ltt/markers/net/napi_complete
Connecting /mnt/debugfs/ltt/markers/block/rq_abort_pc
Connecting /mnt/debugfs/ltt/markers/block/rq_abort_fs
Connecting /mnt/debugfs/ltt/markers/block/rq_insert_pc
Connecting /mnt/debugfs/ltt/markers/block/rq_insert_fs
Connecting /mnt/debugfs/ltt/markers/block/rq_issue_pc
Connecting /mnt/debugfs/ltt/markers/block/rq_issue_fs
Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_pc
Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_fs
Connecting /mnt/debugfs/ltt/markers/block/rq_complete_pc
Connecting /mnt/debugfs/ltt/markers/block/rq_complete_fs
Connecting /mnt/debugfs/ltt/markers/block/bio_bounce
Connecting /mnt/debugfs/ltt/markers/block/bio_complete
Connecting /mnt/debugfs/ltt/markers/block/bio_backmerge
Connecting /mnt/debugfs/ltt/markers/block/bio_frontmerge
Connecting /mnt/debugfs/ltt/markers/block/bio_queue
Connecting /mnt/debugfs/ltt/markers/block/getrq_bio
Connecting /mnt/debugfs/ltt/markers/block/getrq
Connecting /mnt/debugfs/ltt/markers/block/sleeprq_bio
Connecting /mnt/debugfs/ltt/markers/block/sleeprq
Connecting /mnt/debugfs/ltt/markers/block/plug
Connecting /mnt/debugfs/ltt/markers/block/unplug_io
Connecting /mnt/debugfs/ltt/markers/block/unplug_timer
Connecting /mnt/debugfs/ltt/markers/block/split
Connecting /mnt/debugfs/ltt/markers/block/remap
Connecting /mnt/debugfs/ltt/markers/userspace/event
Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv4
Connecting /mnt/debugfs/ltt/markers/netif_state/del_ifa_ipv4
Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv6
Connecting /mnt/debugfs/ltt/markers/netif_state/network_ipv4_interface
Connecting /mnt/debugfs/ltt/markers/netif_state/network_ip_interface
Connecting /mnt/debugfs/ltt/markers/irq_state/interrupt
Connecting /mnt/debugfs/ltt/markers/vm_state/vm_map
Connecting /mnt/debugfs/ltt/markers/fd_state/file_descriptor
Connecting /mnt/debugfs/ltt/markers/task_state/process_state
Connecting /mnt/debugfs/ltt/markers/global_state/statedump_end
Connecting /mnt/debugfs/ltt/markers/input/input_event
Connecting /mnt/debugfs/ltt/markers/swap_state/statedump_swap_files
Connecting /mnt/debugfs/ltt/markers/module_state/list_module
Connecting /mnt/debugfs/ltt/markers/softirq_state/softirq_vec
root at cavium-octeonplus:~# lttctl -C -w /tmp/trace1 trace1
Linux Trace Toolkit Trace Control 0.78-04122009
Controlling trace : trace1
lttctl: Creating trace
lttctl: Forking lttd
Linux Trace Toolkit Trace Daemon 0.78-04122009
Reading from debugfs directory : /mnt/debugfs/ltt/trace1
Writing to trace directory : /tmp/trace1
lttctl: Starting trace
root at cavium-octeonplus:~# lttctl -D trace1
Linux Trace Toolkit Trace Control 0.78-04122009
Controlling trace : trace1
lttctl: Pausing trace
lttctl: Destroying trace
LTT: 32 events written in channel softirq_state (cpu 0, index 0)
LTT: 17 events written in channel module_state (cpu 0, index 0)
LTT: 1 events written in channel global_state (cpu 0, index 0)
LTT: 335 events written in channel task_state (cpu 0, index 0)
LTT: 699 events written in channel fd_state (cpu 0, index 0)
LTT: 429 events written in channel vm_state (cpu 0, index 0)
LTT: 7 events written in channel irq_state (cpu 0, index 0)
LTT: 10 events written in channel netif_state (cpu 0, index 0)
LTT: 218 events written in channel net (cpu 0, index 0)
LTT: 3 events written in channel net (cpu 1, index 0)
LTT: 4 events written in channel net (cpu 2, index 0)
LTT: 2881 events written in channel kernel (cpu 0, index 0)
LTT: 663 events written in channel kernel (cpu 1, index 0)
LTT: 731 events written in channel kernel (cpu 2, index 0)
LTT: 88 events written in channel kernel (cpu 3, index 0)
LTT: 77 events written in channel kernel (cpu 4, index 0)
LTT: 89 events written in channel kernel (cpu 5, index 0)
LTT: 98 events written in channel kernel (cpu 6, index 0)
LTT: 78 events written in channel kernel (cpu 7, index 0)
LTT: 208 events written in channel kernel (cpu 8, index 0)
LTT: 75 events written in channel kernel (cpu 9, index 0)
LTT: 75 events written in channel kernel (cpu 10, index 0)
LTT: 88 events written in channel kernel (cpu 11, index 0)
LTT: 93 events written in channel kernel (cpu 12, index 0)
LTT: 95 events written in channel kernel (cpu 13, index 0)
LTT: 62 events written in channel kernel (cpu 14, index 0)
LTT: 64 events written in channel kernel (cpu 15, index 0)
LTT: 44 events written in channel mm (cpu 0, index 0)
LTT: 14 events written in channel mm (cpu 1, index 0)
LTT: 41 events written in channel mm (cpu 2, index 0)
LTT: 1 events written in channel mm (cpu 8, index 0)
LTT: 253 events written in channel fs (cpu 0, index 0)
LTT: 4 events written in channel fs (cpu 1, index 0)
LTT: 31 events written in channel fs (cpu 2, index 0)
LTT: 272 events written in channel fs (cpu 4, index 0)
LTT: 8 events written in channel fs (cpu 8, index 0)
LTT: 286 events written in channel metadata (cpu 0, index 0)
root at cavium-octeonplus:~# lttv -m textDump -t /tmp/trace1/ >
Log-trace-text-format.txt
** ERROR **: Process 2120 has been created at [0.000000000] and inserted at
[92.895699903] before
fork on cpu 0[94.290545440].
Probably an unsynchronized TSC problem on the traced machine.
aborting...
Aborted
root at cavium-octeonplus:~#
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110211/e0ad56a8/attachment-0002.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-11 6:38 [ltt-dev] lttv unable to execute textDump on MIPS multicore target Naresh Bhat
@ 2011-02-11 6:38 ` Naresh Bhat
2011-02-11 6:38 ` Naresh Bhat
` (2 subsequent siblings)
3 siblings, 0 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-11 6:38 UTC (permalink / raw)
Hi All,
I am trying to execute LTTng test on MIPS multicore (I pass *numcores=16
while booting)* Octeon based 58xx target board, but the lttv text dump fails
to dump
*My Kernel version: 2.6.32*
*
Linux Trace Toolkit Trace Control 0.78-04122009
Linux Trace Toolkit Visualizer 0.12.29-02022010
*
My questions are
1. Anybody faced this kind of problem ?
2. Is there any patch available for this ? please, can you provide me a
pointer to that patch ?
*-- Thanks and Regards
Naresh Bhat*
*Error log messages:*
root at cavium-octeonplus:~# mkdir /mnt/debugfs
root at cavium-octeonplus:~# mount -t debugfs debugfs /mnt/debugfs/
root at cavium-octeonplus:~# ltt-armall
Connecting /mnt/debugfs/ltt/markers/pm/idle_entry
Connecting /mnt/debugfs/ltt/markers/pm/idle_exit
Connecting /mnt/debugfs/ltt/markers/pm/suspend_entry
Connecting /mnt/debugfs/ltt/markers/pm/suspend_exit
Connecting /mnt/debugfs/ltt/markers/ipc/msg_create
Connecting /mnt/debugfs/ltt/markers/ipc/sem_create
Connecting /mnt/debugfs/ltt/markers/ipc/shm_create
Connecting /mnt/debugfs/ltt/markers/ipc/call
Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_start
Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_end
Connecting /mnt/debugfs/ltt/markers/fs/exec
Connecting /mnt/debugfs/ltt/markers/fs/ioctl
Connecting /mnt/debugfs/ltt/markers/fs/open
Connecting /mnt/debugfs/ltt/markers/fs/close
Connecting /mnt/debugfs/ltt/markers/fs/lseek
Connecting /mnt/debugfs/ltt/markers/fs/llseek
Connecting /mnt/debugfs/ltt/markers/fs/read
Connecting /mnt/debugfs/ltt/markers/fs/write
Connecting /mnt/debugfs/ltt/markers/fs/pread64
Connecting /mnt/debugfs/ltt/markers/fs/pwrite64
Connecting /mnt/debugfs/ltt/markers/fs/readv
Connecting /mnt/debugfs/ltt/markers/fs/writev
Connecting /mnt/debugfs/ltt/markers/fs/select
Connecting /mnt/debugfs/ltt/markers/fs/pollfd
Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_start
Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_end
Connecting /mnt/debugfs/ltt/markers/mm/huge_page_free
Connecting /mnt/debugfs/ltt/markers/mm/huge_page_alloc
Connecting /mnt/debugfs/ltt/markers/mm/page_free
Connecting /mnt/debugfs/ltt/markers/mm/page_alloc
Connecting /mnt/debugfs/ltt/markers/mm/swap_in
Connecting /mnt/debugfs/ltt/markers/mm/swap_out
Connecting /mnt/debugfs/ltt/markers/mm/swap_file_close
Connecting /mnt/debugfs/ltt/markers/mm/swap_file_open
Connecting /mnt/debugfs/ltt/markers/mm/add_to_page_cache
Connecting /mnt/debugfs/ltt/markers/mm/remove_from_page_cache
Connecting /mnt/debugfs/ltt/markers/kernel/trap_entry
Connecting /mnt/debugfs/ltt/markers/kernel/trap_exit
Connecting /mnt/debugfs/ltt/markers/kernel/syscall_entry
Connecting /mnt/debugfs/ltt/markers/kernel/syscall_exit
Connecting /mnt/debugfs/ltt/markers/kernel/irq_entry
Connecting /mnt/debugfs/ltt/markers/kernel/irq_next_handler
Connecting /mnt/debugfs/ltt/markers/kernel/irq_exit
Connecting /mnt/debugfs/ltt/markers/kernel/softirq_entry
Connecting /mnt/debugfs/ltt/markers/kernel/softirq_exit
Connecting /mnt/debugfs/ltt/markers/kernel/softirq_raise
Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_entry
Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_exit
Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_entry
Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_exit
Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop
Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop_ret
Connecting /mnt/debugfs/ltt/markers/kernel/sched_wait_task
Connecting /mnt/debugfs/ltt/markers/kernel/sched_try_wakeup
Connecting /mnt/debugfs/ltt/markers/kernel/sched_wakeup_new_task
Connecting /mnt/debugfs/ltt/markers/kernel/sched_schedule
Connecting /mnt/debugfs/ltt/markers/kernel/sched_migrate_task
Connecting /mnt/debugfs/ltt/markers/kernel/send_signal
Connecting /mnt/debugfs/ltt/markers/kernel/process_free
Connecting /mnt/debugfs/ltt/markers/kernel/process_exit
Connecting /mnt/debugfs/ltt/markers/kernel/process_wait
Connecting /mnt/debugfs/ltt/markers/kernel/process_fork
Connecting /mnt/debugfs/ltt/markers/kernel/kthread_create
Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_expired
Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_set
Connecting /mnt/debugfs/ltt/markers/kernel/timer_set
Connecting /mnt/debugfs/ltt/markers/kernel/timer_update_time
Connecting /mnt/debugfs/ltt/markers/kernel/timer_timeout
Connecting /mnt/debugfs/ltt/markers/kernel/printk
Connecting /mnt/debugfs/ltt/markers/kernel/vprintk
Connecting /mnt/debugfs/ltt/markers/kernel/module_free
Connecting /mnt/debugfs/ltt/markers/kernel/module_load
Connecting /mnt/debugfs/ltt/markers/kernel/panic
Connecting /mnt/debugfs/ltt/markers/kernel/kernel_kexec
Connecting /mnt/debugfs/ltt/markers/kernel/crash_kexec
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_entry
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_exit
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_entry
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_exit
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_entry
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_exit
Connecting /mnt/debugfs/ltt/markers/net/dev_xmit
Connecting /mnt/debugfs/ltt/markers/net/dev_receive
Connecting /mnt/debugfs/ltt/markers/net/socket_create
Connecting /mnt/debugfs/ltt/markers/net/socket_bind
Connecting /mnt/debugfs/ltt/markers/net/socket_connect
Connecting /mnt/debugfs/ltt/markers/net/socket_listen
Connecting /mnt/debugfs/ltt/markers/net/socket_accept
Connecting /mnt/debugfs/ltt/markers/net/socket_getsockname
Connecting /mnt/debugfs/ltt/markers/net/socket_getpeername
Connecting /mnt/debugfs/ltt/markers/net/socket_socketpair
Connecting /mnt/debugfs/ltt/markers/net/socket_sendmsg
Connecting /mnt/debugfs/ltt/markers/net/socket_recvmsg
Connecting /mnt/debugfs/ltt/markers/net/socket_setsockopt
Connecting /mnt/debugfs/ltt/markers/net/socket_getsockopt
Connecting /mnt/debugfs/ltt/markers/net/socket_shutdown
Connecting /mnt/debugfs/ltt/markers/net/socket_call
Connecting /mnt/debugfs/ltt/markers/net/tcpv4_rcv
Connecting /mnt/debugfs/ltt/markers/net/udpv4_rcv
Connecting /mnt/debugfs/ltt/markers/net/napi_schedule
Connecting /mnt/debugfs/ltt/markers/net/napi_poll
Connecting /mnt/debugfs/ltt/markers/net/napi_complete
Connecting /mnt/debugfs/ltt/markers/block/rq_abort_pc
Connecting /mnt/debugfs/ltt/markers/block/rq_abort_fs
Connecting /mnt/debugfs/ltt/markers/block/rq_insert_pc
Connecting /mnt/debugfs/ltt/markers/block/rq_insert_fs
Connecting /mnt/debugfs/ltt/markers/block/rq_issue_pc
Connecting /mnt/debugfs/ltt/markers/block/rq_issue_fs
Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_pc
Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_fs
Connecting /mnt/debugfs/ltt/markers/block/rq_complete_pc
Connecting /mnt/debugfs/ltt/markers/block/rq_complete_fs
Connecting /mnt/debugfs/ltt/markers/block/bio_bounce
Connecting /mnt/debugfs/ltt/markers/block/bio_complete
Connecting /mnt/debugfs/ltt/markers/block/bio_backmerge
Connecting /mnt/debugfs/ltt/markers/block/bio_frontmerge
Connecting /mnt/debugfs/ltt/markers/block/bio_queue
Connecting /mnt/debugfs/ltt/markers/block/getrq_bio
Connecting /mnt/debugfs/ltt/markers/block/getrq
Connecting /mnt/debugfs/ltt/markers/block/sleeprq_bio
Connecting /mnt/debugfs/ltt/markers/block/sleeprq
Connecting /mnt/debugfs/ltt/markers/block/plug
Connecting /mnt/debugfs/ltt/markers/block/unplug_io
Connecting /mnt/debugfs/ltt/markers/block/unplug_timer
Connecting /mnt/debugfs/ltt/markers/block/split
Connecting /mnt/debugfs/ltt/markers/block/remap
Connecting /mnt/debugfs/ltt/markers/userspace/event
Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv4
Connecting /mnt/debugfs/ltt/markers/netif_state/del_ifa_ipv4
Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv6
Connecting /mnt/debugfs/ltt/markers/netif_state/network_ipv4_interface
Connecting /mnt/debugfs/ltt/markers/netif_state/network_ip_interface
Connecting /mnt/debugfs/ltt/markers/irq_state/interrupt
Connecting /mnt/debugfs/ltt/markers/vm_state/vm_map
Connecting /mnt/debugfs/ltt/markers/fd_state/file_descriptor
Connecting /mnt/debugfs/ltt/markers/task_state/process_state
Connecting /mnt/debugfs/ltt/markers/global_state/statedump_end
Connecting /mnt/debugfs/ltt/markers/input/input_event
Connecting /mnt/debugfs/ltt/markers/swap_state/statedump_swap_files
Connecting /mnt/debugfs/ltt/markers/module_state/list_module
Connecting /mnt/debugfs/ltt/markers/softirq_state/softirq_vec
root at cavium-octeonplus:~# lttctl -C -w /tmp/trace1 trace1
Linux Trace Toolkit Trace Control 0.78-04122009
Controlling trace : trace1
lttctl: Creating trace
lttctl: Forking lttd
Linux Trace Toolkit Trace Daemon 0.78-04122009
Reading from debugfs directory : /mnt/debugfs/ltt/trace1
Writing to trace directory : /tmp/trace1
lttctl: Starting trace
root at cavium-octeonplus:~# lttctl -D trace1
Linux Trace Toolkit Trace Control 0.78-04122009
Controlling trace : trace1
lttctl: Pausing trace
lttctl: Destroying trace
LTT: 32 events written in channel softirq_state (cpu 0, index 0)
LTT: 17 events written in channel module_state (cpu 0, index 0)
LTT: 1 events written in channel global_state (cpu 0, index 0)
LTT: 335 events written in channel task_state (cpu 0, index 0)
LTT: 699 events written in channel fd_state (cpu 0, index 0)
LTT: 429 events written in channel vm_state (cpu 0, index 0)
LTT: 7 events written in channel irq_state (cpu 0, index 0)
LTT: 10 events written in channel netif_state (cpu 0, index 0)
LTT: 218 events written in channel net (cpu 0, index 0)
LTT: 3 events written in channel net (cpu 1, index 0)
LTT: 4 events written in channel net (cpu 2, index 0)
LTT: 2881 events written in channel kernel (cpu 0, index 0)
LTT: 663 events written in channel kernel (cpu 1, index 0)
LTT: 731 events written in channel kernel (cpu 2, index 0)
LTT: 88 events written in channel kernel (cpu 3, index 0)
LTT: 77 events written in channel kernel (cpu 4, index 0)
LTT: 89 events written in channel kernel (cpu 5, index 0)
LTT: 98 events written in channel kernel (cpu 6, index 0)
LTT: 78 events written in channel kernel (cpu 7, index 0)
LTT: 208 events written in channel kernel (cpu 8, index 0)
LTT: 75 events written in channel kernel (cpu 9, index 0)
LTT: 75 events written in channel kernel (cpu 10, index 0)
LTT: 88 events written in channel kernel (cpu 11, index 0)
LTT: 93 events written in channel kernel (cpu 12, index 0)
LTT: 95 events written in channel kernel (cpu 13, index 0)
LTT: 62 events written in channel kernel (cpu 14, index 0)
LTT: 64 events written in channel kernel (cpu 15, index 0)
LTT: 44 events written in channel mm (cpu 0, index 0)
LTT: 14 events written in channel mm (cpu 1, index 0)
LTT: 41 events written in channel mm (cpu 2, index 0)
LTT: 1 events written in channel mm (cpu 8, index 0)
LTT: 253 events written in channel fs (cpu 0, index 0)
LTT: 4 events written in channel fs (cpu 1, index 0)
LTT: 31 events written in channel fs (cpu 2, index 0)
LTT: 272 events written in channel fs (cpu 4, index 0)
LTT: 8 events written in channel fs (cpu 8, index 0)
LTT: 286 events written in channel metadata (cpu 0, index 0)
root at cavium-octeonplus:~# lttv -m textDump -t /tmp/trace1/ >
Log-trace-text-format.txt
** ERROR **: Process 2120 has been created at [0.000000000] and inserted at
[92.895699903] before
fork on cpu 0[94.290545440].
Probably an unsynchronized TSC problem on the traced machine.
aborting...
Aborted
root at cavium-octeonplus:~#
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110211/e0ad56a8/attachment-0003.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-11 6:38 [ltt-dev] lttv unable to execute textDump on MIPS multicore target Naresh Bhat
2011-02-11 6:38 ` Naresh Bhat
@ 2011-02-11 6:38 ` Naresh Bhat
2011-02-11 7:07 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP48F24DF0C4B7D6CF250B2696EF0@phx.gbl>
3 siblings, 0 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-11 6:38 UTC (permalink / raw)
Hi All,
I am trying to execute LTTng test on MIPS multicore (I pass *numcores=16
while booting)* Octeon based 58xx target board, but the lttv text dump fails
to dump
*My Kernel version: 2.6.32*
*
Linux Trace Toolkit Trace Control 0.78-04122009
Linux Trace Toolkit Visualizer 0.12.29-02022010
*
My questions are
1. Anybody faced this kind of problem ?
2. Is there any patch available for this ? please, can you provide me a
pointer to that patch ?
*-- Thanks and Regards
Naresh Bhat*
*Error log messages:*
root at cavium-octeonplus:~# mkdir /mnt/debugfs
root at cavium-octeonplus:~# mount -t debugfs debugfs /mnt/debugfs/
root at cavium-octeonplus:~# ltt-armall
Connecting /mnt/debugfs/ltt/markers/pm/idle_entry
Connecting /mnt/debugfs/ltt/markers/pm/idle_exit
Connecting /mnt/debugfs/ltt/markers/pm/suspend_entry
Connecting /mnt/debugfs/ltt/markers/pm/suspend_exit
Connecting /mnt/debugfs/ltt/markers/ipc/msg_create
Connecting /mnt/debugfs/ltt/markers/ipc/sem_create
Connecting /mnt/debugfs/ltt/markers/ipc/shm_create
Connecting /mnt/debugfs/ltt/markers/ipc/call
Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_start
Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_end
Connecting /mnt/debugfs/ltt/markers/fs/exec
Connecting /mnt/debugfs/ltt/markers/fs/ioctl
Connecting /mnt/debugfs/ltt/markers/fs/open
Connecting /mnt/debugfs/ltt/markers/fs/close
Connecting /mnt/debugfs/ltt/markers/fs/lseek
Connecting /mnt/debugfs/ltt/markers/fs/llseek
Connecting /mnt/debugfs/ltt/markers/fs/read
Connecting /mnt/debugfs/ltt/markers/fs/write
Connecting /mnt/debugfs/ltt/markers/fs/pread64
Connecting /mnt/debugfs/ltt/markers/fs/pwrite64
Connecting /mnt/debugfs/ltt/markers/fs/readv
Connecting /mnt/debugfs/ltt/markers/fs/writev
Connecting /mnt/debugfs/ltt/markers/fs/select
Connecting /mnt/debugfs/ltt/markers/fs/pollfd
Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_start
Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_end
Connecting /mnt/debugfs/ltt/markers/mm/huge_page_free
Connecting /mnt/debugfs/ltt/markers/mm/huge_page_alloc
Connecting /mnt/debugfs/ltt/markers/mm/page_free
Connecting /mnt/debugfs/ltt/markers/mm/page_alloc
Connecting /mnt/debugfs/ltt/markers/mm/swap_in
Connecting /mnt/debugfs/ltt/markers/mm/swap_out
Connecting /mnt/debugfs/ltt/markers/mm/swap_file_close
Connecting /mnt/debugfs/ltt/markers/mm/swap_file_open
Connecting /mnt/debugfs/ltt/markers/mm/add_to_page_cache
Connecting /mnt/debugfs/ltt/markers/mm/remove_from_page_cache
Connecting /mnt/debugfs/ltt/markers/kernel/trap_entry
Connecting /mnt/debugfs/ltt/markers/kernel/trap_exit
Connecting /mnt/debugfs/ltt/markers/kernel/syscall_entry
Connecting /mnt/debugfs/ltt/markers/kernel/syscall_exit
Connecting /mnt/debugfs/ltt/markers/kernel/irq_entry
Connecting /mnt/debugfs/ltt/markers/kernel/irq_next_handler
Connecting /mnt/debugfs/ltt/markers/kernel/irq_exit
Connecting /mnt/debugfs/ltt/markers/kernel/softirq_entry
Connecting /mnt/debugfs/ltt/markers/kernel/softirq_exit
Connecting /mnt/debugfs/ltt/markers/kernel/softirq_raise
Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_entry
Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_exit
Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_entry
Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_exit
Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop
Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop_ret
Connecting /mnt/debugfs/ltt/markers/kernel/sched_wait_task
Connecting /mnt/debugfs/ltt/markers/kernel/sched_try_wakeup
Connecting /mnt/debugfs/ltt/markers/kernel/sched_wakeup_new_task
Connecting /mnt/debugfs/ltt/markers/kernel/sched_schedule
Connecting /mnt/debugfs/ltt/markers/kernel/sched_migrate_task
Connecting /mnt/debugfs/ltt/markers/kernel/send_signal
Connecting /mnt/debugfs/ltt/markers/kernel/process_free
Connecting /mnt/debugfs/ltt/markers/kernel/process_exit
Connecting /mnt/debugfs/ltt/markers/kernel/process_wait
Connecting /mnt/debugfs/ltt/markers/kernel/process_fork
Connecting /mnt/debugfs/ltt/markers/kernel/kthread_create
Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_expired
Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_set
Connecting /mnt/debugfs/ltt/markers/kernel/timer_set
Connecting /mnt/debugfs/ltt/markers/kernel/timer_update_time
Connecting /mnt/debugfs/ltt/markers/kernel/timer_timeout
Connecting /mnt/debugfs/ltt/markers/kernel/printk
Connecting /mnt/debugfs/ltt/markers/kernel/vprintk
Connecting /mnt/debugfs/ltt/markers/kernel/module_free
Connecting /mnt/debugfs/ltt/markers/kernel/module_load
Connecting /mnt/debugfs/ltt/markers/kernel/panic
Connecting /mnt/debugfs/ltt/markers/kernel/kernel_kexec
Connecting /mnt/debugfs/ltt/markers/kernel/crash_kexec
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_entry
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_exit
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_entry
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_exit
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_entry
Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_exit
Connecting /mnt/debugfs/ltt/markers/net/dev_xmit
Connecting /mnt/debugfs/ltt/markers/net/dev_receive
Connecting /mnt/debugfs/ltt/markers/net/socket_create
Connecting /mnt/debugfs/ltt/markers/net/socket_bind
Connecting /mnt/debugfs/ltt/markers/net/socket_connect
Connecting /mnt/debugfs/ltt/markers/net/socket_listen
Connecting /mnt/debugfs/ltt/markers/net/socket_accept
Connecting /mnt/debugfs/ltt/markers/net/socket_getsockname
Connecting /mnt/debugfs/ltt/markers/net/socket_getpeername
Connecting /mnt/debugfs/ltt/markers/net/socket_socketpair
Connecting /mnt/debugfs/ltt/markers/net/socket_sendmsg
Connecting /mnt/debugfs/ltt/markers/net/socket_recvmsg
Connecting /mnt/debugfs/ltt/markers/net/socket_setsockopt
Connecting /mnt/debugfs/ltt/markers/net/socket_getsockopt
Connecting /mnt/debugfs/ltt/markers/net/socket_shutdown
Connecting /mnt/debugfs/ltt/markers/net/socket_call
Connecting /mnt/debugfs/ltt/markers/net/tcpv4_rcv
Connecting /mnt/debugfs/ltt/markers/net/udpv4_rcv
Connecting /mnt/debugfs/ltt/markers/net/napi_schedule
Connecting /mnt/debugfs/ltt/markers/net/napi_poll
Connecting /mnt/debugfs/ltt/markers/net/napi_complete
Connecting /mnt/debugfs/ltt/markers/block/rq_abort_pc
Connecting /mnt/debugfs/ltt/markers/block/rq_abort_fs
Connecting /mnt/debugfs/ltt/markers/block/rq_insert_pc
Connecting /mnt/debugfs/ltt/markers/block/rq_insert_fs
Connecting /mnt/debugfs/ltt/markers/block/rq_issue_pc
Connecting /mnt/debugfs/ltt/markers/block/rq_issue_fs
Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_pc
Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_fs
Connecting /mnt/debugfs/ltt/markers/block/rq_complete_pc
Connecting /mnt/debugfs/ltt/markers/block/rq_complete_fs
Connecting /mnt/debugfs/ltt/markers/block/bio_bounce
Connecting /mnt/debugfs/ltt/markers/block/bio_complete
Connecting /mnt/debugfs/ltt/markers/block/bio_backmerge
Connecting /mnt/debugfs/ltt/markers/block/bio_frontmerge
Connecting /mnt/debugfs/ltt/markers/block/bio_queue
Connecting /mnt/debugfs/ltt/markers/block/getrq_bio
Connecting /mnt/debugfs/ltt/markers/block/getrq
Connecting /mnt/debugfs/ltt/markers/block/sleeprq_bio
Connecting /mnt/debugfs/ltt/markers/block/sleeprq
Connecting /mnt/debugfs/ltt/markers/block/plug
Connecting /mnt/debugfs/ltt/markers/block/unplug_io
Connecting /mnt/debugfs/ltt/markers/block/unplug_timer
Connecting /mnt/debugfs/ltt/markers/block/split
Connecting /mnt/debugfs/ltt/markers/block/remap
Connecting /mnt/debugfs/ltt/markers/userspace/event
Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv4
Connecting /mnt/debugfs/ltt/markers/netif_state/del_ifa_ipv4
Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv6
Connecting /mnt/debugfs/ltt/markers/netif_state/network_ipv4_interface
Connecting /mnt/debugfs/ltt/markers/netif_state/network_ip_interface
Connecting /mnt/debugfs/ltt/markers/irq_state/interrupt
Connecting /mnt/debugfs/ltt/markers/vm_state/vm_map
Connecting /mnt/debugfs/ltt/markers/fd_state/file_descriptor
Connecting /mnt/debugfs/ltt/markers/task_state/process_state
Connecting /mnt/debugfs/ltt/markers/global_state/statedump_end
Connecting /mnt/debugfs/ltt/markers/input/input_event
Connecting /mnt/debugfs/ltt/markers/swap_state/statedump_swap_files
Connecting /mnt/debugfs/ltt/markers/module_state/list_module
Connecting /mnt/debugfs/ltt/markers/softirq_state/softirq_vec
root at cavium-octeonplus:~# lttctl -C -w /tmp/trace1 trace1
Linux Trace Toolkit Trace Control 0.78-04122009
Controlling trace : trace1
lttctl: Creating trace
lttctl: Forking lttd
Linux Trace Toolkit Trace Daemon 0.78-04122009
Reading from debugfs directory : /mnt/debugfs/ltt/trace1
Writing to trace directory : /tmp/trace1
lttctl: Starting trace
root at cavium-octeonplus:~# lttctl -D trace1
Linux Trace Toolkit Trace Control 0.78-04122009
Controlling trace : trace1
lttctl: Pausing trace
lttctl: Destroying trace
LTT: 32 events written in channel softirq_state (cpu 0, index 0)
LTT: 17 events written in channel module_state (cpu 0, index 0)
LTT: 1 events written in channel global_state (cpu 0, index 0)
LTT: 335 events written in channel task_state (cpu 0, index 0)
LTT: 699 events written in channel fd_state (cpu 0, index 0)
LTT: 429 events written in channel vm_state (cpu 0, index 0)
LTT: 7 events written in channel irq_state (cpu 0, index 0)
LTT: 10 events written in channel netif_state (cpu 0, index 0)
LTT: 218 events written in channel net (cpu 0, index 0)
LTT: 3 events written in channel net (cpu 1, index 0)
LTT: 4 events written in channel net (cpu 2, index 0)
LTT: 2881 events written in channel kernel (cpu 0, index 0)
LTT: 663 events written in channel kernel (cpu 1, index 0)
LTT: 731 events written in channel kernel (cpu 2, index 0)
LTT: 88 events written in channel kernel (cpu 3, index 0)
LTT: 77 events written in channel kernel (cpu 4, index 0)
LTT: 89 events written in channel kernel (cpu 5, index 0)
LTT: 98 events written in channel kernel (cpu 6, index 0)
LTT: 78 events written in channel kernel (cpu 7, index 0)
LTT: 208 events written in channel kernel (cpu 8, index 0)
LTT: 75 events written in channel kernel (cpu 9, index 0)
LTT: 75 events written in channel kernel (cpu 10, index 0)
LTT: 88 events written in channel kernel (cpu 11, index 0)
LTT: 93 events written in channel kernel (cpu 12, index 0)
LTT: 95 events written in channel kernel (cpu 13, index 0)
LTT: 62 events written in channel kernel (cpu 14, index 0)
LTT: 64 events written in channel kernel (cpu 15, index 0)
LTT: 44 events written in channel mm (cpu 0, index 0)
LTT: 14 events written in channel mm (cpu 1, index 0)
LTT: 41 events written in channel mm (cpu 2, index 0)
LTT: 1 events written in channel mm (cpu 8, index 0)
LTT: 253 events written in channel fs (cpu 0, index 0)
LTT: 4 events written in channel fs (cpu 1, index 0)
LTT: 31 events written in channel fs (cpu 2, index 0)
LTT: 272 events written in channel fs (cpu 4, index 0)
LTT: 8 events written in channel fs (cpu 8, index 0)
LTT: 286 events written in channel metadata (cpu 0, index 0)
root at cavium-octeonplus:~# lttv -m textDump -t /tmp/trace1/ >
Log-trace-text-format.txt
** ERROR **: Process 2120 has been created at [0.000000000] and inserted at
[92.895699903] before
fork on cpu 0[94.290545440].
Probably an unsynchronized TSC problem on the traced machine.
aborting...
Aborted
root at cavium-octeonplus:~#
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/ltt-dev/attachments/20110211/e0ad56a8/attachment-0001.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-11 6:38 [ltt-dev] lttv unable to execute textDump on MIPS multicore target Naresh Bhat
2011-02-11 6:38 ` Naresh Bhat
2011-02-11 6:38 ` Naresh Bhat
@ 2011-02-11 7:07 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP48F24DF0C4B7D6CF250B2696EF0@phx.gbl>
3 siblings, 0 replies; 34+ messages in thread
From: Mathieu Desnoyers @ 2011-02-11 7:07 UTC (permalink / raw)
* Naresh Bhat (nareshgbhat at gmail.com) wrote:
> Hi All,
>
> I am trying to execute LTTng test on MIPS multicore (I pass *numcores=16
> while booting)* Octeon based 58xx target board, but the lttv text dump fails
> to dump
>
> *My Kernel version: 2.6.32*
Hello,
Which version of the LTTng patchset are you using ?
Mathieu
> *
>
> Linux Trace Toolkit Trace Control 0.78-04122009
>
> Linux Trace Toolkit Visualizer 0.12.29-02022010
>
> *
> My questions are
>
> 1. Anybody faced this kind of problem ?
> 2. Is there any patch available for this ? please, can you provide me a
> pointer to that patch ?
>
> *-- Thanks and Regards
> Naresh Bhat*
>
> *Error log messages:*
>
> root at cavium-octeonplus:~# mkdir /mnt/debugfs
>
> root at cavium-octeonplus:~# mount -t debugfs debugfs /mnt/debugfs/
> root at cavium-octeonplus:~# ltt-armall
> Connecting /mnt/debugfs/ltt/markers/pm/idle_entry
> Connecting /mnt/debugfs/ltt/markers/pm/idle_exit
> Connecting /mnt/debugfs/ltt/markers/pm/suspend_entry
> Connecting /mnt/debugfs/ltt/markers/pm/suspend_exit
> Connecting /mnt/debugfs/ltt/markers/ipc/msg_create
> Connecting /mnt/debugfs/ltt/markers/ipc/sem_create
> Connecting /mnt/debugfs/ltt/markers/ipc/shm_create
> Connecting /mnt/debugfs/ltt/markers/ipc/call
> Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_start
> Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_end
> Connecting /mnt/debugfs/ltt/markers/fs/exec
> Connecting /mnt/debugfs/ltt/markers/fs/ioctl
> Connecting /mnt/debugfs/ltt/markers/fs/open
> Connecting /mnt/debugfs/ltt/markers/fs/close
> Connecting /mnt/debugfs/ltt/markers/fs/lseek
> Connecting /mnt/debugfs/ltt/markers/fs/llseek
> Connecting /mnt/debugfs/ltt/markers/fs/read
> Connecting /mnt/debugfs/ltt/markers/fs/write
> Connecting /mnt/debugfs/ltt/markers/fs/pread64
> Connecting /mnt/debugfs/ltt/markers/fs/pwrite64
> Connecting /mnt/debugfs/ltt/markers/fs/readv
> Connecting /mnt/debugfs/ltt/markers/fs/writev
> Connecting /mnt/debugfs/ltt/markers/fs/select
> Connecting /mnt/debugfs/ltt/markers/fs/pollfd
> Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_start
> Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_end
> Connecting /mnt/debugfs/ltt/markers/mm/huge_page_free
> Connecting /mnt/debugfs/ltt/markers/mm/huge_page_alloc
> Connecting /mnt/debugfs/ltt/markers/mm/page_free
> Connecting /mnt/debugfs/ltt/markers/mm/page_alloc
> Connecting /mnt/debugfs/ltt/markers/mm/swap_in
> Connecting /mnt/debugfs/ltt/markers/mm/swap_out
> Connecting /mnt/debugfs/ltt/markers/mm/swap_file_close
> Connecting /mnt/debugfs/ltt/markers/mm/swap_file_open
> Connecting /mnt/debugfs/ltt/markers/mm/add_to_page_cache
> Connecting /mnt/debugfs/ltt/markers/mm/remove_from_page_cache
> Connecting /mnt/debugfs/ltt/markers/kernel/trap_entry
> Connecting /mnt/debugfs/ltt/markers/kernel/trap_exit
> Connecting /mnt/debugfs/ltt/markers/kernel/syscall_entry
> Connecting /mnt/debugfs/ltt/markers/kernel/syscall_exit
> Connecting /mnt/debugfs/ltt/markers/kernel/irq_entry
> Connecting /mnt/debugfs/ltt/markers/kernel/irq_next_handler
> Connecting /mnt/debugfs/ltt/markers/kernel/irq_exit
> Connecting /mnt/debugfs/ltt/markers/kernel/softirq_entry
> Connecting /mnt/debugfs/ltt/markers/kernel/softirq_exit
> Connecting /mnt/debugfs/ltt/markers/kernel/softirq_raise
> Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_entry
> Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_exit
> Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_entry
> Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_exit
> Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop
> Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop_ret
> Connecting /mnt/debugfs/ltt/markers/kernel/sched_wait_task
> Connecting /mnt/debugfs/ltt/markers/kernel/sched_try_wakeup
> Connecting /mnt/debugfs/ltt/markers/kernel/sched_wakeup_new_task
> Connecting /mnt/debugfs/ltt/markers/kernel/sched_schedule
> Connecting /mnt/debugfs/ltt/markers/kernel/sched_migrate_task
> Connecting /mnt/debugfs/ltt/markers/kernel/send_signal
> Connecting /mnt/debugfs/ltt/markers/kernel/process_free
> Connecting /mnt/debugfs/ltt/markers/kernel/process_exit
> Connecting /mnt/debugfs/ltt/markers/kernel/process_wait
> Connecting /mnt/debugfs/ltt/markers/kernel/process_fork
> Connecting /mnt/debugfs/ltt/markers/kernel/kthread_create
> Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_expired
> Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_set
> Connecting /mnt/debugfs/ltt/markers/kernel/timer_set
> Connecting /mnt/debugfs/ltt/markers/kernel/timer_update_time
> Connecting /mnt/debugfs/ltt/markers/kernel/timer_timeout
> Connecting /mnt/debugfs/ltt/markers/kernel/printk
> Connecting /mnt/debugfs/ltt/markers/kernel/vprintk
> Connecting /mnt/debugfs/ltt/markers/kernel/module_free
> Connecting /mnt/debugfs/ltt/markers/kernel/module_load
> Connecting /mnt/debugfs/ltt/markers/kernel/panic
> Connecting /mnt/debugfs/ltt/markers/kernel/kernel_kexec
> Connecting /mnt/debugfs/ltt/markers/kernel/crash_kexec
> Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_entry
> Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_exit
> Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_entry
> Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_exit
> Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_entry
> Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_exit
> Connecting /mnt/debugfs/ltt/markers/net/dev_xmit
> Connecting /mnt/debugfs/ltt/markers/net/dev_receive
> Connecting /mnt/debugfs/ltt/markers/net/socket_create
> Connecting /mnt/debugfs/ltt/markers/net/socket_bind
> Connecting /mnt/debugfs/ltt/markers/net/socket_connect
> Connecting /mnt/debugfs/ltt/markers/net/socket_listen
> Connecting /mnt/debugfs/ltt/markers/net/socket_accept
> Connecting /mnt/debugfs/ltt/markers/net/socket_getsockname
> Connecting /mnt/debugfs/ltt/markers/net/socket_getpeername
> Connecting /mnt/debugfs/ltt/markers/net/socket_socketpair
> Connecting /mnt/debugfs/ltt/markers/net/socket_sendmsg
> Connecting /mnt/debugfs/ltt/markers/net/socket_recvmsg
> Connecting /mnt/debugfs/ltt/markers/net/socket_setsockopt
> Connecting /mnt/debugfs/ltt/markers/net/socket_getsockopt
> Connecting /mnt/debugfs/ltt/markers/net/socket_shutdown
> Connecting /mnt/debugfs/ltt/markers/net/socket_call
> Connecting /mnt/debugfs/ltt/markers/net/tcpv4_rcv
> Connecting /mnt/debugfs/ltt/markers/net/udpv4_rcv
> Connecting /mnt/debugfs/ltt/markers/net/napi_schedule
> Connecting /mnt/debugfs/ltt/markers/net/napi_poll
> Connecting /mnt/debugfs/ltt/markers/net/napi_complete
> Connecting /mnt/debugfs/ltt/markers/block/rq_abort_pc
> Connecting /mnt/debugfs/ltt/markers/block/rq_abort_fs
> Connecting /mnt/debugfs/ltt/markers/block/rq_insert_pc
> Connecting /mnt/debugfs/ltt/markers/block/rq_insert_fs
> Connecting /mnt/debugfs/ltt/markers/block/rq_issue_pc
> Connecting /mnt/debugfs/ltt/markers/block/rq_issue_fs
> Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_pc
> Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_fs
> Connecting /mnt/debugfs/ltt/markers/block/rq_complete_pc
> Connecting /mnt/debugfs/ltt/markers/block/rq_complete_fs
> Connecting /mnt/debugfs/ltt/markers/block/bio_bounce
> Connecting /mnt/debugfs/ltt/markers/block/bio_complete
> Connecting /mnt/debugfs/ltt/markers/block/bio_backmerge
> Connecting /mnt/debugfs/ltt/markers/block/bio_frontmerge
> Connecting /mnt/debugfs/ltt/markers/block/bio_queue
> Connecting /mnt/debugfs/ltt/markers/block/getrq_bio
> Connecting /mnt/debugfs/ltt/markers/block/getrq
> Connecting /mnt/debugfs/ltt/markers/block/sleeprq_bio
> Connecting /mnt/debugfs/ltt/markers/block/sleeprq
> Connecting /mnt/debugfs/ltt/markers/block/plug
> Connecting /mnt/debugfs/ltt/markers/block/unplug_io
> Connecting /mnt/debugfs/ltt/markers/block/unplug_timer
> Connecting /mnt/debugfs/ltt/markers/block/split
> Connecting /mnt/debugfs/ltt/markers/block/remap
> Connecting /mnt/debugfs/ltt/markers/userspace/event
> Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv4
> Connecting /mnt/debugfs/ltt/markers/netif_state/del_ifa_ipv4
> Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv6
> Connecting /mnt/debugfs/ltt/markers/netif_state/network_ipv4_interface
> Connecting /mnt/debugfs/ltt/markers/netif_state/network_ip_interface
> Connecting /mnt/debugfs/ltt/markers/irq_state/interrupt
> Connecting /mnt/debugfs/ltt/markers/vm_state/vm_map
> Connecting /mnt/debugfs/ltt/markers/fd_state/file_descriptor
> Connecting /mnt/debugfs/ltt/markers/task_state/process_state
> Connecting /mnt/debugfs/ltt/markers/global_state/statedump_end
> Connecting /mnt/debugfs/ltt/markers/input/input_event
> Connecting /mnt/debugfs/ltt/markers/swap_state/statedump_swap_files
> Connecting /mnt/debugfs/ltt/markers/module_state/list_module
> Connecting /mnt/debugfs/ltt/markers/softirq_state/softirq_vec
> root at cavium-octeonplus:~# lttctl -C -w /tmp/trace1 trace1
> Linux Trace Toolkit Trace Control 0.78-04122009
>
> Controlling trace : trace1
>
> lttctl: Creating trace
> lttctl: Forking lttd
> Linux Trace Toolkit Trace Daemon 0.78-04122009
>
> Reading from debugfs directory : /mnt/debugfs/ltt/trace1
> Writing to trace directory : /tmp/trace1
>
> lttctl: Starting trace
> root at cavium-octeonplus:~# lttctl -D trace1
> Linux Trace Toolkit Trace Control 0.78-04122009
>
> Controlling trace : trace1
>
> lttctl: Pausing trace
> lttctl: Destroying trace
> LTT: 32 events written in channel softirq_state (cpu 0, index 0)
> LTT: 17 events written in channel module_state (cpu 0, index 0)
> LTT: 1 events written in channel global_state (cpu 0, index 0)
> LTT: 335 events written in channel task_state (cpu 0, index 0)
> LTT: 699 events written in channel fd_state (cpu 0, index 0)
> LTT: 429 events written in channel vm_state (cpu 0, index 0)
> LTT: 7 events written in channel irq_state (cpu 0, index 0)
> LTT: 10 events written in channel netif_state (cpu 0, index 0)
> LTT: 218 events written in channel net (cpu 0, index 0)
> LTT: 3 events written in channel net (cpu 1, index 0)
> LTT: 4 events written in channel net (cpu 2, index 0)
> LTT: 2881 events written in channel kernel (cpu 0, index 0)
> LTT: 663 events written in channel kernel (cpu 1, index 0)
> LTT: 731 events written in channel kernel (cpu 2, index 0)
> LTT: 88 events written in channel kernel (cpu 3, index 0)
> LTT: 77 events written in channel kernel (cpu 4, index 0)
> LTT: 89 events written in channel kernel (cpu 5, index 0)
> LTT: 98 events written in channel kernel (cpu 6, index 0)
> LTT: 78 events written in channel kernel (cpu 7, index 0)
> LTT: 208 events written in channel kernel (cpu 8, index 0)
> LTT: 75 events written in channel kernel (cpu 9, index 0)
> LTT: 75 events written in channel kernel (cpu 10, index 0)
> LTT: 88 events written in channel kernel (cpu 11, index 0)
> LTT: 93 events written in channel kernel (cpu 12, index 0)
> LTT: 95 events written in channel kernel (cpu 13, index 0)
> LTT: 62 events written in channel kernel (cpu 14, index 0)
> LTT: 64 events written in channel kernel (cpu 15, index 0)
> LTT: 44 events written in channel mm (cpu 0, index 0)
> LTT: 14 events written in channel mm (cpu 1, index 0)
> LTT: 41 events written in channel mm (cpu 2, index 0)
> LTT: 1 events written in channel mm (cpu 8, index 0)
> LTT: 253 events written in channel fs (cpu 0, index 0)
> LTT: 4 events written in channel fs (cpu 1, index 0)
> LTT: 31 events written in channel fs (cpu 2, index 0)
> LTT: 272 events written in channel fs (cpu 4, index 0)
> LTT: 8 events written in channel fs (cpu 8, index 0)
> LTT: 286 events written in channel metadata (cpu 0, index 0)
> root at cavium-octeonplus:~# lttv -m textDump -t /tmp/trace1/ >
> Log-trace-text-format.txt
>
> ** ERROR **: Process 2120 has been created at [0.000000000] and inserted at
> [92.895699903] before
> fork on cpu 0[94.290545440].
> Probably an unsynchronized TSC problem on the traced machine.
> aborting...
> Aborted
> root at cavium-octeonplus:~#
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
[not found] ` <BLU0-SMTP48F24DF0C4B7D6CF250B2696EF0@phx.gbl>
@ 2011-02-11 7:30 ` Naresh Bhat
2011-02-11 7:30 ` Naresh Bhat
` (3 more replies)
0 siblings, 4 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-11 7:30 UTC (permalink / raw)
Hi Mathew,
I am using 0.188 patch set version (2.6.32.4-lttng-0.188)
*
*
*Thanks*
*-Naresh Bhat*
On Fri, Feb 11, 2011 at 12:37 PM, Mathieu Desnoyers <
compudj at krystal.dyndns.org> wrote:
> * Naresh Bhat (nareshgbhat at gmail.com) wrote:
> > Hi All,
> >
> > I am trying to execute LTTng test on MIPS multicore (I pass *numcores=16
> > while booting)* Octeon based 58xx target board, but the lttv text dump
> fails
> > to dump
> >
> > *My Kernel version: 2.6.32*
>
> Hello,
>
> Which version of the LTTng patchset are you using ?
>
> Mathieu
>
> > *
> >
> > Linux Trace Toolkit Trace Control 0.78-04122009
> >
> > Linux Trace Toolkit Visualizer 0.12.29-02022010
> >
> > *
> > My questions are
> >
> > 1. Anybody faced this kind of problem ?
> > 2. Is there any patch available for this ? please, can you provide me a
> > pointer to that patch ?
> >
> > *-- Thanks and Regards
> > Naresh Bhat*
> >
> > *Error log messages:*
> >
> > root at cavium-octeonplus:~# mkdir /mnt/debugfs
> >
> > root at cavium-octeonplus:~# mount -t debugfs debugfs /mnt/debugfs/
> > root at cavium-octeonplus:~# ltt-armall
> > Connecting /mnt/debugfs/ltt/markers/pm/idle_entry
> > Connecting /mnt/debugfs/ltt/markers/pm/idle_exit
> > Connecting /mnt/debugfs/ltt/markers/pm/suspend_entry
> > Connecting /mnt/debugfs/ltt/markers/pm/suspend_exit
> > Connecting /mnt/debugfs/ltt/markers/ipc/msg_create
> > Connecting /mnt/debugfs/ltt/markers/ipc/sem_create
> > Connecting /mnt/debugfs/ltt/markers/ipc/shm_create
> > Connecting /mnt/debugfs/ltt/markers/ipc/call
> > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_start
> > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_end
> > Connecting /mnt/debugfs/ltt/markers/fs/exec
> > Connecting /mnt/debugfs/ltt/markers/fs/ioctl
> > Connecting /mnt/debugfs/ltt/markers/fs/open
> > Connecting /mnt/debugfs/ltt/markers/fs/close
> > Connecting /mnt/debugfs/ltt/markers/fs/lseek
> > Connecting /mnt/debugfs/ltt/markers/fs/llseek
> > Connecting /mnt/debugfs/ltt/markers/fs/read
> > Connecting /mnt/debugfs/ltt/markers/fs/write
> > Connecting /mnt/debugfs/ltt/markers/fs/pread64
> > Connecting /mnt/debugfs/ltt/markers/fs/pwrite64
> > Connecting /mnt/debugfs/ltt/markers/fs/readv
> > Connecting /mnt/debugfs/ltt/markers/fs/writev
> > Connecting /mnt/debugfs/ltt/markers/fs/select
> > Connecting /mnt/debugfs/ltt/markers/fs/pollfd
> > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_start
> > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_end
> > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_free
> > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_alloc
> > Connecting /mnt/debugfs/ltt/markers/mm/page_free
> > Connecting /mnt/debugfs/ltt/markers/mm/page_alloc
> > Connecting /mnt/debugfs/ltt/markers/mm/swap_in
> > Connecting /mnt/debugfs/ltt/markers/mm/swap_out
> > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_close
> > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_open
> > Connecting /mnt/debugfs/ltt/markers/mm/add_to_page_cache
> > Connecting /mnt/debugfs/ltt/markers/mm/remove_from_page_cache
> > Connecting /mnt/debugfs/ltt/markers/kernel/trap_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/trap_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/irq_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/irq_next_handler
> > Connecting /mnt/debugfs/ltt/markers/kernel/irq_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_raise
> > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop
> > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop_ret
> > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wait_task
> > Connecting /mnt/debugfs/ltt/markers/kernel/sched_try_wakeup
> > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wakeup_new_task
> > Connecting /mnt/debugfs/ltt/markers/kernel/sched_schedule
> > Connecting /mnt/debugfs/ltt/markers/kernel/sched_migrate_task
> > Connecting /mnt/debugfs/ltt/markers/kernel/send_signal
> > Connecting /mnt/debugfs/ltt/markers/kernel/process_free
> > Connecting /mnt/debugfs/ltt/markers/kernel/process_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/process_wait
> > Connecting /mnt/debugfs/ltt/markers/kernel/process_fork
> > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_create
> > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_expired
> > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_set
> > Connecting /mnt/debugfs/ltt/markers/kernel/timer_set
> > Connecting /mnt/debugfs/ltt/markers/kernel/timer_update_time
> > Connecting /mnt/debugfs/ltt/markers/kernel/timer_timeout
> > Connecting /mnt/debugfs/ltt/markers/kernel/printk
> > Connecting /mnt/debugfs/ltt/markers/kernel/vprintk
> > Connecting /mnt/debugfs/ltt/markers/kernel/module_free
> > Connecting /mnt/debugfs/ltt/markers/kernel/module_load
> > Connecting /mnt/debugfs/ltt/markers/kernel/panic
> > Connecting /mnt/debugfs/ltt/markers/kernel/kernel_kexec
> > Connecting /mnt/debugfs/ltt/markers/kernel/crash_kexec
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_exit
> > Connecting /mnt/debugfs/ltt/markers/net/dev_xmit
> > Connecting /mnt/debugfs/ltt/markers/net/dev_receive
> > Connecting /mnt/debugfs/ltt/markers/net/socket_create
> > Connecting /mnt/debugfs/ltt/markers/net/socket_bind
> > Connecting /mnt/debugfs/ltt/markers/net/socket_connect
> > Connecting /mnt/debugfs/ltt/markers/net/socket_listen
> > Connecting /mnt/debugfs/ltt/markers/net/socket_accept
> > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockname
> > Connecting /mnt/debugfs/ltt/markers/net/socket_getpeername
> > Connecting /mnt/debugfs/ltt/markers/net/socket_socketpair
> > Connecting /mnt/debugfs/ltt/markers/net/socket_sendmsg
> > Connecting /mnt/debugfs/ltt/markers/net/socket_recvmsg
> > Connecting /mnt/debugfs/ltt/markers/net/socket_setsockopt
> > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockopt
> > Connecting /mnt/debugfs/ltt/markers/net/socket_shutdown
> > Connecting /mnt/debugfs/ltt/markers/net/socket_call
> > Connecting /mnt/debugfs/ltt/markers/net/tcpv4_rcv
> > Connecting /mnt/debugfs/ltt/markers/net/udpv4_rcv
> > Connecting /mnt/debugfs/ltt/markers/net/napi_schedule
> > Connecting /mnt/debugfs/ltt/markers/net/napi_poll
> > Connecting /mnt/debugfs/ltt/markers/net/napi_complete
> > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_pc
> > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_fs
> > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_pc
> > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_fs
> > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_pc
> > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_fs
> > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_pc
> > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_fs
> > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_pc
> > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_fs
> > Connecting /mnt/debugfs/ltt/markers/block/bio_bounce
> > Connecting /mnt/debugfs/ltt/markers/block/bio_complete
> > Connecting /mnt/debugfs/ltt/markers/block/bio_backmerge
> > Connecting /mnt/debugfs/ltt/markers/block/bio_frontmerge
> > Connecting /mnt/debugfs/ltt/markers/block/bio_queue
> > Connecting /mnt/debugfs/ltt/markers/block/getrq_bio
> > Connecting /mnt/debugfs/ltt/markers/block/getrq
> > Connecting /mnt/debugfs/ltt/markers/block/sleeprq_bio
> > Connecting /mnt/debugfs/ltt/markers/block/sleeprq
> > Connecting /mnt/debugfs/ltt/markers/block/plug
> > Connecting /mnt/debugfs/ltt/markers/block/unplug_io
> > Connecting /mnt/debugfs/ltt/markers/block/unplug_timer
> > Connecting /mnt/debugfs/ltt/markers/block/split
> > Connecting /mnt/debugfs/ltt/markers/block/remap
> > Connecting /mnt/debugfs/ltt/markers/userspace/event
> > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv4
> > Connecting /mnt/debugfs/ltt/markers/netif_state/del_ifa_ipv4
> > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv6
> > Connecting /mnt/debugfs/ltt/markers/netif_state/network_ipv4_interface
> > Connecting /mnt/debugfs/ltt/markers/netif_state/network_ip_interface
> > Connecting /mnt/debugfs/ltt/markers/irq_state/interrupt
> > Connecting /mnt/debugfs/ltt/markers/vm_state/vm_map
> > Connecting /mnt/debugfs/ltt/markers/fd_state/file_descriptor
> > Connecting /mnt/debugfs/ltt/markers/task_state/process_state
> > Connecting /mnt/debugfs/ltt/markers/global_state/statedump_end
> > Connecting /mnt/debugfs/ltt/markers/input/input_event
> > Connecting /mnt/debugfs/ltt/markers/swap_state/statedump_swap_files
> > Connecting /mnt/debugfs/ltt/markers/module_state/list_module
> > Connecting /mnt/debugfs/ltt/markers/softirq_state/softirq_vec
> > root at cavium-octeonplus:~# lttctl -C -w /tmp/trace1 trace1
> > Linux Trace Toolkit Trace Control 0.78-04122009
> >
> > Controlling trace : trace1
> >
> > lttctl: Creating trace
> > lttctl: Forking lttd
> > Linux Trace Toolkit Trace Daemon 0.78-04122009
> >
> > Reading from debugfs directory : /mnt/debugfs/ltt/trace1
> > Writing to trace directory : /tmp/trace1
> >
> > lttctl: Starting trace
> > root at cavium-octeonplus:~# lttctl -D trace1
> > Linux Trace Toolkit Trace Control 0.78-04122009
> >
> > Controlling trace : trace1
> >
> > lttctl: Pausing trace
> > lttctl: Destroying trace
> > LTT: 32 events written in channel softirq_state (cpu 0, index 0)
> > LTT: 17 events written in channel module_state (cpu 0, index 0)
> > LTT: 1 events written in channel global_state (cpu 0, index 0)
> > LTT: 335 events written in channel task_state (cpu 0, index 0)
> > LTT: 699 events written in channel fd_state (cpu 0, index 0)
> > LTT: 429 events written in channel vm_state (cpu 0, index 0)
> > LTT: 7 events written in channel irq_state (cpu 0, index 0)
> > LTT: 10 events written in channel netif_state (cpu 0, index 0)
> > LTT: 218 events written in channel net (cpu 0, index 0)
> > LTT: 3 events written in channel net (cpu 1, index 0)
> > LTT: 4 events written in channel net (cpu 2, index 0)
> > LTT: 2881 events written in channel kernel (cpu 0, index 0)
> > LTT: 663 events written in channel kernel (cpu 1, index 0)
> > LTT: 731 events written in channel kernel (cpu 2, index 0)
> > LTT: 88 events written in channel kernel (cpu 3, index 0)
> > LTT: 77 events written in channel kernel (cpu 4, index 0)
> > LTT: 89 events written in channel kernel (cpu 5, index 0)
> > LTT: 98 events written in channel kernel (cpu 6, index 0)
> > LTT: 78 events written in channel kernel (cpu 7, index 0)
> > LTT: 208 events written in channel kernel (cpu 8, index 0)
> > LTT: 75 events written in channel kernel (cpu 9, index 0)
> > LTT: 75 events written in channel kernel (cpu 10, index 0)
> > LTT: 88 events written in channel kernel (cpu 11, index 0)
> > LTT: 93 events written in channel kernel (cpu 12, index 0)
> > LTT: 95 events written in channel kernel (cpu 13, index 0)
> > LTT: 62 events written in channel kernel (cpu 14, index 0)
> > LTT: 64 events written in channel kernel (cpu 15, index 0)
> > LTT: 44 events written in channel mm (cpu 0, index 0)
> > LTT: 14 events written in channel mm (cpu 1, index 0)
> > LTT: 41 events written in channel mm (cpu 2, index 0)
> > LTT: 1 events written in channel mm (cpu 8, index 0)
> > LTT: 253 events written in channel fs (cpu 0, index 0)
> > LTT: 4 events written in channel fs (cpu 1, index 0)
> > LTT: 31 events written in channel fs (cpu 2, index 0)
> > LTT: 272 events written in channel fs (cpu 4, index 0)
> > LTT: 8 events written in channel fs (cpu 8, index 0)
> > LTT: 286 events written in channel metadata (cpu 0, index 0)
> > root at cavium-octeonplus:~# lttv -m textDump -t /tmp/trace1/ >
> > Log-trace-text-format.txt
> >
> > ** ERROR **: Process 2120 has been created at [0.000000000] and inserted
> at
> > [92.895699903] before
> > fork on cpu 0[94.290545440].
> > Probably an unsynchronized TSC problem on the traced machine.
> > aborting...
> > Aborted
> > root at cavium-octeonplus:~#
>
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/ltt-dev/attachments/20110211/502565da/attachment-0001.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-11 7:30 ` Naresh Bhat
2011-02-11 7:30 ` Naresh Bhat
@ 2011-02-11 7:30 ` Naresh Bhat
2011-02-11 14:26 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP19709C87A494AE8507C77296EF0@phx.gbl>
3 siblings, 0 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-11 7:30 UTC (permalink / raw)
Hi Mathew,
I am using 0.188 patch set version (2.6.32.4-lttng-0.188)
*
*
*Thanks*
*-Naresh Bhat*
On Fri, Feb 11, 2011 at 12:37 PM, Mathieu Desnoyers <
compudj at krystal.dyndns.org> wrote:
> * Naresh Bhat (nareshgbhat at gmail.com) wrote:
> > Hi All,
> >
> > I am trying to execute LTTng test on MIPS multicore (I pass *numcores=16
> > while booting)* Octeon based 58xx target board, but the lttv text dump
> fails
> > to dump
> >
> > *My Kernel version: 2.6.32*
>
> Hello,
>
> Which version of the LTTng patchset are you using ?
>
> Mathieu
>
> > *
> >
> > Linux Trace Toolkit Trace Control 0.78-04122009
> >
> > Linux Trace Toolkit Visualizer 0.12.29-02022010
> >
> > *
> > My questions are
> >
> > 1. Anybody faced this kind of problem ?
> > 2. Is there any patch available for this ? please, can you provide me a
> > pointer to that patch ?
> >
> > *-- Thanks and Regards
> > Naresh Bhat*
> >
> > *Error log messages:*
> >
> > root at cavium-octeonplus:~# mkdir /mnt/debugfs
> >
> > root at cavium-octeonplus:~# mount -t debugfs debugfs /mnt/debugfs/
> > root at cavium-octeonplus:~# ltt-armall
> > Connecting /mnt/debugfs/ltt/markers/pm/idle_entry
> > Connecting /mnt/debugfs/ltt/markers/pm/idle_exit
> > Connecting /mnt/debugfs/ltt/markers/pm/suspend_entry
> > Connecting /mnt/debugfs/ltt/markers/pm/suspend_exit
> > Connecting /mnt/debugfs/ltt/markers/ipc/msg_create
> > Connecting /mnt/debugfs/ltt/markers/ipc/sem_create
> > Connecting /mnt/debugfs/ltt/markers/ipc/shm_create
> > Connecting /mnt/debugfs/ltt/markers/ipc/call
> > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_start
> > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_end
> > Connecting /mnt/debugfs/ltt/markers/fs/exec
> > Connecting /mnt/debugfs/ltt/markers/fs/ioctl
> > Connecting /mnt/debugfs/ltt/markers/fs/open
> > Connecting /mnt/debugfs/ltt/markers/fs/close
> > Connecting /mnt/debugfs/ltt/markers/fs/lseek
> > Connecting /mnt/debugfs/ltt/markers/fs/llseek
> > Connecting /mnt/debugfs/ltt/markers/fs/read
> > Connecting /mnt/debugfs/ltt/markers/fs/write
> > Connecting /mnt/debugfs/ltt/markers/fs/pread64
> > Connecting /mnt/debugfs/ltt/markers/fs/pwrite64
> > Connecting /mnt/debugfs/ltt/markers/fs/readv
> > Connecting /mnt/debugfs/ltt/markers/fs/writev
> > Connecting /mnt/debugfs/ltt/markers/fs/select
> > Connecting /mnt/debugfs/ltt/markers/fs/pollfd
> > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_start
> > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_end
> > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_free
> > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_alloc
> > Connecting /mnt/debugfs/ltt/markers/mm/page_free
> > Connecting /mnt/debugfs/ltt/markers/mm/page_alloc
> > Connecting /mnt/debugfs/ltt/markers/mm/swap_in
> > Connecting /mnt/debugfs/ltt/markers/mm/swap_out
> > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_close
> > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_open
> > Connecting /mnt/debugfs/ltt/markers/mm/add_to_page_cache
> > Connecting /mnt/debugfs/ltt/markers/mm/remove_from_page_cache
> > Connecting /mnt/debugfs/ltt/markers/kernel/trap_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/trap_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/irq_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/irq_next_handler
> > Connecting /mnt/debugfs/ltt/markers/kernel/irq_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_raise
> > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop
> > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop_ret
> > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wait_task
> > Connecting /mnt/debugfs/ltt/markers/kernel/sched_try_wakeup
> > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wakeup_new_task
> > Connecting /mnt/debugfs/ltt/markers/kernel/sched_schedule
> > Connecting /mnt/debugfs/ltt/markers/kernel/sched_migrate_task
> > Connecting /mnt/debugfs/ltt/markers/kernel/send_signal
> > Connecting /mnt/debugfs/ltt/markers/kernel/process_free
> > Connecting /mnt/debugfs/ltt/markers/kernel/process_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/process_wait
> > Connecting /mnt/debugfs/ltt/markers/kernel/process_fork
> > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_create
> > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_expired
> > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_set
> > Connecting /mnt/debugfs/ltt/markers/kernel/timer_set
> > Connecting /mnt/debugfs/ltt/markers/kernel/timer_update_time
> > Connecting /mnt/debugfs/ltt/markers/kernel/timer_timeout
> > Connecting /mnt/debugfs/ltt/markers/kernel/printk
> > Connecting /mnt/debugfs/ltt/markers/kernel/vprintk
> > Connecting /mnt/debugfs/ltt/markers/kernel/module_free
> > Connecting /mnt/debugfs/ltt/markers/kernel/module_load
> > Connecting /mnt/debugfs/ltt/markers/kernel/panic
> > Connecting /mnt/debugfs/ltt/markers/kernel/kernel_kexec
> > Connecting /mnt/debugfs/ltt/markers/kernel/crash_kexec
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_exit
> > Connecting /mnt/debugfs/ltt/markers/net/dev_xmit
> > Connecting /mnt/debugfs/ltt/markers/net/dev_receive
> > Connecting /mnt/debugfs/ltt/markers/net/socket_create
> > Connecting /mnt/debugfs/ltt/markers/net/socket_bind
> > Connecting /mnt/debugfs/ltt/markers/net/socket_connect
> > Connecting /mnt/debugfs/ltt/markers/net/socket_listen
> > Connecting /mnt/debugfs/ltt/markers/net/socket_accept
> > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockname
> > Connecting /mnt/debugfs/ltt/markers/net/socket_getpeername
> > Connecting /mnt/debugfs/ltt/markers/net/socket_socketpair
> > Connecting /mnt/debugfs/ltt/markers/net/socket_sendmsg
> > Connecting /mnt/debugfs/ltt/markers/net/socket_recvmsg
> > Connecting /mnt/debugfs/ltt/markers/net/socket_setsockopt
> > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockopt
> > Connecting /mnt/debugfs/ltt/markers/net/socket_shutdown
> > Connecting /mnt/debugfs/ltt/markers/net/socket_call
> > Connecting /mnt/debugfs/ltt/markers/net/tcpv4_rcv
> > Connecting /mnt/debugfs/ltt/markers/net/udpv4_rcv
> > Connecting /mnt/debugfs/ltt/markers/net/napi_schedule
> > Connecting /mnt/debugfs/ltt/markers/net/napi_poll
> > Connecting /mnt/debugfs/ltt/markers/net/napi_complete
> > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_pc
> > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_fs
> > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_pc
> > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_fs
> > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_pc
> > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_fs
> > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_pc
> > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_fs
> > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_pc
> > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_fs
> > Connecting /mnt/debugfs/ltt/markers/block/bio_bounce
> > Connecting /mnt/debugfs/ltt/markers/block/bio_complete
> > Connecting /mnt/debugfs/ltt/markers/block/bio_backmerge
> > Connecting /mnt/debugfs/ltt/markers/block/bio_frontmerge
> > Connecting /mnt/debugfs/ltt/markers/block/bio_queue
> > Connecting /mnt/debugfs/ltt/markers/block/getrq_bio
> > Connecting /mnt/debugfs/ltt/markers/block/getrq
> > Connecting /mnt/debugfs/ltt/markers/block/sleeprq_bio
> > Connecting /mnt/debugfs/ltt/markers/block/sleeprq
> > Connecting /mnt/debugfs/ltt/markers/block/plug
> > Connecting /mnt/debugfs/ltt/markers/block/unplug_io
> > Connecting /mnt/debugfs/ltt/markers/block/unplug_timer
> > Connecting /mnt/debugfs/ltt/markers/block/split
> > Connecting /mnt/debugfs/ltt/markers/block/remap
> > Connecting /mnt/debugfs/ltt/markers/userspace/event
> > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv4
> > Connecting /mnt/debugfs/ltt/markers/netif_state/del_ifa_ipv4
> > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv6
> > Connecting /mnt/debugfs/ltt/markers/netif_state/network_ipv4_interface
> > Connecting /mnt/debugfs/ltt/markers/netif_state/network_ip_interface
> > Connecting /mnt/debugfs/ltt/markers/irq_state/interrupt
> > Connecting /mnt/debugfs/ltt/markers/vm_state/vm_map
> > Connecting /mnt/debugfs/ltt/markers/fd_state/file_descriptor
> > Connecting /mnt/debugfs/ltt/markers/task_state/process_state
> > Connecting /mnt/debugfs/ltt/markers/global_state/statedump_end
> > Connecting /mnt/debugfs/ltt/markers/input/input_event
> > Connecting /mnt/debugfs/ltt/markers/swap_state/statedump_swap_files
> > Connecting /mnt/debugfs/ltt/markers/module_state/list_module
> > Connecting /mnt/debugfs/ltt/markers/softirq_state/softirq_vec
> > root at cavium-octeonplus:~# lttctl -C -w /tmp/trace1 trace1
> > Linux Trace Toolkit Trace Control 0.78-04122009
> >
> > Controlling trace : trace1
> >
> > lttctl: Creating trace
> > lttctl: Forking lttd
> > Linux Trace Toolkit Trace Daemon 0.78-04122009
> >
> > Reading from debugfs directory : /mnt/debugfs/ltt/trace1
> > Writing to trace directory : /tmp/trace1
> >
> > lttctl: Starting trace
> > root at cavium-octeonplus:~# lttctl -D trace1
> > Linux Trace Toolkit Trace Control 0.78-04122009
> >
> > Controlling trace : trace1
> >
> > lttctl: Pausing trace
> > lttctl: Destroying trace
> > LTT: 32 events written in channel softirq_state (cpu 0, index 0)
> > LTT: 17 events written in channel module_state (cpu 0, index 0)
> > LTT: 1 events written in channel global_state (cpu 0, index 0)
> > LTT: 335 events written in channel task_state (cpu 0, index 0)
> > LTT: 699 events written in channel fd_state (cpu 0, index 0)
> > LTT: 429 events written in channel vm_state (cpu 0, index 0)
> > LTT: 7 events written in channel irq_state (cpu 0, index 0)
> > LTT: 10 events written in channel netif_state (cpu 0, index 0)
> > LTT: 218 events written in channel net (cpu 0, index 0)
> > LTT: 3 events written in channel net (cpu 1, index 0)
> > LTT: 4 events written in channel net (cpu 2, index 0)
> > LTT: 2881 events written in channel kernel (cpu 0, index 0)
> > LTT: 663 events written in channel kernel (cpu 1, index 0)
> > LTT: 731 events written in channel kernel (cpu 2, index 0)
> > LTT: 88 events written in channel kernel (cpu 3, index 0)
> > LTT: 77 events written in channel kernel (cpu 4, index 0)
> > LTT: 89 events written in channel kernel (cpu 5, index 0)
> > LTT: 98 events written in channel kernel (cpu 6, index 0)
> > LTT: 78 events written in channel kernel (cpu 7, index 0)
> > LTT: 208 events written in channel kernel (cpu 8, index 0)
> > LTT: 75 events written in channel kernel (cpu 9, index 0)
> > LTT: 75 events written in channel kernel (cpu 10, index 0)
> > LTT: 88 events written in channel kernel (cpu 11, index 0)
> > LTT: 93 events written in channel kernel (cpu 12, index 0)
> > LTT: 95 events written in channel kernel (cpu 13, index 0)
> > LTT: 62 events written in channel kernel (cpu 14, index 0)
> > LTT: 64 events written in channel kernel (cpu 15, index 0)
> > LTT: 44 events written in channel mm (cpu 0, index 0)
> > LTT: 14 events written in channel mm (cpu 1, index 0)
> > LTT: 41 events written in channel mm (cpu 2, index 0)
> > LTT: 1 events written in channel mm (cpu 8, index 0)
> > LTT: 253 events written in channel fs (cpu 0, index 0)
> > LTT: 4 events written in channel fs (cpu 1, index 0)
> > LTT: 31 events written in channel fs (cpu 2, index 0)
> > LTT: 272 events written in channel fs (cpu 4, index 0)
> > LTT: 8 events written in channel fs (cpu 8, index 0)
> > LTT: 286 events written in channel metadata (cpu 0, index 0)
> > root at cavium-octeonplus:~# lttv -m textDump -t /tmp/trace1/ >
> > Log-trace-text-format.txt
> >
> > ** ERROR **: Process 2120 has been created at [0.000000000] and inserted
> at
> > [92.895699903] before
> > fork on cpu 0[94.290545440].
> > Probably an unsynchronized TSC problem on the traced machine.
> > aborting...
> > Aborted
> > root at cavium-octeonplus:~#
>
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110211/502565da/attachment-0003.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-11 7:30 ` Naresh Bhat
@ 2011-02-11 7:30 ` Naresh Bhat
2011-02-11 7:30 ` Naresh Bhat
` (2 subsequent siblings)
3 siblings, 0 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-11 7:30 UTC (permalink / raw)
Hi Mathew,
I am using 0.188 patch set version (2.6.32.4-lttng-0.188)
*
*
*Thanks*
*-Naresh Bhat*
On Fri, Feb 11, 2011 at 12:37 PM, Mathieu Desnoyers <
compudj at krystal.dyndns.org> wrote:
> * Naresh Bhat (nareshgbhat at gmail.com) wrote:
> > Hi All,
> >
> > I am trying to execute LTTng test on MIPS multicore (I pass *numcores=16
> > while booting)* Octeon based 58xx target board, but the lttv text dump
> fails
> > to dump
> >
> > *My Kernel version: 2.6.32*
>
> Hello,
>
> Which version of the LTTng patchset are you using ?
>
> Mathieu
>
> > *
> >
> > Linux Trace Toolkit Trace Control 0.78-04122009
> >
> > Linux Trace Toolkit Visualizer 0.12.29-02022010
> >
> > *
> > My questions are
> >
> > 1. Anybody faced this kind of problem ?
> > 2. Is there any patch available for this ? please, can you provide me a
> > pointer to that patch ?
> >
> > *-- Thanks and Regards
> > Naresh Bhat*
> >
> > *Error log messages:*
> >
> > root at cavium-octeonplus:~# mkdir /mnt/debugfs
> >
> > root at cavium-octeonplus:~# mount -t debugfs debugfs /mnt/debugfs/
> > root at cavium-octeonplus:~# ltt-armall
> > Connecting /mnt/debugfs/ltt/markers/pm/idle_entry
> > Connecting /mnt/debugfs/ltt/markers/pm/idle_exit
> > Connecting /mnt/debugfs/ltt/markers/pm/suspend_entry
> > Connecting /mnt/debugfs/ltt/markers/pm/suspend_exit
> > Connecting /mnt/debugfs/ltt/markers/ipc/msg_create
> > Connecting /mnt/debugfs/ltt/markers/ipc/sem_create
> > Connecting /mnt/debugfs/ltt/markers/ipc/shm_create
> > Connecting /mnt/debugfs/ltt/markers/ipc/call
> > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_start
> > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_end
> > Connecting /mnt/debugfs/ltt/markers/fs/exec
> > Connecting /mnt/debugfs/ltt/markers/fs/ioctl
> > Connecting /mnt/debugfs/ltt/markers/fs/open
> > Connecting /mnt/debugfs/ltt/markers/fs/close
> > Connecting /mnt/debugfs/ltt/markers/fs/lseek
> > Connecting /mnt/debugfs/ltt/markers/fs/llseek
> > Connecting /mnt/debugfs/ltt/markers/fs/read
> > Connecting /mnt/debugfs/ltt/markers/fs/write
> > Connecting /mnt/debugfs/ltt/markers/fs/pread64
> > Connecting /mnt/debugfs/ltt/markers/fs/pwrite64
> > Connecting /mnt/debugfs/ltt/markers/fs/readv
> > Connecting /mnt/debugfs/ltt/markers/fs/writev
> > Connecting /mnt/debugfs/ltt/markers/fs/select
> > Connecting /mnt/debugfs/ltt/markers/fs/pollfd
> > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_start
> > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_end
> > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_free
> > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_alloc
> > Connecting /mnt/debugfs/ltt/markers/mm/page_free
> > Connecting /mnt/debugfs/ltt/markers/mm/page_alloc
> > Connecting /mnt/debugfs/ltt/markers/mm/swap_in
> > Connecting /mnt/debugfs/ltt/markers/mm/swap_out
> > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_close
> > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_open
> > Connecting /mnt/debugfs/ltt/markers/mm/add_to_page_cache
> > Connecting /mnt/debugfs/ltt/markers/mm/remove_from_page_cache
> > Connecting /mnt/debugfs/ltt/markers/kernel/trap_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/trap_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/irq_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/irq_next_handler
> > Connecting /mnt/debugfs/ltt/markers/kernel/irq_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_raise
> > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop
> > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop_ret
> > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wait_task
> > Connecting /mnt/debugfs/ltt/markers/kernel/sched_try_wakeup
> > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wakeup_new_task
> > Connecting /mnt/debugfs/ltt/markers/kernel/sched_schedule
> > Connecting /mnt/debugfs/ltt/markers/kernel/sched_migrate_task
> > Connecting /mnt/debugfs/ltt/markers/kernel/send_signal
> > Connecting /mnt/debugfs/ltt/markers/kernel/process_free
> > Connecting /mnt/debugfs/ltt/markers/kernel/process_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/process_wait
> > Connecting /mnt/debugfs/ltt/markers/kernel/process_fork
> > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_create
> > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_expired
> > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_set
> > Connecting /mnt/debugfs/ltt/markers/kernel/timer_set
> > Connecting /mnt/debugfs/ltt/markers/kernel/timer_update_time
> > Connecting /mnt/debugfs/ltt/markers/kernel/timer_timeout
> > Connecting /mnt/debugfs/ltt/markers/kernel/printk
> > Connecting /mnt/debugfs/ltt/markers/kernel/vprintk
> > Connecting /mnt/debugfs/ltt/markers/kernel/module_free
> > Connecting /mnt/debugfs/ltt/markers/kernel/module_load
> > Connecting /mnt/debugfs/ltt/markers/kernel/panic
> > Connecting /mnt/debugfs/ltt/markers/kernel/kernel_kexec
> > Connecting /mnt/debugfs/ltt/markers/kernel/crash_kexec
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_exit
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_entry
> > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_exit
> > Connecting /mnt/debugfs/ltt/markers/net/dev_xmit
> > Connecting /mnt/debugfs/ltt/markers/net/dev_receive
> > Connecting /mnt/debugfs/ltt/markers/net/socket_create
> > Connecting /mnt/debugfs/ltt/markers/net/socket_bind
> > Connecting /mnt/debugfs/ltt/markers/net/socket_connect
> > Connecting /mnt/debugfs/ltt/markers/net/socket_listen
> > Connecting /mnt/debugfs/ltt/markers/net/socket_accept
> > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockname
> > Connecting /mnt/debugfs/ltt/markers/net/socket_getpeername
> > Connecting /mnt/debugfs/ltt/markers/net/socket_socketpair
> > Connecting /mnt/debugfs/ltt/markers/net/socket_sendmsg
> > Connecting /mnt/debugfs/ltt/markers/net/socket_recvmsg
> > Connecting /mnt/debugfs/ltt/markers/net/socket_setsockopt
> > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockopt
> > Connecting /mnt/debugfs/ltt/markers/net/socket_shutdown
> > Connecting /mnt/debugfs/ltt/markers/net/socket_call
> > Connecting /mnt/debugfs/ltt/markers/net/tcpv4_rcv
> > Connecting /mnt/debugfs/ltt/markers/net/udpv4_rcv
> > Connecting /mnt/debugfs/ltt/markers/net/napi_schedule
> > Connecting /mnt/debugfs/ltt/markers/net/napi_poll
> > Connecting /mnt/debugfs/ltt/markers/net/napi_complete
> > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_pc
> > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_fs
> > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_pc
> > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_fs
> > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_pc
> > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_fs
> > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_pc
> > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_fs
> > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_pc
> > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_fs
> > Connecting /mnt/debugfs/ltt/markers/block/bio_bounce
> > Connecting /mnt/debugfs/ltt/markers/block/bio_complete
> > Connecting /mnt/debugfs/ltt/markers/block/bio_backmerge
> > Connecting /mnt/debugfs/ltt/markers/block/bio_frontmerge
> > Connecting /mnt/debugfs/ltt/markers/block/bio_queue
> > Connecting /mnt/debugfs/ltt/markers/block/getrq_bio
> > Connecting /mnt/debugfs/ltt/markers/block/getrq
> > Connecting /mnt/debugfs/ltt/markers/block/sleeprq_bio
> > Connecting /mnt/debugfs/ltt/markers/block/sleeprq
> > Connecting /mnt/debugfs/ltt/markers/block/plug
> > Connecting /mnt/debugfs/ltt/markers/block/unplug_io
> > Connecting /mnt/debugfs/ltt/markers/block/unplug_timer
> > Connecting /mnt/debugfs/ltt/markers/block/split
> > Connecting /mnt/debugfs/ltt/markers/block/remap
> > Connecting /mnt/debugfs/ltt/markers/userspace/event
> > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv4
> > Connecting /mnt/debugfs/ltt/markers/netif_state/del_ifa_ipv4
> > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv6
> > Connecting /mnt/debugfs/ltt/markers/netif_state/network_ipv4_interface
> > Connecting /mnt/debugfs/ltt/markers/netif_state/network_ip_interface
> > Connecting /mnt/debugfs/ltt/markers/irq_state/interrupt
> > Connecting /mnt/debugfs/ltt/markers/vm_state/vm_map
> > Connecting /mnt/debugfs/ltt/markers/fd_state/file_descriptor
> > Connecting /mnt/debugfs/ltt/markers/task_state/process_state
> > Connecting /mnt/debugfs/ltt/markers/global_state/statedump_end
> > Connecting /mnt/debugfs/ltt/markers/input/input_event
> > Connecting /mnt/debugfs/ltt/markers/swap_state/statedump_swap_files
> > Connecting /mnt/debugfs/ltt/markers/module_state/list_module
> > Connecting /mnt/debugfs/ltt/markers/softirq_state/softirq_vec
> > root at cavium-octeonplus:~# lttctl -C -w /tmp/trace1 trace1
> > Linux Trace Toolkit Trace Control 0.78-04122009
> >
> > Controlling trace : trace1
> >
> > lttctl: Creating trace
> > lttctl: Forking lttd
> > Linux Trace Toolkit Trace Daemon 0.78-04122009
> >
> > Reading from debugfs directory : /mnt/debugfs/ltt/trace1
> > Writing to trace directory : /tmp/trace1
> >
> > lttctl: Starting trace
> > root at cavium-octeonplus:~# lttctl -D trace1
> > Linux Trace Toolkit Trace Control 0.78-04122009
> >
> > Controlling trace : trace1
> >
> > lttctl: Pausing trace
> > lttctl: Destroying trace
> > LTT: 32 events written in channel softirq_state (cpu 0, index 0)
> > LTT: 17 events written in channel module_state (cpu 0, index 0)
> > LTT: 1 events written in channel global_state (cpu 0, index 0)
> > LTT: 335 events written in channel task_state (cpu 0, index 0)
> > LTT: 699 events written in channel fd_state (cpu 0, index 0)
> > LTT: 429 events written in channel vm_state (cpu 0, index 0)
> > LTT: 7 events written in channel irq_state (cpu 0, index 0)
> > LTT: 10 events written in channel netif_state (cpu 0, index 0)
> > LTT: 218 events written in channel net (cpu 0, index 0)
> > LTT: 3 events written in channel net (cpu 1, index 0)
> > LTT: 4 events written in channel net (cpu 2, index 0)
> > LTT: 2881 events written in channel kernel (cpu 0, index 0)
> > LTT: 663 events written in channel kernel (cpu 1, index 0)
> > LTT: 731 events written in channel kernel (cpu 2, index 0)
> > LTT: 88 events written in channel kernel (cpu 3, index 0)
> > LTT: 77 events written in channel kernel (cpu 4, index 0)
> > LTT: 89 events written in channel kernel (cpu 5, index 0)
> > LTT: 98 events written in channel kernel (cpu 6, index 0)
> > LTT: 78 events written in channel kernel (cpu 7, index 0)
> > LTT: 208 events written in channel kernel (cpu 8, index 0)
> > LTT: 75 events written in channel kernel (cpu 9, index 0)
> > LTT: 75 events written in channel kernel (cpu 10, index 0)
> > LTT: 88 events written in channel kernel (cpu 11, index 0)
> > LTT: 93 events written in channel kernel (cpu 12, index 0)
> > LTT: 95 events written in channel kernel (cpu 13, index 0)
> > LTT: 62 events written in channel kernel (cpu 14, index 0)
> > LTT: 64 events written in channel kernel (cpu 15, index 0)
> > LTT: 44 events written in channel mm (cpu 0, index 0)
> > LTT: 14 events written in channel mm (cpu 1, index 0)
> > LTT: 41 events written in channel mm (cpu 2, index 0)
> > LTT: 1 events written in channel mm (cpu 8, index 0)
> > LTT: 253 events written in channel fs (cpu 0, index 0)
> > LTT: 4 events written in channel fs (cpu 1, index 0)
> > LTT: 31 events written in channel fs (cpu 2, index 0)
> > LTT: 272 events written in channel fs (cpu 4, index 0)
> > LTT: 8 events written in channel fs (cpu 8, index 0)
> > LTT: 286 events written in channel metadata (cpu 0, index 0)
> > root at cavium-octeonplus:~# lttv -m textDump -t /tmp/trace1/ >
> > Log-trace-text-format.txt
> >
> > ** ERROR **: Process 2120 has been created at [0.000000000] and inserted
> at
> > [92.895699903] before
> > fork on cpu 0[94.290545440].
> > Probably an unsynchronized TSC problem on the traced machine.
> > aborting...
> > Aborted
> > root at cavium-octeonplus:~#
>
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110211/502565da/attachment-0002.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-11 7:30 ` Naresh Bhat
2011-02-11 7:30 ` Naresh Bhat
2011-02-11 7:30 ` Naresh Bhat
@ 2011-02-11 14:26 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP19709C87A494AE8507C77296EF0@phx.gbl>
3 siblings, 0 replies; 34+ messages in thread
From: Mathieu Desnoyers @ 2011-02-11 14:26 UTC (permalink / raw)
* Naresh Bhat (nareshgbhat at gmail.com) wrote:
> Hi Mathew,
>
> I am using 0.188 patch set version (2.6.32.4-lttng-0.188)
Hi Naresh,
In the more recent LTTng versions, we have a patch to support Octeon.
It's a patch called
"lttng-mips-use-64-bit-counter-for-trace-clock-on-octeon-cpus.patch" in
the 0.241 lttng patchset for kernel 2.6.37. You might want to either
upgrade your kernel/lttng or try to apply this patch to your older
kernel if you have version requirements (it might work or not, and you
may have to tweak a few details).
Good luck!
Mathieu
> *
> *
> *Thanks*
> *-Naresh Bhat*
>
> On Fri, Feb 11, 2011 at 12:37 PM, Mathieu Desnoyers <
> compudj at krystal.dyndns.org> wrote:
>
> > * Naresh Bhat (nareshgbhat at gmail.com) wrote:
> > > Hi All,
> > >
> > > I am trying to execute LTTng test on MIPS multicore (I pass *numcores=16
> > > while booting)* Octeon based 58xx target board, but the lttv text dump
> > fails
> > > to dump
> > >
> > > *My Kernel version: 2.6.32*
> >
> > Hello,
> >
> > Which version of the LTTng patchset are you using ?
> >
> > Mathieu
> >
> > > *
> > >
> > > Linux Trace Toolkit Trace Control 0.78-04122009
> > >
> > > Linux Trace Toolkit Visualizer 0.12.29-02022010
> > >
> > > *
> > > My questions are
> > >
> > > 1. Anybody faced this kind of problem ?
> > > 2. Is there any patch available for this ? please, can you provide me a
> > > pointer to that patch ?
> > >
> > > *-- Thanks and Regards
> > > Naresh Bhat*
> > >
> > > *Error log messages:*
> > >
> > > root at cavium-octeonplus:~# mkdir /mnt/debugfs
> > >
> > > root at cavium-octeonplus:~# mount -t debugfs debugfs /mnt/debugfs/
> > > root at cavium-octeonplus:~# ltt-armall
> > > Connecting /mnt/debugfs/ltt/markers/pm/idle_entry
> > > Connecting /mnt/debugfs/ltt/markers/pm/idle_exit
> > > Connecting /mnt/debugfs/ltt/markers/pm/suspend_entry
> > > Connecting /mnt/debugfs/ltt/markers/pm/suspend_exit
> > > Connecting /mnt/debugfs/ltt/markers/ipc/msg_create
> > > Connecting /mnt/debugfs/ltt/markers/ipc/sem_create
> > > Connecting /mnt/debugfs/ltt/markers/ipc/shm_create
> > > Connecting /mnt/debugfs/ltt/markers/ipc/call
> > > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_start
> > > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_end
> > > Connecting /mnt/debugfs/ltt/markers/fs/exec
> > > Connecting /mnt/debugfs/ltt/markers/fs/ioctl
> > > Connecting /mnt/debugfs/ltt/markers/fs/open
> > > Connecting /mnt/debugfs/ltt/markers/fs/close
> > > Connecting /mnt/debugfs/ltt/markers/fs/lseek
> > > Connecting /mnt/debugfs/ltt/markers/fs/llseek
> > > Connecting /mnt/debugfs/ltt/markers/fs/read
> > > Connecting /mnt/debugfs/ltt/markers/fs/write
> > > Connecting /mnt/debugfs/ltt/markers/fs/pread64
> > > Connecting /mnt/debugfs/ltt/markers/fs/pwrite64
> > > Connecting /mnt/debugfs/ltt/markers/fs/readv
> > > Connecting /mnt/debugfs/ltt/markers/fs/writev
> > > Connecting /mnt/debugfs/ltt/markers/fs/select
> > > Connecting /mnt/debugfs/ltt/markers/fs/pollfd
> > > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_start
> > > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_end
> > > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_free
> > > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_alloc
> > > Connecting /mnt/debugfs/ltt/markers/mm/page_free
> > > Connecting /mnt/debugfs/ltt/markers/mm/page_alloc
> > > Connecting /mnt/debugfs/ltt/markers/mm/swap_in
> > > Connecting /mnt/debugfs/ltt/markers/mm/swap_out
> > > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_close
> > > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_open
> > > Connecting /mnt/debugfs/ltt/markers/mm/add_to_page_cache
> > > Connecting /mnt/debugfs/ltt/markers/mm/remove_from_page_cache
> > > Connecting /mnt/debugfs/ltt/markers/kernel/trap_entry
> > > Connecting /mnt/debugfs/ltt/markers/kernel/trap_exit
> > > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_entry
> > > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_exit
> > > Connecting /mnt/debugfs/ltt/markers/kernel/irq_entry
> > > Connecting /mnt/debugfs/ltt/markers/kernel/irq_next_handler
> > > Connecting /mnt/debugfs/ltt/markers/kernel/irq_exit
> > > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_entry
> > > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_exit
> > > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_raise
> > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_entry
> > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_exit
> > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_entry
> > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_exit
> > > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop
> > > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop_ret
> > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wait_task
> > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_try_wakeup
> > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wakeup_new_task
> > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_schedule
> > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_migrate_task
> > > Connecting /mnt/debugfs/ltt/markers/kernel/send_signal
> > > Connecting /mnt/debugfs/ltt/markers/kernel/process_free
> > > Connecting /mnt/debugfs/ltt/markers/kernel/process_exit
> > > Connecting /mnt/debugfs/ltt/markers/kernel/process_wait
> > > Connecting /mnt/debugfs/ltt/markers/kernel/process_fork
> > > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_create
> > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_expired
> > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_set
> > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_set
> > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_update_time
> > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_timeout
> > > Connecting /mnt/debugfs/ltt/markers/kernel/printk
> > > Connecting /mnt/debugfs/ltt/markers/kernel/vprintk
> > > Connecting /mnt/debugfs/ltt/markers/kernel/module_free
> > > Connecting /mnt/debugfs/ltt/markers/kernel/module_load
> > > Connecting /mnt/debugfs/ltt/markers/kernel/panic
> > > Connecting /mnt/debugfs/ltt/markers/kernel/kernel_kexec
> > > Connecting /mnt/debugfs/ltt/markers/kernel/crash_kexec
> > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_entry
> > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_exit
> > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_entry
> > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_exit
> > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_entry
> > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_exit
> > > Connecting /mnt/debugfs/ltt/markers/net/dev_xmit
> > > Connecting /mnt/debugfs/ltt/markers/net/dev_receive
> > > Connecting /mnt/debugfs/ltt/markers/net/socket_create
> > > Connecting /mnt/debugfs/ltt/markers/net/socket_bind
> > > Connecting /mnt/debugfs/ltt/markers/net/socket_connect
> > > Connecting /mnt/debugfs/ltt/markers/net/socket_listen
> > > Connecting /mnt/debugfs/ltt/markers/net/socket_accept
> > > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockname
> > > Connecting /mnt/debugfs/ltt/markers/net/socket_getpeername
> > > Connecting /mnt/debugfs/ltt/markers/net/socket_socketpair
> > > Connecting /mnt/debugfs/ltt/markers/net/socket_sendmsg
> > > Connecting /mnt/debugfs/ltt/markers/net/socket_recvmsg
> > > Connecting /mnt/debugfs/ltt/markers/net/socket_setsockopt
> > > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockopt
> > > Connecting /mnt/debugfs/ltt/markers/net/socket_shutdown
> > > Connecting /mnt/debugfs/ltt/markers/net/socket_call
> > > Connecting /mnt/debugfs/ltt/markers/net/tcpv4_rcv
> > > Connecting /mnt/debugfs/ltt/markers/net/udpv4_rcv
> > > Connecting /mnt/debugfs/ltt/markers/net/napi_schedule
> > > Connecting /mnt/debugfs/ltt/markers/net/napi_poll
> > > Connecting /mnt/debugfs/ltt/markers/net/napi_complete
> > > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_pc
> > > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_fs
> > > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_pc
> > > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_fs
> > > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_pc
> > > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_fs
> > > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_pc
> > > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_fs
> > > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_pc
> > > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_fs
> > > Connecting /mnt/debugfs/ltt/markers/block/bio_bounce
> > > Connecting /mnt/debugfs/ltt/markers/block/bio_complete
> > > Connecting /mnt/debugfs/ltt/markers/block/bio_backmerge
> > > Connecting /mnt/debugfs/ltt/markers/block/bio_frontmerge
> > > Connecting /mnt/debugfs/ltt/markers/block/bio_queue
> > > Connecting /mnt/debugfs/ltt/markers/block/getrq_bio
> > > Connecting /mnt/debugfs/ltt/markers/block/getrq
> > > Connecting /mnt/debugfs/ltt/markers/block/sleeprq_bio
> > > Connecting /mnt/debugfs/ltt/markers/block/sleeprq
> > > Connecting /mnt/debugfs/ltt/markers/block/plug
> > > Connecting /mnt/debugfs/ltt/markers/block/unplug_io
> > > Connecting /mnt/debugfs/ltt/markers/block/unplug_timer
> > > Connecting /mnt/debugfs/ltt/markers/block/split
> > > Connecting /mnt/debugfs/ltt/markers/block/remap
> > > Connecting /mnt/debugfs/ltt/markers/userspace/event
> > > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv4
> > > Connecting /mnt/debugfs/ltt/markers/netif_state/del_ifa_ipv4
> > > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv6
> > > Connecting /mnt/debugfs/ltt/markers/netif_state/network_ipv4_interface
> > > Connecting /mnt/debugfs/ltt/markers/netif_state/network_ip_interface
> > > Connecting /mnt/debugfs/ltt/markers/irq_state/interrupt
> > > Connecting /mnt/debugfs/ltt/markers/vm_state/vm_map
> > > Connecting /mnt/debugfs/ltt/markers/fd_state/file_descriptor
> > > Connecting /mnt/debugfs/ltt/markers/task_state/process_state
> > > Connecting /mnt/debugfs/ltt/markers/global_state/statedump_end
> > > Connecting /mnt/debugfs/ltt/markers/input/input_event
> > > Connecting /mnt/debugfs/ltt/markers/swap_state/statedump_swap_files
> > > Connecting /mnt/debugfs/ltt/markers/module_state/list_module
> > > Connecting /mnt/debugfs/ltt/markers/softirq_state/softirq_vec
> > > root at cavium-octeonplus:~# lttctl -C -w /tmp/trace1 trace1
> > > Linux Trace Toolkit Trace Control 0.78-04122009
> > >
> > > Controlling trace : trace1
> > >
> > > lttctl: Creating trace
> > > lttctl: Forking lttd
> > > Linux Trace Toolkit Trace Daemon 0.78-04122009
> > >
> > > Reading from debugfs directory : /mnt/debugfs/ltt/trace1
> > > Writing to trace directory : /tmp/trace1
> > >
> > > lttctl: Starting trace
> > > root at cavium-octeonplus:~# lttctl -D trace1
> > > Linux Trace Toolkit Trace Control 0.78-04122009
> > >
> > > Controlling trace : trace1
> > >
> > > lttctl: Pausing trace
> > > lttctl: Destroying trace
> > > LTT: 32 events written in channel softirq_state (cpu 0, index 0)
> > > LTT: 17 events written in channel module_state (cpu 0, index 0)
> > > LTT: 1 events written in channel global_state (cpu 0, index 0)
> > > LTT: 335 events written in channel task_state (cpu 0, index 0)
> > > LTT: 699 events written in channel fd_state (cpu 0, index 0)
> > > LTT: 429 events written in channel vm_state (cpu 0, index 0)
> > > LTT: 7 events written in channel irq_state (cpu 0, index 0)
> > > LTT: 10 events written in channel netif_state (cpu 0, index 0)
> > > LTT: 218 events written in channel net (cpu 0, index 0)
> > > LTT: 3 events written in channel net (cpu 1, index 0)
> > > LTT: 4 events written in channel net (cpu 2, index 0)
> > > LTT: 2881 events written in channel kernel (cpu 0, index 0)
> > > LTT: 663 events written in channel kernel (cpu 1, index 0)
> > > LTT: 731 events written in channel kernel (cpu 2, index 0)
> > > LTT: 88 events written in channel kernel (cpu 3, index 0)
> > > LTT: 77 events written in channel kernel (cpu 4, index 0)
> > > LTT: 89 events written in channel kernel (cpu 5, index 0)
> > > LTT: 98 events written in channel kernel (cpu 6, index 0)
> > > LTT: 78 events written in channel kernel (cpu 7, index 0)
> > > LTT: 208 events written in channel kernel (cpu 8, index 0)
> > > LTT: 75 events written in channel kernel (cpu 9, index 0)
> > > LTT: 75 events written in channel kernel (cpu 10, index 0)
> > > LTT: 88 events written in channel kernel (cpu 11, index 0)
> > > LTT: 93 events written in channel kernel (cpu 12, index 0)
> > > LTT: 95 events written in channel kernel (cpu 13, index 0)
> > > LTT: 62 events written in channel kernel (cpu 14, index 0)
> > > LTT: 64 events written in channel kernel (cpu 15, index 0)
> > > LTT: 44 events written in channel mm (cpu 0, index 0)
> > > LTT: 14 events written in channel mm (cpu 1, index 0)
> > > LTT: 41 events written in channel mm (cpu 2, index 0)
> > > LTT: 1 events written in channel mm (cpu 8, index 0)
> > > LTT: 253 events written in channel fs (cpu 0, index 0)
> > > LTT: 4 events written in channel fs (cpu 1, index 0)
> > > LTT: 31 events written in channel fs (cpu 2, index 0)
> > > LTT: 272 events written in channel fs (cpu 4, index 0)
> > > LTT: 8 events written in channel fs (cpu 8, index 0)
> > > LTT: 286 events written in channel metadata (cpu 0, index 0)
> > > root at cavium-octeonplus:~# lttv -m textDump -t /tmp/trace1/ >
> > > Log-trace-text-format.txt
> > >
> > > ** ERROR **: Process 2120 has been created at [0.000000000] and inserted
> > at
> > > [92.895699903] before
> > > fork on cpu 0[94.290545440].
> > > Probably an unsynchronized TSC problem on the traced machine.
> > > aborting...
> > > Aborted
> > > root at cavium-octeonplus:~#
> >
> > --
> > Mathieu Desnoyers
> > Operating System Efficiency R&D Consultant
> > EfficiOS Inc.
> > http://www.efficios.com
> >
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
[not found] ` <BLU0-SMTP19709C87A494AE8507C77296EF0@phx.gbl>
@ 2011-02-14 8:48 ` Naresh Bhat
2011-02-14 8:48 ` Naresh Bhat
` (3 more replies)
0 siblings, 4 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-14 8:48 UTC (permalink / raw)
Hi Mathieu,
I have backported the patch and now TSC is enabled in my kernel and also I
am able to boot the kernel. But one thing I have observed is between single
core and multiple core boot logs is that as following
*On single core MIPS:*
*checking TSC synchronization across all online CPUs: PASSED *
*But on multiple core MIPS:*
* Measured 553605851 cycles TSC offset between CPUs, turning off TSC clock.*
I am trying to understand why TSC clock is turned OFF and Now my question
is that is there any patch that should I need to pick up to fix this issue ?
*
Error Logs:
*........................
.........................................
..........................................................
Kernel command line: bootoctlinux 0x21000000 numcores=16 root=/dev/nfs rw
nfsroot=<host IP>:/image-cavium-octeonplus
PID hash table entries: 2048 (order: 2, 16384 bytes)
Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
Inode-cache hash table entries: 32768 (order: 6, 262144 bytes)
Primary instruction cache 32kB, virtually tagged, 4 way, 64 sets, linesize
128 bytes.
Primary data cache 16kB, 64-way, 2 sets, linesize 128 bytes.
Memory: 498944k/534976k available (4876k kernel code, 35200k reserved, 4937k
data, 272k init, 0k highmem)
Experimental preemptable hierarchical RCU implementation.
NR_IRQS:408
Calibrating delay loop (skipped) preset value.. 1600.00 BogoMIPS
(lpj=8000000)
Security Framework initialized
Mount-cache hash table entries: 256
Checking for the daddi bug... no.
SMP: Booting CPU01 (CoreId 1)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU02 (CoreId 2)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU03 (CoreId 3)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU04 (CoreId 4)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU05 (CoreId 5)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU06 (CoreId 6)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU07 (CoreId 7)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU08 (CoreId 8)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU09 (CoreId 9)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU10 (CoreId 10)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU11 (CoreId 11)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU12 (CoreId 12)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU13 (CoreId 13)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU14 (CoreId 14)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU15 (CoreId 15)...
CPU revision is: 000d0301 (Cavium Octeon+)
Brought up 16 CPUs
*checking TSC synchronization across all online CPUs:
Measured 553605851 cycles TSC offset between CPUs, turning off TSC clock.*
NET: Registered protocol family 16
Not in host mode, PCI Controller not initialized
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource OCTEON_CVMCOUNT
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 3, 32768 bytes)
TCP established hash table entries: 16384 (order: 6, 262144 bytes)
TCP bind hash table entries: 16384 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
/proc/octeon_perf: Octeon performace counter interface loaded
init_vdso successfull
HugeTLB registered 2 MB page size, pre-allocated 0 pages
JFFS2 version 2.2. (NAND) ?? 2001-2006 Red Hat, Inc.
msgmni has been set to 976
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
LTT : ltt-relay init
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x1180000000800 (irq = 58) is a OCTEON
console [ttyS0] enabled, bootconsole disabled
console [ttyS0] enabled, bootconsole disabled
serial8250.0: ttyS1 at MMIO 0x1180000000c00 (irq = 59) is a OCTEON
brd: module loaded
loop: module loaded
pata_octeon_cf pata_octeon_cf: version 2.1 8 bit.
...................................
.....................................
..............................................
On Fri, Feb 11, 2011 at 7:56 PM, Mathieu Desnoyers <
compudj at krystal.dyndns.org> wrote:
> * Naresh Bhat (nareshgbhat at gmail.com) wrote:
> > Hi Mathew,
> >
> > I am using 0.188 patch set version (2.6.32.4-lttng-0.188)
>
> Hi Naresh,
>
> In the more recent LTTng versions, we have a patch to support Octeon.
> It's a patch called
> "lttng-mips-use-64-bit-counter-for-trace-clock-on-octeon-cpus.patch" in
> the 0.241 lttng patchset for kernel 2.6.37. You might want to either
> upgrade your kernel/lttng or try to apply this patch to your older
> kernel if you have version requirements (it might work or not, and you
> may have to tweak a few details).
>
> Good luck!
>
> Mathieu
>
> > *
> > *
> > *Thanks*
> > *-Naresh Bhat*
> >
> > On Fri, Feb 11, 2011 at 12:37 PM, Mathieu Desnoyers <
> > compudj at krystal.dyndns.org> wrote:
> >
> > > * Naresh Bhat (nareshgbhat at gmail.com) wrote:
> > > > Hi All,
> > > >
> > > > I am trying to execute LTTng test on MIPS multicore (I pass
> *numcores=16
> > > > while booting)* Octeon based 58xx target board, but the lttv text
> dump
> > > fails
> > > > to dump
> > > >
> > > > *My Kernel version: 2.6.32*
> > >
> > > Hello,
> > >
> > > Which version of the LTTng patchset are you using ?
> > >
> > > Mathieu
> > >
> > > > *
> > > >
> > > > Linux Trace Toolkit Trace Control 0.78-04122009
> > > >
> > > > Linux Trace Toolkit Visualizer 0.12.29-02022010
> > > >
> > > > *
> > > > My questions are
> > > >
> > > > 1. Anybody faced this kind of problem ?
> > > > 2. Is there any patch available for this ? please, can you provide me
> a
> > > > pointer to that patch ?
> > > >
> > > > *-- Thanks and Regards
> > > > Naresh Bhat*
> > > >
> > > > *Error log messages:*
> > > >
> > > > root at cavium-octeonplus:~# mkdir /mnt/debugfs
> > > >
> > > > root at cavium-octeonplus:~# mount -t debugfs debugfs /mnt/debugfs/
> > > > root at cavium-octeonplus:~# ltt-armall
> > > > Connecting /mnt/debugfs/ltt/markers/pm/idle_entry
> > > > Connecting /mnt/debugfs/ltt/markers/pm/idle_exit
> > > > Connecting /mnt/debugfs/ltt/markers/pm/suspend_entry
> > > > Connecting /mnt/debugfs/ltt/markers/pm/suspend_exit
> > > > Connecting /mnt/debugfs/ltt/markers/ipc/msg_create
> > > > Connecting /mnt/debugfs/ltt/markers/ipc/sem_create
> > > > Connecting /mnt/debugfs/ltt/markers/ipc/shm_create
> > > > Connecting /mnt/debugfs/ltt/markers/ipc/call
> > > > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_start
> > > > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_end
> > > > Connecting /mnt/debugfs/ltt/markers/fs/exec
> > > > Connecting /mnt/debugfs/ltt/markers/fs/ioctl
> > > > Connecting /mnt/debugfs/ltt/markers/fs/open
> > > > Connecting /mnt/debugfs/ltt/markers/fs/close
> > > > Connecting /mnt/debugfs/ltt/markers/fs/lseek
> > > > Connecting /mnt/debugfs/ltt/markers/fs/llseek
> > > > Connecting /mnt/debugfs/ltt/markers/fs/read
> > > > Connecting /mnt/debugfs/ltt/markers/fs/write
> > > > Connecting /mnt/debugfs/ltt/markers/fs/pread64
> > > > Connecting /mnt/debugfs/ltt/markers/fs/pwrite64
> > > > Connecting /mnt/debugfs/ltt/markers/fs/readv
> > > > Connecting /mnt/debugfs/ltt/markers/fs/writev
> > > > Connecting /mnt/debugfs/ltt/markers/fs/select
> > > > Connecting /mnt/debugfs/ltt/markers/fs/pollfd
> > > > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_start
> > > > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_end
> > > > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_free
> > > > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_alloc
> > > > Connecting /mnt/debugfs/ltt/markers/mm/page_free
> > > > Connecting /mnt/debugfs/ltt/markers/mm/page_alloc
> > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_in
> > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_out
> > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_close
> > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_open
> > > > Connecting /mnt/debugfs/ltt/markers/mm/add_to_page_cache
> > > > Connecting /mnt/debugfs/ltt/markers/mm/remove_from_page_cache
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/trap_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/trap_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/irq_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/irq_next_handler
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/irq_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_raise
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop_ret
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wait_task
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_try_wakeup
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wakeup_new_task
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_schedule
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_migrate_task
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/send_signal
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_free
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_wait
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_fork
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_create
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_expired
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_set
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_set
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_update_time
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_timeout
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/printk
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/vprintk
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/module_free
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/module_load
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/panic
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/kernel_kexec
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/crash_kexec
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_exit
> > > > Connecting /mnt/debugfs/ltt/markers/net/dev_xmit
> > > > Connecting /mnt/debugfs/ltt/markers/net/dev_receive
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_create
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_bind
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_connect
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_listen
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_accept
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockname
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_getpeername
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_socketpair
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_sendmsg
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_recvmsg
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_setsockopt
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockopt
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_shutdown
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_call
> > > > Connecting /mnt/debugfs/ltt/markers/net/tcpv4_rcv
> > > > Connecting /mnt/debugfs/ltt/markers/net/udpv4_rcv
> > > > Connecting /mnt/debugfs/ltt/markers/net/napi_schedule
> > > > Connecting /mnt/debugfs/ltt/markers/net/napi_poll
> > > > Connecting /mnt/debugfs/ltt/markers/net/napi_complete
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_pc
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_fs
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_pc
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_fs
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_pc
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_fs
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_pc
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_fs
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_pc
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_fs
> > > > Connecting /mnt/debugfs/ltt/markers/block/bio_bounce
> > > > Connecting /mnt/debugfs/ltt/markers/block/bio_complete
> > > > Connecting /mnt/debugfs/ltt/markers/block/bio_backmerge
> > > > Connecting /mnt/debugfs/ltt/markers/block/bio_frontmerge
> > > > Connecting /mnt/debugfs/ltt/markers/block/bio_queue
> > > > Connecting /mnt/debugfs/ltt/markers/block/getrq_bio
> > > > Connecting /mnt/debugfs/ltt/markers/block/getrq
> > > > Connecting /mnt/debugfs/ltt/markers/block/sleeprq_bio
> > > > Connecting /mnt/debugfs/ltt/markers/block/sleeprq
> > > > Connecting /mnt/debugfs/ltt/markers/block/plug
> > > > Connecting /mnt/debugfs/ltt/markers/block/unplug_io
> > > > Connecting /mnt/debugfs/ltt/markers/block/unplug_timer
> > > > Connecting /mnt/debugfs/ltt/markers/block/split
> > > > Connecting /mnt/debugfs/ltt/markers/block/remap
> > > > Connecting /mnt/debugfs/ltt/markers/userspace/event
> > > > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv4
> > > > Connecting /mnt/debugfs/ltt/markers/netif_state/del_ifa_ipv4
> > > > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv6
> > > > Connecting
> /mnt/debugfs/ltt/markers/netif_state/network_ipv4_interface
> > > > Connecting /mnt/debugfs/ltt/markers/netif_state/network_ip_interface
> > > > Connecting /mnt/debugfs/ltt/markers/irq_state/interrupt
> > > > Connecting /mnt/debugfs/ltt/markers/vm_state/vm_map
> > > > Connecting /mnt/debugfs/ltt/markers/fd_state/file_descriptor
> > > > Connecting /mnt/debugfs/ltt/markers/task_state/process_state
> > > > Connecting /mnt/debugfs/ltt/markers/global_state/statedump_end
> > > > Connecting /mnt/debugfs/ltt/markers/input/input_event
> > > > Connecting /mnt/debugfs/ltt/markers/swap_state/statedump_swap_files
> > > > Connecting /mnt/debugfs/ltt/markers/module_state/list_module
> > > > Connecting /mnt/debugfs/ltt/markers/softirq_state/softirq_vec
> > > > root at cavium-octeonplus:~# lttctl -C -w /tmp/trace1 trace1
> > > > Linux Trace Toolkit Trace Control 0.78-04122009
> > > >
> > > > Controlling trace : trace1
> > > >
> > > > lttctl: Creating trace
> > > > lttctl: Forking lttd
> > > > Linux Trace Toolkit Trace Daemon 0.78-04122009
> > > >
> > > > Reading from debugfs directory : /mnt/debugfs/ltt/trace1
> > > > Writing to trace directory : /tmp/trace1
> > > >
> > > > lttctl: Starting trace
> > > > root at cavium-octeonplus:~# lttctl -D trace1
> > > > Linux Trace Toolkit Trace Control 0.78-04122009
> > > >
> > > > Controlling trace : trace1
> > > >
> > > > lttctl: Pausing trace
> > > > lttctl: Destroying trace
> > > > LTT: 32 events written in channel softirq_state (cpu 0, index 0)
> > > > LTT: 17 events written in channel module_state (cpu 0, index 0)
> > > > LTT: 1 events written in channel global_state (cpu 0, index 0)
> > > > LTT: 335 events written in channel task_state (cpu 0, index 0)
> > > > LTT: 699 events written in channel fd_state (cpu 0, index 0)
> > > > LTT: 429 events written in channel vm_state (cpu 0, index 0)
> > > > LTT: 7 events written in channel irq_state (cpu 0, index 0)
> > > > LTT: 10 events written in channel netif_state (cpu 0, index 0)
> > > > LTT: 218 events written in channel net (cpu 0, index 0)
> > > > LTT: 3 events written in channel net (cpu 1, index 0)
> > > > LTT: 4 events written in channel net (cpu 2, index 0)
> > > > LTT: 2881 events written in channel kernel (cpu 0, index 0)
> > > > LTT: 663 events written in channel kernel (cpu 1, index 0)
> > > > LTT: 731 events written in channel kernel (cpu 2, index 0)
> > > > LTT: 88 events written in channel kernel (cpu 3, index 0)
> > > > LTT: 77 events written in channel kernel (cpu 4, index 0)
> > > > LTT: 89 events written in channel kernel (cpu 5, index 0)
> > > > LTT: 98 events written in channel kernel (cpu 6, index 0)
> > > > LTT: 78 events written in channel kernel (cpu 7, index 0)
> > > > LTT: 208 events written in channel kernel (cpu 8, index 0)
> > > > LTT: 75 events written in channel kernel (cpu 9, index 0)
> > > > LTT: 75 events written in channel kernel (cpu 10, index 0)
> > > > LTT: 88 events written in channel kernel (cpu 11, index 0)
> > > > LTT: 93 events written in channel kernel (cpu 12, index 0)
> > > > LTT: 95 events written in channel kernel (cpu 13, index 0)
> > > > LTT: 62 events written in channel kernel (cpu 14, index 0)
> > > > LTT: 64 events written in channel kernel (cpu 15, index 0)
> > > > LTT: 44 events written in channel mm (cpu 0, index 0)
> > > > LTT: 14 events written in channel mm (cpu 1, index 0)
> > > > LTT: 41 events written in channel mm (cpu 2, index 0)
> > > > LTT: 1 events written in channel mm (cpu 8, index 0)
> > > > LTT: 253 events written in channel fs (cpu 0, index 0)
> > > > LTT: 4 events written in channel fs (cpu 1, index 0)
> > > > LTT: 31 events written in channel fs (cpu 2, index 0)
> > > > LTT: 272 events written in channel fs (cpu 4, index 0)
> > > > LTT: 8 events written in channel fs (cpu 8, index 0)
> > > > LTT: 286 events written in channel metadata (cpu 0, index 0)
> > > > root at cavium-octeonplus:~# lttv -m textDump -t /tmp/trace1/ >
> > > > Log-trace-text-format.txt
> > > >
> > > > ** ERROR **: Process 2120 has been created at [0.000000000] and
> inserted
> > > at
> > > > [92.895699903] before
> > > > fork on cpu 0[94.290545440].
> > > > Probably an unsynchronized TSC problem on the traced machine.
> > > > aborting...
> > > > Aborted
> > > > root at cavium-octeonplus:~#
> > >
> > > --
> > > Mathieu Desnoyers
> > > Operating System Efficiency R&D Consultant
> > > EfficiOS Inc.
> > > http://www.efficios.com
> > >
>
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110214/a2f19b39/attachment-0003.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-14 8:48 ` Naresh Bhat
2011-02-14 8:48 ` Naresh Bhat
@ 2011-02-14 8:48 ` Naresh Bhat
2011-02-14 14:39 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP86B1C8A867AFBF486A0DEB96D00@phx.gbl>
3 siblings, 0 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-14 8:48 UTC (permalink / raw)
Hi Mathieu,
I have backported the patch and now TSC is enabled in my kernel and also I
am able to boot the kernel. But one thing I have observed is between single
core and multiple core boot logs is that as following
*On single core MIPS:*
*checking TSC synchronization across all online CPUs: PASSED *
*But on multiple core MIPS:*
* Measured 553605851 cycles TSC offset between CPUs, turning off TSC clock.*
I am trying to understand why TSC clock is turned OFF and Now my question
is that is there any patch that should I need to pick up to fix this issue ?
*
Error Logs:
*........................
.........................................
..........................................................
Kernel command line: bootoctlinux 0x21000000 numcores=16 root=/dev/nfs rw
nfsroot=<host IP>:/image-cavium-octeonplus
PID hash table entries: 2048 (order: 2, 16384 bytes)
Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
Inode-cache hash table entries: 32768 (order: 6, 262144 bytes)
Primary instruction cache 32kB, virtually tagged, 4 way, 64 sets, linesize
128 bytes.
Primary data cache 16kB, 64-way, 2 sets, linesize 128 bytes.
Memory: 498944k/534976k available (4876k kernel code, 35200k reserved, 4937k
data, 272k init, 0k highmem)
Experimental preemptable hierarchical RCU implementation.
NR_IRQS:408
Calibrating delay loop (skipped) preset value.. 1600.00 BogoMIPS
(lpj=8000000)
Security Framework initialized
Mount-cache hash table entries: 256
Checking for the daddi bug... no.
SMP: Booting CPU01 (CoreId 1)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU02 (CoreId 2)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU03 (CoreId 3)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU04 (CoreId 4)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU05 (CoreId 5)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU06 (CoreId 6)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU07 (CoreId 7)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU08 (CoreId 8)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU09 (CoreId 9)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU10 (CoreId 10)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU11 (CoreId 11)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU12 (CoreId 12)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU13 (CoreId 13)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU14 (CoreId 14)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU15 (CoreId 15)...
CPU revision is: 000d0301 (Cavium Octeon+)
Brought up 16 CPUs
*checking TSC synchronization across all online CPUs:
Measured 553605851 cycles TSC offset between CPUs, turning off TSC clock.*
NET: Registered protocol family 16
Not in host mode, PCI Controller not initialized
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource OCTEON_CVMCOUNT
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 3, 32768 bytes)
TCP established hash table entries: 16384 (order: 6, 262144 bytes)
TCP bind hash table entries: 16384 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
/proc/octeon_perf: Octeon performace counter interface loaded
init_vdso successfull
HugeTLB registered 2 MB page size, pre-allocated 0 pages
JFFS2 version 2.2. (NAND) ?? 2001-2006 Red Hat, Inc.
msgmni has been set to 976
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
LTT : ltt-relay init
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x1180000000800 (irq = 58) is a OCTEON
console [ttyS0] enabled, bootconsole disabled
console [ttyS0] enabled, bootconsole disabled
serial8250.0: ttyS1 at MMIO 0x1180000000c00 (irq = 59) is a OCTEON
brd: module loaded
loop: module loaded
pata_octeon_cf pata_octeon_cf: version 2.1 8 bit.
...................................
.....................................
..............................................
On Fri, Feb 11, 2011 at 7:56 PM, Mathieu Desnoyers <
compudj at krystal.dyndns.org> wrote:
> * Naresh Bhat (nareshgbhat at gmail.com) wrote:
> > Hi Mathew,
> >
> > I am using 0.188 patch set version (2.6.32.4-lttng-0.188)
>
> Hi Naresh,
>
> In the more recent LTTng versions, we have a patch to support Octeon.
> It's a patch called
> "lttng-mips-use-64-bit-counter-for-trace-clock-on-octeon-cpus.patch" in
> the 0.241 lttng patchset for kernel 2.6.37. You might want to either
> upgrade your kernel/lttng or try to apply this patch to your older
> kernel if you have version requirements (it might work or not, and you
> may have to tweak a few details).
>
> Good luck!
>
> Mathieu
>
> > *
> > *
> > *Thanks*
> > *-Naresh Bhat*
> >
> > On Fri, Feb 11, 2011 at 12:37 PM, Mathieu Desnoyers <
> > compudj at krystal.dyndns.org> wrote:
> >
> > > * Naresh Bhat (nareshgbhat at gmail.com) wrote:
> > > > Hi All,
> > > >
> > > > I am trying to execute LTTng test on MIPS multicore (I pass
> *numcores=16
> > > > while booting)* Octeon based 58xx target board, but the lttv text
> dump
> > > fails
> > > > to dump
> > > >
> > > > *My Kernel version: 2.6.32*
> > >
> > > Hello,
> > >
> > > Which version of the LTTng patchset are you using ?
> > >
> > > Mathieu
> > >
> > > > *
> > > >
> > > > Linux Trace Toolkit Trace Control 0.78-04122009
> > > >
> > > > Linux Trace Toolkit Visualizer 0.12.29-02022010
> > > >
> > > > *
> > > > My questions are
> > > >
> > > > 1. Anybody faced this kind of problem ?
> > > > 2. Is there any patch available for this ? please, can you provide me
> a
> > > > pointer to that patch ?
> > > >
> > > > *-- Thanks and Regards
> > > > Naresh Bhat*
> > > >
> > > > *Error log messages:*
> > > >
> > > > root at cavium-octeonplus:~# mkdir /mnt/debugfs
> > > >
> > > > root at cavium-octeonplus:~# mount -t debugfs debugfs /mnt/debugfs/
> > > > root at cavium-octeonplus:~# ltt-armall
> > > > Connecting /mnt/debugfs/ltt/markers/pm/idle_entry
> > > > Connecting /mnt/debugfs/ltt/markers/pm/idle_exit
> > > > Connecting /mnt/debugfs/ltt/markers/pm/suspend_entry
> > > > Connecting /mnt/debugfs/ltt/markers/pm/suspend_exit
> > > > Connecting /mnt/debugfs/ltt/markers/ipc/msg_create
> > > > Connecting /mnt/debugfs/ltt/markers/ipc/sem_create
> > > > Connecting /mnt/debugfs/ltt/markers/ipc/shm_create
> > > > Connecting /mnt/debugfs/ltt/markers/ipc/call
> > > > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_start
> > > > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_end
> > > > Connecting /mnt/debugfs/ltt/markers/fs/exec
> > > > Connecting /mnt/debugfs/ltt/markers/fs/ioctl
> > > > Connecting /mnt/debugfs/ltt/markers/fs/open
> > > > Connecting /mnt/debugfs/ltt/markers/fs/close
> > > > Connecting /mnt/debugfs/ltt/markers/fs/lseek
> > > > Connecting /mnt/debugfs/ltt/markers/fs/llseek
> > > > Connecting /mnt/debugfs/ltt/markers/fs/read
> > > > Connecting /mnt/debugfs/ltt/markers/fs/write
> > > > Connecting /mnt/debugfs/ltt/markers/fs/pread64
> > > > Connecting /mnt/debugfs/ltt/markers/fs/pwrite64
> > > > Connecting /mnt/debugfs/ltt/markers/fs/readv
> > > > Connecting /mnt/debugfs/ltt/markers/fs/writev
> > > > Connecting /mnt/debugfs/ltt/markers/fs/select
> > > > Connecting /mnt/debugfs/ltt/markers/fs/pollfd
> > > > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_start
> > > > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_end
> > > > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_free
> > > > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_alloc
> > > > Connecting /mnt/debugfs/ltt/markers/mm/page_free
> > > > Connecting /mnt/debugfs/ltt/markers/mm/page_alloc
> > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_in
> > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_out
> > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_close
> > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_open
> > > > Connecting /mnt/debugfs/ltt/markers/mm/add_to_page_cache
> > > > Connecting /mnt/debugfs/ltt/markers/mm/remove_from_page_cache
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/trap_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/trap_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/irq_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/irq_next_handler
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/irq_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_raise
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop_ret
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wait_task
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_try_wakeup
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wakeup_new_task
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_schedule
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_migrate_task
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/send_signal
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_free
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_wait
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_fork
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_create
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_expired
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_set
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_set
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_update_time
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_timeout
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/printk
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/vprintk
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/module_free
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/module_load
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/panic
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/kernel_kexec
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/crash_kexec
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_exit
> > > > Connecting /mnt/debugfs/ltt/markers/net/dev_xmit
> > > > Connecting /mnt/debugfs/ltt/markers/net/dev_receive
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_create
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_bind
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_connect
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_listen
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_accept
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockname
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_getpeername
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_socketpair
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_sendmsg
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_recvmsg
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_setsockopt
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockopt
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_shutdown
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_call
> > > > Connecting /mnt/debugfs/ltt/markers/net/tcpv4_rcv
> > > > Connecting /mnt/debugfs/ltt/markers/net/udpv4_rcv
> > > > Connecting /mnt/debugfs/ltt/markers/net/napi_schedule
> > > > Connecting /mnt/debugfs/ltt/markers/net/napi_poll
> > > > Connecting /mnt/debugfs/ltt/markers/net/napi_complete
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_pc
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_fs
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_pc
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_fs
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_pc
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_fs
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_pc
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_fs
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_pc
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_fs
> > > > Connecting /mnt/debugfs/ltt/markers/block/bio_bounce
> > > > Connecting /mnt/debugfs/ltt/markers/block/bio_complete
> > > > Connecting /mnt/debugfs/ltt/markers/block/bio_backmerge
> > > > Connecting /mnt/debugfs/ltt/markers/block/bio_frontmerge
> > > > Connecting /mnt/debugfs/ltt/markers/block/bio_queue
> > > > Connecting /mnt/debugfs/ltt/markers/block/getrq_bio
> > > > Connecting /mnt/debugfs/ltt/markers/block/getrq
> > > > Connecting /mnt/debugfs/ltt/markers/block/sleeprq_bio
> > > > Connecting /mnt/debugfs/ltt/markers/block/sleeprq
> > > > Connecting /mnt/debugfs/ltt/markers/block/plug
> > > > Connecting /mnt/debugfs/ltt/markers/block/unplug_io
> > > > Connecting /mnt/debugfs/ltt/markers/block/unplug_timer
> > > > Connecting /mnt/debugfs/ltt/markers/block/split
> > > > Connecting /mnt/debugfs/ltt/markers/block/remap
> > > > Connecting /mnt/debugfs/ltt/markers/userspace/event
> > > > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv4
> > > > Connecting /mnt/debugfs/ltt/markers/netif_state/del_ifa_ipv4
> > > > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv6
> > > > Connecting
> /mnt/debugfs/ltt/markers/netif_state/network_ipv4_interface
> > > > Connecting /mnt/debugfs/ltt/markers/netif_state/network_ip_interface
> > > > Connecting /mnt/debugfs/ltt/markers/irq_state/interrupt
> > > > Connecting /mnt/debugfs/ltt/markers/vm_state/vm_map
> > > > Connecting /mnt/debugfs/ltt/markers/fd_state/file_descriptor
> > > > Connecting /mnt/debugfs/ltt/markers/task_state/process_state
> > > > Connecting /mnt/debugfs/ltt/markers/global_state/statedump_end
> > > > Connecting /mnt/debugfs/ltt/markers/input/input_event
> > > > Connecting /mnt/debugfs/ltt/markers/swap_state/statedump_swap_files
> > > > Connecting /mnt/debugfs/ltt/markers/module_state/list_module
> > > > Connecting /mnt/debugfs/ltt/markers/softirq_state/softirq_vec
> > > > root at cavium-octeonplus:~# lttctl -C -w /tmp/trace1 trace1
> > > > Linux Trace Toolkit Trace Control 0.78-04122009
> > > >
> > > > Controlling trace : trace1
> > > >
> > > > lttctl: Creating trace
> > > > lttctl: Forking lttd
> > > > Linux Trace Toolkit Trace Daemon 0.78-04122009
> > > >
> > > > Reading from debugfs directory : /mnt/debugfs/ltt/trace1
> > > > Writing to trace directory : /tmp/trace1
> > > >
> > > > lttctl: Starting trace
> > > > root at cavium-octeonplus:~# lttctl -D trace1
> > > > Linux Trace Toolkit Trace Control 0.78-04122009
> > > >
> > > > Controlling trace : trace1
> > > >
> > > > lttctl: Pausing trace
> > > > lttctl: Destroying trace
> > > > LTT: 32 events written in channel softirq_state (cpu 0, index 0)
> > > > LTT: 17 events written in channel module_state (cpu 0, index 0)
> > > > LTT: 1 events written in channel global_state (cpu 0, index 0)
> > > > LTT: 335 events written in channel task_state (cpu 0, index 0)
> > > > LTT: 699 events written in channel fd_state (cpu 0, index 0)
> > > > LTT: 429 events written in channel vm_state (cpu 0, index 0)
> > > > LTT: 7 events written in channel irq_state (cpu 0, index 0)
> > > > LTT: 10 events written in channel netif_state (cpu 0, index 0)
> > > > LTT: 218 events written in channel net (cpu 0, index 0)
> > > > LTT: 3 events written in channel net (cpu 1, index 0)
> > > > LTT: 4 events written in channel net (cpu 2, index 0)
> > > > LTT: 2881 events written in channel kernel (cpu 0, index 0)
> > > > LTT: 663 events written in channel kernel (cpu 1, index 0)
> > > > LTT: 731 events written in channel kernel (cpu 2, index 0)
> > > > LTT: 88 events written in channel kernel (cpu 3, index 0)
> > > > LTT: 77 events written in channel kernel (cpu 4, index 0)
> > > > LTT: 89 events written in channel kernel (cpu 5, index 0)
> > > > LTT: 98 events written in channel kernel (cpu 6, index 0)
> > > > LTT: 78 events written in channel kernel (cpu 7, index 0)
> > > > LTT: 208 events written in channel kernel (cpu 8, index 0)
> > > > LTT: 75 events written in channel kernel (cpu 9, index 0)
> > > > LTT: 75 events written in channel kernel (cpu 10, index 0)
> > > > LTT: 88 events written in channel kernel (cpu 11, index 0)
> > > > LTT: 93 events written in channel kernel (cpu 12, index 0)
> > > > LTT: 95 events written in channel kernel (cpu 13, index 0)
> > > > LTT: 62 events written in channel kernel (cpu 14, index 0)
> > > > LTT: 64 events written in channel kernel (cpu 15, index 0)
> > > > LTT: 44 events written in channel mm (cpu 0, index 0)
> > > > LTT: 14 events written in channel mm (cpu 1, index 0)
> > > > LTT: 41 events written in channel mm (cpu 2, index 0)
> > > > LTT: 1 events written in channel mm (cpu 8, index 0)
> > > > LTT: 253 events written in channel fs (cpu 0, index 0)
> > > > LTT: 4 events written in channel fs (cpu 1, index 0)
> > > > LTT: 31 events written in channel fs (cpu 2, index 0)
> > > > LTT: 272 events written in channel fs (cpu 4, index 0)
> > > > LTT: 8 events written in channel fs (cpu 8, index 0)
> > > > LTT: 286 events written in channel metadata (cpu 0, index 0)
> > > > root at cavium-octeonplus:~# lttv -m textDump -t /tmp/trace1/ >
> > > > Log-trace-text-format.txt
> > > >
> > > > ** ERROR **: Process 2120 has been created at [0.000000000] and
> inserted
> > > at
> > > > [92.895699903] before
> > > > fork on cpu 0[94.290545440].
> > > > Probably an unsynchronized TSC problem on the traced machine.
> > > > aborting...
> > > > Aborted
> > > > root at cavium-octeonplus:~#
> > >
> > > --
> > > Mathieu Desnoyers
> > > Operating System Efficiency R&D Consultant
> > > EfficiOS Inc.
> > > http://www.efficios.com
> > >
>
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110214/a2f19b39/attachment-0002.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-14 8:48 ` Naresh Bhat
@ 2011-02-14 8:48 ` Naresh Bhat
2011-02-14 8:48 ` Naresh Bhat
` (2 subsequent siblings)
3 siblings, 0 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-14 8:48 UTC (permalink / raw)
Hi Mathieu,
I have backported the patch and now TSC is enabled in my kernel and also I
am able to boot the kernel. But one thing I have observed is between single
core and multiple core boot logs is that as following
*On single core MIPS:*
*checking TSC synchronization across all online CPUs: PASSED *
*But on multiple core MIPS:*
* Measured 553605851 cycles TSC offset between CPUs, turning off TSC clock.*
I am trying to understand why TSC clock is turned OFF and Now my question
is that is there any patch that should I need to pick up to fix this issue ?
*
Error Logs:
*........................
.........................................
..........................................................
Kernel command line: bootoctlinux 0x21000000 numcores=16 root=/dev/nfs rw
nfsroot=<host IP>:/image-cavium-octeonplus
PID hash table entries: 2048 (order: 2, 16384 bytes)
Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
Inode-cache hash table entries: 32768 (order: 6, 262144 bytes)
Primary instruction cache 32kB, virtually tagged, 4 way, 64 sets, linesize
128 bytes.
Primary data cache 16kB, 64-way, 2 sets, linesize 128 bytes.
Memory: 498944k/534976k available (4876k kernel code, 35200k reserved, 4937k
data, 272k init, 0k highmem)
Experimental preemptable hierarchical RCU implementation.
NR_IRQS:408
Calibrating delay loop (skipped) preset value.. 1600.00 BogoMIPS
(lpj=8000000)
Security Framework initialized
Mount-cache hash table entries: 256
Checking for the daddi bug... no.
SMP: Booting CPU01 (CoreId 1)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU02 (CoreId 2)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU03 (CoreId 3)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU04 (CoreId 4)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU05 (CoreId 5)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU06 (CoreId 6)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU07 (CoreId 7)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU08 (CoreId 8)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU09 (CoreId 9)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU10 (CoreId 10)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU11 (CoreId 11)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU12 (CoreId 12)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU13 (CoreId 13)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU14 (CoreId 14)...
CPU revision is: 000d0301 (Cavium Octeon+)
SMP: Booting CPU15 (CoreId 15)...
CPU revision is: 000d0301 (Cavium Octeon+)
Brought up 16 CPUs
*checking TSC synchronization across all online CPUs:
Measured 553605851 cycles TSC offset between CPUs, turning off TSC clock.*
NET: Registered protocol family 16
Not in host mode, PCI Controller not initialized
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource OCTEON_CVMCOUNT
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 3, 32768 bytes)
TCP established hash table entries: 16384 (order: 6, 262144 bytes)
TCP bind hash table entries: 16384 (order: 6, 262144 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
/proc/octeon_perf: Octeon performace counter interface loaded
init_vdso successfull
HugeTLB registered 2 MB page size, pre-allocated 0 pages
JFFS2 version 2.2. (NAND) ?? 2001-2006 Red Hat, Inc.
msgmni has been set to 976
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
LTT : ltt-relay init
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x1180000000800 (irq = 58) is a OCTEON
console [ttyS0] enabled, bootconsole disabled
console [ttyS0] enabled, bootconsole disabled
serial8250.0: ttyS1 at MMIO 0x1180000000c00 (irq = 59) is a OCTEON
brd: module loaded
loop: module loaded
pata_octeon_cf pata_octeon_cf: version 2.1 8 bit.
...................................
.....................................
..............................................
On Fri, Feb 11, 2011 at 7:56 PM, Mathieu Desnoyers <
compudj at krystal.dyndns.org> wrote:
> * Naresh Bhat (nareshgbhat at gmail.com) wrote:
> > Hi Mathew,
> >
> > I am using 0.188 patch set version (2.6.32.4-lttng-0.188)
>
> Hi Naresh,
>
> In the more recent LTTng versions, we have a patch to support Octeon.
> It's a patch called
> "lttng-mips-use-64-bit-counter-for-trace-clock-on-octeon-cpus.patch" in
> the 0.241 lttng patchset for kernel 2.6.37. You might want to either
> upgrade your kernel/lttng or try to apply this patch to your older
> kernel if you have version requirements (it might work or not, and you
> may have to tweak a few details).
>
> Good luck!
>
> Mathieu
>
> > *
> > *
> > *Thanks*
> > *-Naresh Bhat*
> >
> > On Fri, Feb 11, 2011 at 12:37 PM, Mathieu Desnoyers <
> > compudj at krystal.dyndns.org> wrote:
> >
> > > * Naresh Bhat (nareshgbhat at gmail.com) wrote:
> > > > Hi All,
> > > >
> > > > I am trying to execute LTTng test on MIPS multicore (I pass
> *numcores=16
> > > > while booting)* Octeon based 58xx target board, but the lttv text
> dump
> > > fails
> > > > to dump
> > > >
> > > > *My Kernel version: 2.6.32*
> > >
> > > Hello,
> > >
> > > Which version of the LTTng patchset are you using ?
> > >
> > > Mathieu
> > >
> > > > *
> > > >
> > > > Linux Trace Toolkit Trace Control 0.78-04122009
> > > >
> > > > Linux Trace Toolkit Visualizer 0.12.29-02022010
> > > >
> > > > *
> > > > My questions are
> > > >
> > > > 1. Anybody faced this kind of problem ?
> > > > 2. Is there any patch available for this ? please, can you provide me
> a
> > > > pointer to that patch ?
> > > >
> > > > *-- Thanks and Regards
> > > > Naresh Bhat*
> > > >
> > > > *Error log messages:*
> > > >
> > > > root at cavium-octeonplus:~# mkdir /mnt/debugfs
> > > >
> > > > root at cavium-octeonplus:~# mount -t debugfs debugfs /mnt/debugfs/
> > > > root at cavium-octeonplus:~# ltt-armall
> > > > Connecting /mnt/debugfs/ltt/markers/pm/idle_entry
> > > > Connecting /mnt/debugfs/ltt/markers/pm/idle_exit
> > > > Connecting /mnt/debugfs/ltt/markers/pm/suspend_entry
> > > > Connecting /mnt/debugfs/ltt/markers/pm/suspend_exit
> > > > Connecting /mnt/debugfs/ltt/markers/ipc/msg_create
> > > > Connecting /mnt/debugfs/ltt/markers/ipc/sem_create
> > > > Connecting /mnt/debugfs/ltt/markers/ipc/shm_create
> > > > Connecting /mnt/debugfs/ltt/markers/ipc/call
> > > > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_start
> > > > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_end
> > > > Connecting /mnt/debugfs/ltt/markers/fs/exec
> > > > Connecting /mnt/debugfs/ltt/markers/fs/ioctl
> > > > Connecting /mnt/debugfs/ltt/markers/fs/open
> > > > Connecting /mnt/debugfs/ltt/markers/fs/close
> > > > Connecting /mnt/debugfs/ltt/markers/fs/lseek
> > > > Connecting /mnt/debugfs/ltt/markers/fs/llseek
> > > > Connecting /mnt/debugfs/ltt/markers/fs/read
> > > > Connecting /mnt/debugfs/ltt/markers/fs/write
> > > > Connecting /mnt/debugfs/ltt/markers/fs/pread64
> > > > Connecting /mnt/debugfs/ltt/markers/fs/pwrite64
> > > > Connecting /mnt/debugfs/ltt/markers/fs/readv
> > > > Connecting /mnt/debugfs/ltt/markers/fs/writev
> > > > Connecting /mnt/debugfs/ltt/markers/fs/select
> > > > Connecting /mnt/debugfs/ltt/markers/fs/pollfd
> > > > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_start
> > > > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_end
> > > > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_free
> > > > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_alloc
> > > > Connecting /mnt/debugfs/ltt/markers/mm/page_free
> > > > Connecting /mnt/debugfs/ltt/markers/mm/page_alloc
> > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_in
> > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_out
> > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_close
> > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_open
> > > > Connecting /mnt/debugfs/ltt/markers/mm/add_to_page_cache
> > > > Connecting /mnt/debugfs/ltt/markers/mm/remove_from_page_cache
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/trap_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/trap_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/irq_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/irq_next_handler
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/irq_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_raise
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop_ret
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wait_task
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_try_wakeup
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wakeup_new_task
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_schedule
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_migrate_task
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/send_signal
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_free
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_wait
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_fork
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_create
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_expired
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_set
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_set
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_update_time
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_timeout
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/printk
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/vprintk
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/module_free
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/module_load
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/panic
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/kernel_kexec
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/crash_kexec
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_exit
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_entry
> > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_exit
> > > > Connecting /mnt/debugfs/ltt/markers/net/dev_xmit
> > > > Connecting /mnt/debugfs/ltt/markers/net/dev_receive
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_create
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_bind
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_connect
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_listen
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_accept
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockname
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_getpeername
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_socketpair
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_sendmsg
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_recvmsg
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_setsockopt
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockopt
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_shutdown
> > > > Connecting /mnt/debugfs/ltt/markers/net/socket_call
> > > > Connecting /mnt/debugfs/ltt/markers/net/tcpv4_rcv
> > > > Connecting /mnt/debugfs/ltt/markers/net/udpv4_rcv
> > > > Connecting /mnt/debugfs/ltt/markers/net/napi_schedule
> > > > Connecting /mnt/debugfs/ltt/markers/net/napi_poll
> > > > Connecting /mnt/debugfs/ltt/markers/net/napi_complete
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_pc
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_fs
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_pc
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_fs
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_pc
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_fs
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_pc
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_fs
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_pc
> > > > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_fs
> > > > Connecting /mnt/debugfs/ltt/markers/block/bio_bounce
> > > > Connecting /mnt/debugfs/ltt/markers/block/bio_complete
> > > > Connecting /mnt/debugfs/ltt/markers/block/bio_backmerge
> > > > Connecting /mnt/debugfs/ltt/markers/block/bio_frontmerge
> > > > Connecting /mnt/debugfs/ltt/markers/block/bio_queue
> > > > Connecting /mnt/debugfs/ltt/markers/block/getrq_bio
> > > > Connecting /mnt/debugfs/ltt/markers/block/getrq
> > > > Connecting /mnt/debugfs/ltt/markers/block/sleeprq_bio
> > > > Connecting /mnt/debugfs/ltt/markers/block/sleeprq
> > > > Connecting /mnt/debugfs/ltt/markers/block/plug
> > > > Connecting /mnt/debugfs/ltt/markers/block/unplug_io
> > > > Connecting /mnt/debugfs/ltt/markers/block/unplug_timer
> > > > Connecting /mnt/debugfs/ltt/markers/block/split
> > > > Connecting /mnt/debugfs/ltt/markers/block/remap
> > > > Connecting /mnt/debugfs/ltt/markers/userspace/event
> > > > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv4
> > > > Connecting /mnt/debugfs/ltt/markers/netif_state/del_ifa_ipv4
> > > > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv6
> > > > Connecting
> /mnt/debugfs/ltt/markers/netif_state/network_ipv4_interface
> > > > Connecting /mnt/debugfs/ltt/markers/netif_state/network_ip_interface
> > > > Connecting /mnt/debugfs/ltt/markers/irq_state/interrupt
> > > > Connecting /mnt/debugfs/ltt/markers/vm_state/vm_map
> > > > Connecting /mnt/debugfs/ltt/markers/fd_state/file_descriptor
> > > > Connecting /mnt/debugfs/ltt/markers/task_state/process_state
> > > > Connecting /mnt/debugfs/ltt/markers/global_state/statedump_end
> > > > Connecting /mnt/debugfs/ltt/markers/input/input_event
> > > > Connecting /mnt/debugfs/ltt/markers/swap_state/statedump_swap_files
> > > > Connecting /mnt/debugfs/ltt/markers/module_state/list_module
> > > > Connecting /mnt/debugfs/ltt/markers/softirq_state/softirq_vec
> > > > root at cavium-octeonplus:~# lttctl -C -w /tmp/trace1 trace1
> > > > Linux Trace Toolkit Trace Control 0.78-04122009
> > > >
> > > > Controlling trace : trace1
> > > >
> > > > lttctl: Creating trace
> > > > lttctl: Forking lttd
> > > > Linux Trace Toolkit Trace Daemon 0.78-04122009
> > > >
> > > > Reading from debugfs directory : /mnt/debugfs/ltt/trace1
> > > > Writing to trace directory : /tmp/trace1
> > > >
> > > > lttctl: Starting trace
> > > > root at cavium-octeonplus:~# lttctl -D trace1
> > > > Linux Trace Toolkit Trace Control 0.78-04122009
> > > >
> > > > Controlling trace : trace1
> > > >
> > > > lttctl: Pausing trace
> > > > lttctl: Destroying trace
> > > > LTT: 32 events written in channel softirq_state (cpu 0, index 0)
> > > > LTT: 17 events written in channel module_state (cpu 0, index 0)
> > > > LTT: 1 events written in channel global_state (cpu 0, index 0)
> > > > LTT: 335 events written in channel task_state (cpu 0, index 0)
> > > > LTT: 699 events written in channel fd_state (cpu 0, index 0)
> > > > LTT: 429 events written in channel vm_state (cpu 0, index 0)
> > > > LTT: 7 events written in channel irq_state (cpu 0, index 0)
> > > > LTT: 10 events written in channel netif_state (cpu 0, index 0)
> > > > LTT: 218 events written in channel net (cpu 0, index 0)
> > > > LTT: 3 events written in channel net (cpu 1, index 0)
> > > > LTT: 4 events written in channel net (cpu 2, index 0)
> > > > LTT: 2881 events written in channel kernel (cpu 0, index 0)
> > > > LTT: 663 events written in channel kernel (cpu 1, index 0)
> > > > LTT: 731 events written in channel kernel (cpu 2, index 0)
> > > > LTT: 88 events written in channel kernel (cpu 3, index 0)
> > > > LTT: 77 events written in channel kernel (cpu 4, index 0)
> > > > LTT: 89 events written in channel kernel (cpu 5, index 0)
> > > > LTT: 98 events written in channel kernel (cpu 6, index 0)
> > > > LTT: 78 events written in channel kernel (cpu 7, index 0)
> > > > LTT: 208 events written in channel kernel (cpu 8, index 0)
> > > > LTT: 75 events written in channel kernel (cpu 9, index 0)
> > > > LTT: 75 events written in channel kernel (cpu 10, index 0)
> > > > LTT: 88 events written in channel kernel (cpu 11, index 0)
> > > > LTT: 93 events written in channel kernel (cpu 12, index 0)
> > > > LTT: 95 events written in channel kernel (cpu 13, index 0)
> > > > LTT: 62 events written in channel kernel (cpu 14, index 0)
> > > > LTT: 64 events written in channel kernel (cpu 15, index 0)
> > > > LTT: 44 events written in channel mm (cpu 0, index 0)
> > > > LTT: 14 events written in channel mm (cpu 1, index 0)
> > > > LTT: 41 events written in channel mm (cpu 2, index 0)
> > > > LTT: 1 events written in channel mm (cpu 8, index 0)
> > > > LTT: 253 events written in channel fs (cpu 0, index 0)
> > > > LTT: 4 events written in channel fs (cpu 1, index 0)
> > > > LTT: 31 events written in channel fs (cpu 2, index 0)
> > > > LTT: 272 events written in channel fs (cpu 4, index 0)
> > > > LTT: 8 events written in channel fs (cpu 8, index 0)
> > > > LTT: 286 events written in channel metadata (cpu 0, index 0)
> > > > root at cavium-octeonplus:~# lttv -m textDump -t /tmp/trace1/ >
> > > > Log-trace-text-format.txt
> > > >
> > > > ** ERROR **: Process 2120 has been created at [0.000000000] and
> inserted
> > > at
> > > > [92.895699903] before
> > > > fork on cpu 0[94.290545440].
> > > > Probably an unsynchronized TSC problem on the traced machine.
> > > > aborting...
> > > > Aborted
> > > > root at cavium-octeonplus:~#
> > >
> > > --
> > > Mathieu Desnoyers
> > > Operating System Efficiency R&D Consultant
> > > EfficiOS Inc.
> > > http://www.efficios.com
> > >
>
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/ltt-dev/attachments/20110214/a2f19b39/attachment-0001.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-14 8:48 ` Naresh Bhat
2011-02-14 8:48 ` Naresh Bhat
2011-02-14 8:48 ` Naresh Bhat
@ 2011-02-14 14:39 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP86B1C8A867AFBF486A0DEB96D00@phx.gbl>
3 siblings, 0 replies; 34+ messages in thread
From: Mathieu Desnoyers @ 2011-02-14 14:39 UTC (permalink / raw)
[ Adding David Daney to CC list, as he may have info on Octeon CPUs with
non-synchronized TSCs ]
* Naresh Bhat (nareshgbhat at gmail.com) wrote:
> Hi Mathieu,
>
> I have backported the patch and now TSC is enabled in my kernel and also I
> am able to boot the kernel. But one thing I have observed is between single
> core and multiple core boot logs is that as following
>
> *On single core MIPS:*
> *checking TSC synchronization across all online CPUs: PASSED *
>
> *But on multiple core MIPS:*
> * Measured 553605851 cycles TSC offset between CPUs, turning off TSC clock.*
>
> I am trying to understand why TSC clock is turned OFF and Now my question
> is that is there any patch that should I need to pick up to fix this issue ?
That's a sanity check in LTTng that reports your architecture has
non-synchronized timestamp counters across cores, which makes them
pretty much useless for tracing.
There is one thing you can try: boot your kernel with the
"force_tsc_sync=1" parameter (see Documentation/kernel-parameters.txt --
it's an LTTng-specific option). This will force synchronization of your
TSCs when the CPUs are brought up. But we should learn more about your
specific architecture: this trick will work only if the frequency of the
register providing timestamps is constant across cores (does not vary
with per-core frequency scaling/sleep modes).
I notice, however, that the arch/mips/include/asm/timex.h write_tsc()
implementation specifies that only the 32 LSBs are updated, so
force_tsc_sync will not behave as expected. If we figure out that this
architecture provides TSCs running at a constant frequency, we should
modify write_tsc so it updates all 64 timestamp counter bits for Octeon
so we can fire off the CPUs at a frequency initially synchronized by
software. This can initially be done by changing the write_tsc()
implementation in arch/mips/include/asm/timex.h to use
"write_c0_cvmcount" (receiving an unsigned long parameter) rather than
write_c0, e.g.:
timex.h:
static inline void write_tsc(u32 val1, u32 val2)
{
#ifndef CONFIG_CPU_CAVIUM_OCTEON
write_c0_count(val1);
#else
write_c0_cvmcount(((unsigned long) val2 << 32UL) | (unsigned long) val1);
#endif
/* Arrange for an interrupt in a short while */
write_c0_compare(read_c0_count() + DELAY_INTERRUPT);
}
Good luck,
Mathieu
>
> *
> Error Logs:
> *........................
> .........................................
> ..........................................................
> Kernel command line: bootoctlinux 0x21000000 numcores=16 root=/dev/nfs rw
> nfsroot=<host IP>:/image-cavium-octeonplus
> PID hash table entries: 2048 (order: 2, 16384 bytes)
> Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
> Inode-cache hash table entries: 32768 (order: 6, 262144 bytes)
> Primary instruction cache 32kB, virtually tagged, 4 way, 64 sets, linesize
> 128 bytes.
> Primary data cache 16kB, 64-way, 2 sets, linesize 128 bytes.
> Memory: 498944k/534976k available (4876k kernel code, 35200k reserved, 4937k
> data, 272k init, 0k highmem)
> Experimental preemptable hierarchical RCU implementation.
> NR_IRQS:408
> Calibrating delay loop (skipped) preset value.. 1600.00 BogoMIPS
> (lpj=8000000)
> Security Framework initialized
> Mount-cache hash table entries: 256
> Checking for the daddi bug... no.
> SMP: Booting CPU01 (CoreId 1)...
> CPU revision is: 000d0301 (Cavium Octeon+)
> SMP: Booting CPU02 (CoreId 2)...
> CPU revision is: 000d0301 (Cavium Octeon+)
> SMP: Booting CPU03 (CoreId 3)...
> CPU revision is: 000d0301 (Cavium Octeon+)
> SMP: Booting CPU04 (CoreId 4)...
> CPU revision is: 000d0301 (Cavium Octeon+)
> SMP: Booting CPU05 (CoreId 5)...
> CPU revision is: 000d0301 (Cavium Octeon+)
> SMP: Booting CPU06 (CoreId 6)...
> CPU revision is: 000d0301 (Cavium Octeon+)
> SMP: Booting CPU07 (CoreId 7)...
> CPU revision is: 000d0301 (Cavium Octeon+)
> SMP: Booting CPU08 (CoreId 8)...
> CPU revision is: 000d0301 (Cavium Octeon+)
> SMP: Booting CPU09 (CoreId 9)...
> CPU revision is: 000d0301 (Cavium Octeon+)
> SMP: Booting CPU10 (CoreId 10)...
> CPU revision is: 000d0301 (Cavium Octeon+)
> SMP: Booting CPU11 (CoreId 11)...
> CPU revision is: 000d0301 (Cavium Octeon+)
> SMP: Booting CPU12 (CoreId 12)...
> CPU revision is: 000d0301 (Cavium Octeon+)
> SMP: Booting CPU13 (CoreId 13)...
> CPU revision is: 000d0301 (Cavium Octeon+)
> SMP: Booting CPU14 (CoreId 14)...
> CPU revision is: 000d0301 (Cavium Octeon+)
> SMP: Booting CPU15 (CoreId 15)...
> CPU revision is: 000d0301 (Cavium Octeon+)
> Brought up 16 CPUs
> *checking TSC synchronization across all online CPUs:
> Measured 553605851 cycles TSC offset between CPUs, turning off TSC clock.*
> NET: Registered protocol family 16
> Not in host mode, PCI Controller not initialized
> bio: create slab <bio-0> at 0
> vgaarb: loaded
> SCSI subsystem initialized
> usbcore: registered new interface driver usbfs
> usbcore: registered new interface driver hub
> usbcore: registered new device driver usb
> Switching to clocksource OCTEON_CVMCOUNT
> NET: Registered protocol family 2
> IP route cache hash table entries: 4096 (order: 3, 32768 bytes)
> TCP established hash table entries: 16384 (order: 6, 262144 bytes)
> TCP bind hash table entries: 16384 (order: 6, 262144 bytes)
> TCP: Hash tables configured (established 16384 bind 16384)
> TCP reno registered
> NET: Registered protocol family 1
> RPC: Registered udp transport module.
> RPC: Registered tcp transport module.
> RPC: Registered tcp NFSv4.1 backchannel transport module.
> /proc/octeon_perf: Octeon performace counter interface loaded
> init_vdso successfull
> HugeTLB registered 2 MB page size, pre-allocated 0 pages
> JFFS2 version 2.2. (NAND) ?? 2001-2006 Red Hat, Inc.
> msgmni has been set to 976
> alg: No test for stdrng (krng)
> io scheduler noop registered
> io scheduler anticipatory registered
> io scheduler deadline registered
> io scheduler cfq registered (default)
> LTT : ltt-relay init
> Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
> serial8250.0: ttyS0 at MMIO 0x1180000000800 (irq = 58) is a OCTEON
> console [ttyS0] enabled, bootconsole disabled
> console [ttyS0] enabled, bootconsole disabled
> serial8250.0: ttyS1 at MMIO 0x1180000000c00 (irq = 59) is a OCTEON
> brd: module loaded
> loop: module loaded
> pata_octeon_cf pata_octeon_cf: version 2.1 8 bit.
> ...................................
> .....................................
> ..............................................
>
>
>
>
>
>
> On Fri, Feb 11, 2011 at 7:56 PM, Mathieu Desnoyers <
> compudj at krystal.dyndns.org> wrote:
>
> > * Naresh Bhat (nareshgbhat at gmail.com) wrote:
> > > Hi Mathew,
> > >
> > > I am using 0.188 patch set version (2.6.32.4-lttng-0.188)
> >
> > Hi Naresh,
> >
> > In the more recent LTTng versions, we have a patch to support Octeon.
> > It's a patch called
> > "lttng-mips-use-64-bit-counter-for-trace-clock-on-octeon-cpus.patch" in
> > the 0.241 lttng patchset for kernel 2.6.37. You might want to either
> > upgrade your kernel/lttng or try to apply this patch to your older
> > kernel if you have version requirements (it might work or not, and you
> > may have to tweak a few details).
> >
> > Good luck!
> >
> > Mathieu
> >
> > > *
> > > *
> > > *Thanks*
> > > *-Naresh Bhat*
> > >
> > > On Fri, Feb 11, 2011 at 12:37 PM, Mathieu Desnoyers <
> > > compudj at krystal.dyndns.org> wrote:
> > >
> > > > * Naresh Bhat (nareshgbhat at gmail.com) wrote:
> > > > > Hi All,
> > > > >
> > > > > I am trying to execute LTTng test on MIPS multicore (I pass
> > *numcores=16
> > > > > while booting)* Octeon based 58xx target board, but the lttv text
> > dump
> > > > fails
> > > > > to dump
> > > > >
> > > > > *My Kernel version: 2.6.32*
> > > >
> > > > Hello,
> > > >
> > > > Which version of the LTTng patchset are you using ?
> > > >
> > > > Mathieu
> > > >
> > > > > *
> > > > >
> > > > > Linux Trace Toolkit Trace Control 0.78-04122009
> > > > >
> > > > > Linux Trace Toolkit Visualizer 0.12.29-02022010
> > > > >
> > > > > *
> > > > > My questions are
> > > > >
> > > > > 1. Anybody faced this kind of problem ?
> > > > > 2. Is there any patch available for this ? please, can you provide me
> > a
> > > > > pointer to that patch ?
> > > > >
> > > > > *-- Thanks and Regards
> > > > > Naresh Bhat*
> > > > >
> > > > > *Error log messages:*
> > > > >
> > > > > root at cavium-octeonplus:~# mkdir /mnt/debugfs
> > > > >
> > > > > root at cavium-octeonplus:~# mount -t debugfs debugfs /mnt/debugfs/
> > > > > root at cavium-octeonplus:~# ltt-armall
> > > > > Connecting /mnt/debugfs/ltt/markers/pm/idle_entry
> > > > > Connecting /mnt/debugfs/ltt/markers/pm/idle_exit
> > > > > Connecting /mnt/debugfs/ltt/markers/pm/suspend_entry
> > > > > Connecting /mnt/debugfs/ltt/markers/pm/suspend_exit
> > > > > Connecting /mnt/debugfs/ltt/markers/ipc/msg_create
> > > > > Connecting /mnt/debugfs/ltt/markers/ipc/sem_create
> > > > > Connecting /mnt/debugfs/ltt/markers/ipc/shm_create
> > > > > Connecting /mnt/debugfs/ltt/markers/ipc/call
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_start
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/buffer_wait_end
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/exec
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/ioctl
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/open
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/close
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/lseek
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/llseek
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/read
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/write
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/pread64
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/pwrite64
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/readv
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/writev
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/select
> > > > > Connecting /mnt/debugfs/ltt/markers/fs/pollfd
> > > > > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_start
> > > > > Connecting /mnt/debugfs/ltt/markers/mm/wait_on_page_end
> > > > > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_free
> > > > > Connecting /mnt/debugfs/ltt/markers/mm/huge_page_alloc
> > > > > Connecting /mnt/debugfs/ltt/markers/mm/page_free
> > > > > Connecting /mnt/debugfs/ltt/markers/mm/page_alloc
> > > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_in
> > > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_out
> > > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_close
> > > > > Connecting /mnt/debugfs/ltt/markers/mm/swap_file_open
> > > > > Connecting /mnt/debugfs/ltt/markers/mm/add_to_page_cache
> > > > > Connecting /mnt/debugfs/ltt/markers/mm/remove_from_page_cache
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/trap_entry
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/trap_exit
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_entry
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/syscall_exit
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/irq_entry
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/irq_next_handler
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/irq_exit
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_entry
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_exit
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/softirq_raise
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_entry
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_low_exit
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_entry
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/tasklet_high_exit
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_stop_ret
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wait_task
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_try_wakeup
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_wakeup_new_task
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_schedule
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/sched_migrate_task
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/send_signal
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_free
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_exit
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_wait
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/process_fork
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/kthread_create
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_expired
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_itimer_set
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_set
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_update_time
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/timer_timeout
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/printk
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/vprintk
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/module_free
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/module_load
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/panic
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/kernel_kexec
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/crash_kexec
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_entry
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_exit
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_entry
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_nosem_exit
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_entry
> > > > > Connecting /mnt/debugfs/ltt/markers/kernel/page_fault_get_user_exit
> > > > > Connecting /mnt/debugfs/ltt/markers/net/dev_xmit
> > > > > Connecting /mnt/debugfs/ltt/markers/net/dev_receive
> > > > > Connecting /mnt/debugfs/ltt/markers/net/socket_create
> > > > > Connecting /mnt/debugfs/ltt/markers/net/socket_bind
> > > > > Connecting /mnt/debugfs/ltt/markers/net/socket_connect
> > > > > Connecting /mnt/debugfs/ltt/markers/net/socket_listen
> > > > > Connecting /mnt/debugfs/ltt/markers/net/socket_accept
> > > > > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockname
> > > > > Connecting /mnt/debugfs/ltt/markers/net/socket_getpeername
> > > > > Connecting /mnt/debugfs/ltt/markers/net/socket_socketpair
> > > > > Connecting /mnt/debugfs/ltt/markers/net/socket_sendmsg
> > > > > Connecting /mnt/debugfs/ltt/markers/net/socket_recvmsg
> > > > > Connecting /mnt/debugfs/ltt/markers/net/socket_setsockopt
> > > > > Connecting /mnt/debugfs/ltt/markers/net/socket_getsockopt
> > > > > Connecting /mnt/debugfs/ltt/markers/net/socket_shutdown
> > > > > Connecting /mnt/debugfs/ltt/markers/net/socket_call
> > > > > Connecting /mnt/debugfs/ltt/markers/net/tcpv4_rcv
> > > > > Connecting /mnt/debugfs/ltt/markers/net/udpv4_rcv
> > > > > Connecting /mnt/debugfs/ltt/markers/net/napi_schedule
> > > > > Connecting /mnt/debugfs/ltt/markers/net/napi_poll
> > > > > Connecting /mnt/debugfs/ltt/markers/net/napi_complete
> > > > > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_pc
> > > > > Connecting /mnt/debugfs/ltt/markers/block/rq_abort_fs
> > > > > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_pc
> > > > > Connecting /mnt/debugfs/ltt/markers/block/rq_insert_fs
> > > > > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_pc
> > > > > Connecting /mnt/debugfs/ltt/markers/block/rq_issue_fs
> > > > > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_pc
> > > > > Connecting /mnt/debugfs/ltt/markers/block/rq_requeue_fs
> > > > > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_pc
> > > > > Connecting /mnt/debugfs/ltt/markers/block/rq_complete_fs
> > > > > Connecting /mnt/debugfs/ltt/markers/block/bio_bounce
> > > > > Connecting /mnt/debugfs/ltt/markers/block/bio_complete
> > > > > Connecting /mnt/debugfs/ltt/markers/block/bio_backmerge
> > > > > Connecting /mnt/debugfs/ltt/markers/block/bio_frontmerge
> > > > > Connecting /mnt/debugfs/ltt/markers/block/bio_queue
> > > > > Connecting /mnt/debugfs/ltt/markers/block/getrq_bio
> > > > > Connecting /mnt/debugfs/ltt/markers/block/getrq
> > > > > Connecting /mnt/debugfs/ltt/markers/block/sleeprq_bio
> > > > > Connecting /mnt/debugfs/ltt/markers/block/sleeprq
> > > > > Connecting /mnt/debugfs/ltt/markers/block/plug
> > > > > Connecting /mnt/debugfs/ltt/markers/block/unplug_io
> > > > > Connecting /mnt/debugfs/ltt/markers/block/unplug_timer
> > > > > Connecting /mnt/debugfs/ltt/markers/block/split
> > > > > Connecting /mnt/debugfs/ltt/markers/block/remap
> > > > > Connecting /mnt/debugfs/ltt/markers/userspace/event
> > > > > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv4
> > > > > Connecting /mnt/debugfs/ltt/markers/netif_state/del_ifa_ipv4
> > > > > Connecting /mnt/debugfs/ltt/markers/netif_state/insert_ifa_ipv6
> > > > > Connecting
> > /mnt/debugfs/ltt/markers/netif_state/network_ipv4_interface
> > > > > Connecting /mnt/debugfs/ltt/markers/netif_state/network_ip_interface
> > > > > Connecting /mnt/debugfs/ltt/markers/irq_state/interrupt
> > > > > Connecting /mnt/debugfs/ltt/markers/vm_state/vm_map
> > > > > Connecting /mnt/debugfs/ltt/markers/fd_state/file_descriptor
> > > > > Connecting /mnt/debugfs/ltt/markers/task_state/process_state
> > > > > Connecting /mnt/debugfs/ltt/markers/global_state/statedump_end
> > > > > Connecting /mnt/debugfs/ltt/markers/input/input_event
> > > > > Connecting /mnt/debugfs/ltt/markers/swap_state/statedump_swap_files
> > > > > Connecting /mnt/debugfs/ltt/markers/module_state/list_module
> > > > > Connecting /mnt/debugfs/ltt/markers/softirq_state/softirq_vec
> > > > > root at cavium-octeonplus:~# lttctl -C -w /tmp/trace1 trace1
> > > > > Linux Trace Toolkit Trace Control 0.78-04122009
> > > > >
> > > > > Controlling trace : trace1
> > > > >
> > > > > lttctl: Creating trace
> > > > > lttctl: Forking lttd
> > > > > Linux Trace Toolkit Trace Daemon 0.78-04122009
> > > > >
> > > > > Reading from debugfs directory : /mnt/debugfs/ltt/trace1
> > > > > Writing to trace directory : /tmp/trace1
> > > > >
> > > > > lttctl: Starting trace
> > > > > root at cavium-octeonplus:~# lttctl -D trace1
> > > > > Linux Trace Toolkit Trace Control 0.78-04122009
> > > > >
> > > > > Controlling trace : trace1
> > > > >
> > > > > lttctl: Pausing trace
> > > > > lttctl: Destroying trace
> > > > > LTT: 32 events written in channel softirq_state (cpu 0, index 0)
> > > > > LTT: 17 events written in channel module_state (cpu 0, index 0)
> > > > > LTT: 1 events written in channel global_state (cpu 0, index 0)
> > > > > LTT: 335 events written in channel task_state (cpu 0, index 0)
> > > > > LTT: 699 events written in channel fd_state (cpu 0, index 0)
> > > > > LTT: 429 events written in channel vm_state (cpu 0, index 0)
> > > > > LTT: 7 events written in channel irq_state (cpu 0, index 0)
> > > > > LTT: 10 events written in channel netif_state (cpu 0, index 0)
> > > > > LTT: 218 events written in channel net (cpu 0, index 0)
> > > > > LTT: 3 events written in channel net (cpu 1, index 0)
> > > > > LTT: 4 events written in channel net (cpu 2, index 0)
> > > > > LTT: 2881 events written in channel kernel (cpu 0, index 0)
> > > > > LTT: 663 events written in channel kernel (cpu 1, index 0)
> > > > > LTT: 731 events written in channel kernel (cpu 2, index 0)
> > > > > LTT: 88 events written in channel kernel (cpu 3, index 0)
> > > > > LTT: 77 events written in channel kernel (cpu 4, index 0)
> > > > > LTT: 89 events written in channel kernel (cpu 5, index 0)
> > > > > LTT: 98 events written in channel kernel (cpu 6, index 0)
> > > > > LTT: 78 events written in channel kernel (cpu 7, index 0)
> > > > > LTT: 208 events written in channel kernel (cpu 8, index 0)
> > > > > LTT: 75 events written in channel kernel (cpu 9, index 0)
> > > > > LTT: 75 events written in channel kernel (cpu 10, index 0)
> > > > > LTT: 88 events written in channel kernel (cpu 11, index 0)
> > > > > LTT: 93 events written in channel kernel (cpu 12, index 0)
> > > > > LTT: 95 events written in channel kernel (cpu 13, index 0)
> > > > > LTT: 62 events written in channel kernel (cpu 14, index 0)
> > > > > LTT: 64 events written in channel kernel (cpu 15, index 0)
> > > > > LTT: 44 events written in channel mm (cpu 0, index 0)
> > > > > LTT: 14 events written in channel mm (cpu 1, index 0)
> > > > > LTT: 41 events written in channel mm (cpu 2, index 0)
> > > > > LTT: 1 events written in channel mm (cpu 8, index 0)
> > > > > LTT: 253 events written in channel fs (cpu 0, index 0)
> > > > > LTT: 4 events written in channel fs (cpu 1, index 0)
> > > > > LTT: 31 events written in channel fs (cpu 2, index 0)
> > > > > LTT: 272 events written in channel fs (cpu 4, index 0)
> > > > > LTT: 8 events written in channel fs (cpu 8, index 0)
> > > > > LTT: 286 events written in channel metadata (cpu 0, index 0)
> > > > > root at cavium-octeonplus:~# lttv -m textDump -t /tmp/trace1/ >
> > > > > Log-trace-text-format.txt
> > > > >
> > > > > ** ERROR **: Process 2120 has been created at [0.000000000] and
> > inserted
> > > > at
> > > > > [92.895699903] before
> > > > > fork on cpu 0[94.290545440].
> > > > > Probably an unsynchronized TSC problem on the traced machine.
> > > > > aborting...
> > > > > Aborted
> > > > > root at cavium-octeonplus:~#
> > > >
> > > > --
> > > > Mathieu Desnoyers
> > > > Operating System Efficiency R&D Consultant
> > > > EfficiOS Inc.
> > > > http://www.efficios.com
> > > >
> >
> > --
> > Mathieu Desnoyers
> > Operating System Efficiency R&D Consultant
> > EfficiOS Inc.
> > http://www.efficios.com
> >
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
[not found] ` <BLU0-SMTP86B1C8A867AFBF486A0DEB96D00@phx.gbl>
@ 2011-02-14 17:48 ` David Daney
2011-02-14 19:43 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP381C9DC048B0AF55E0C00596D00@phx.gbl>
0 siblings, 2 replies; 34+ messages in thread
From: David Daney @ 2011-02-14 17:48 UTC (permalink / raw)
On 02/14/2011 06:39 AM, Mathieu Desnoyers wrote:
> [ Adding David Daney to CC list, as he may have info on Octeon CPUs with
> non-synchronized TSCs ]
>
> * Naresh Bhat (nareshgbhat at gmail.com) wrote:
>> Hi Mathieu,
>>
>> I have backported the patch and now TSC is enabled in my kernel and also I
>> am able to boot the kernel. But one thing I have observed is between single
>> core and multiple core boot logs is that as following
>>
I missed the patch.
However, I would note that at the time I submitted my MIPS patches to
Mathieu, LTTng seemed to be working well on multi-CPU Octeon systems.
[...]
>
> timex.h:
>
> static inline void write_tsc(u32 val1, u32 val2)
> {
> #ifndef CONFIG_CPU_CAVIUM_OCTEON
> write_c0_count(val1);
> #else
> write_c0_cvmcount(((unsigned long) val2<< 32UL) | (unsigned long) val1);
> #endif
> /* Arrange for an interrupt in a short while */
> write_c0_compare(read_c0_count() + DELAY_INTERRUPT);
> }
>
This is not correct. The main clocksource as well as sched_clock()
which is used by ftrace and the scheduler are all driven by c0_cvmcount.
We take great care to properly synchronize this counter across all
CPUs when they are brought on-line. Anything that sets this counter can
only make the synchronization worse, not better.
David Daney
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-14 17:48 ` David Daney
@ 2011-02-14 19:43 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP381C9DC048B0AF55E0C00596D00@phx.gbl>
1 sibling, 0 replies; 34+ messages in thread
From: Mathieu Desnoyers @ 2011-02-14 19:43 UTC (permalink / raw)
* David Daney (ddaney at caviumnetworks.com) wrote:
> On 02/14/2011 06:39 AM, Mathieu Desnoyers wrote:
>> [ Adding David Daney to CC list, as he may have info on Octeon CPUs with
>> non-synchronized TSCs ]
>>
>> * Naresh Bhat (nareshgbhat at gmail.com) wrote:
>>> Hi Mathieu,
>>>
>>> I have backported the patch and now TSC is enabled in my kernel and also I
>>> am able to boot the kernel. But one thing I have observed is between single
>>> core and multiple core boot logs is that as following
>>>
>
> I missed the patch.
>
> However, I would note that at the time I submitted my MIPS patches to
> Mathieu, LTTng seemed to be working well on multi-CPU Octeon systems.
>
>
> [...]
>>
>> timex.h:
>>
>> static inline void write_tsc(u32 val1, u32 val2)
>> {
>> #ifndef CONFIG_CPU_CAVIUM_OCTEON
>> write_c0_count(val1);
>> #else
>> write_c0_cvmcount(((unsigned long) val2<< 32UL) | (unsigned long) val1);
>> #endif
>> /* Arrange for an interrupt in a short while */
>> write_c0_compare(read_c0_count() + DELAY_INTERRUPT);
>> }
>>
>
> This is not correct. The main clocksource as well as sched_clock()
> which is used by ftrace and the scheduler are all driven by c0_cvmcount.
> We take great care to properly synchronize this counter across all CPUs
> when they are brought on-line. Anything that sets this counter can only
> make the synchronization worse, not better.
That's weird. Then I wonder why LTTng TSC synchronicity checker
complains about non-sync'd TSCs. The code is in kernel/time/tsc-sync.c.
It uses get_cycles() on each pair of cores. It gets run when a flag is
raised in memory for both cores of the pair.......
Ahhhh! I think I found it!
Naresh, can you try the following patch ?
MIPS: octeon fix get_cycles
Make sure get_cycles(), used by kernel/time/tsc-sync.c TSC synchronicity
checker, works fine on octeon by using the full 64-bits.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
---
arch/mips/Kconfig | 11 +++++++++--
arch/mips/include/asm/timex.h | 27 ++++++++++++++++++++++++++-
2 files changed, 35 insertions(+), 3 deletions(-)
Index: linux-2.6-lttng/arch/mips/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/mips/Kconfig
+++ linux-2.6-lttng/arch/mips/Kconfig
@@ -1949,9 +1949,16 @@ config CPU_R4400_WORKAROUNDS
config HAVE_GET_CYCLES_32
def_bool y
depends on !CPU_R4400_WORKAROUNDS
+ depends on !CPU_CAVIUM_OCTEON
select HAVE_TRACE_CLOCK
- select HAVE_TRACE_CLOCK_32_TO_64 if (!CPU_CAVIUM_OCTEON)
- select HAVE_UNSYNCHRONIZED_TSC if (!CPU_CAVIUM_OCTEON)
+ select HAVE_TRACE_CLOCK_32_TO_64
+ select HAVE_UNSYNCHRONIZED_TSC
+
+config HAVE_GET_CYCLES
+ def_bool y
+ depends on CPU_CAVIUM_OCTEON
+ select HAVE_TRACE_CLOCK
+ select HAVE_UNSYNCHRONIZED_TSC
#
# - Highmem only makes sense for the 32-bit kernel.
Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
===================================================================
--- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
+++ linux-2.6-lttng/arch/mips/include/asm/timex.h
@@ -42,9 +42,32 @@ extern unsigned int mips_hpt_frequency;
* will result in the timer interrupt getting lost.
*/
+#ifdef CONFIG_HAVE_GET_CYCLES
+typedef unsigned int cycles_t;
+
+static inline cycles_t get_cycles(void)
+{
+ return read_c0_cvmcount();
+}
+
+static inline void get_cycles_barrier(void)
+{
+}
+
+static inline cycles_t get_cycles_rate(void)
+{
+ return mips_hpt_frequency;
+}
+
+extern int test_tsc_synchronization(void);
+extern int _tsc_is_sync;
+static inline int tsc_is_sync(void)
+{
+ return _tsc_is_sync;
+}
+#elif defined(CONFIG_HAVE_GET_CYCLES_32)
typedef unsigned int cycles_t;
-#ifdef CONFIG_HAVE_GET_CYCLES_32
static inline cycles_t get_cycles(void)
{
return read_c0_count();
@@ -66,6 +89,8 @@ static inline int tsc_is_sync(void)
return _tsc_is_sync;
}
#else
+typedef unsigned int cycles_t;
+
static inline cycles_t get_cycles(void)
{
return 0;
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
[not found] ` <BLU0-SMTP381C9DC048B0AF55E0C00596D00@phx.gbl>
@ 2011-02-14 19:50 ` David Daney
2011-02-14 19:56 ` Mathieu Desnoyers
[not found] ` <20110214195622.GA18825@Krystal>
0 siblings, 2 replies; 34+ messages in thread
From: David Daney @ 2011-02-14 19:50 UTC (permalink / raw)
On 02/14/2011 11:43 AM, Mathieu Desnoyers wrote:
> Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
> ===================================================================
> --- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
> +++ linux-2.6-lttng/arch/mips/include/asm/timex.h
> @@ -42,9 +42,32 @@ extern unsigned int mips_hpt_frequency;
> * will result in the timer interrupt getting lost.
> */
>
> +#ifdef CONFIG_HAVE_GET_CYCLES
> +typedef unsigned int cycles_t;
> +
> +static inline cycles_t get_cycles(void)
> +{
> + return read_c0_cvmcount();
> +}
c0_cvmcount is not a standard register. It is an implementation defined
extension to mips64r2, therefore its use should be gated by:
#ifdef CONFIG_CPU_CAVIUM_OCTEON
David Daney
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-14 19:50 ` David Daney
@ 2011-02-14 19:56 ` Mathieu Desnoyers
[not found] ` <20110214195622.GA18825@Krystal>
1 sibling, 0 replies; 34+ messages in thread
From: Mathieu Desnoyers @ 2011-02-14 19:56 UTC (permalink / raw)
* David Daney (ddaney at caviumnetworks.com) wrote:
> On 02/14/2011 11:43 AM, Mathieu Desnoyers wrote:
>
>> Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
>> ===================================================================
>> --- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
>> +++ linux-2.6-lttng/arch/mips/include/asm/timex.h
>> @@ -42,9 +42,32 @@ extern unsigned int mips_hpt_frequency;
>> * will result in the timer interrupt getting lost.
>> */
>>
>> +#ifdef CONFIG_HAVE_GET_CYCLES
>> +typedef unsigned int cycles_t;
>> +
>> +static inline cycles_t get_cycles(void)
>> +{
>> + return read_c0_cvmcount();
>> +}
>
>
> c0_cvmcount is not a standard register. It is an implementation defined
> extension to mips64r2, therefore its use should be gated by:
>
> #ifdef CONFIG_CPU_CAVIUM_OCTEON
It actually is, thanks to the following Kconfig dep:
+config HAVE_GET_CYCLES
+ def_bool y
+ depends on CPU_CAVIUM_OCTEON
[...]
But maybe is that a bit misleading for the future ?
Thanks,
Mathieu
>
> David Daney
>
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
[not found] ` <20110214195622.GA18825@Krystal>
@ 2011-02-15 3:32 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP25F09381155A8E4CF8878B96D30@phx.gbl>
1 sibling, 0 replies; 34+ messages in thread
From: Mathieu Desnoyers @ 2011-02-15 3:32 UTC (permalink / raw)
Is the following patch less confusing ?
MIPS: octeon fix get_cycles
Make sure get_cycles(), used by kernel/time/tsc-sync.c TSC synchronicity
checker, works fine on octeon by using the full 64-bits.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
---
arch/mips/Kconfig | 11 +++++++++--
arch/mips/include/asm/timex.h | 31 ++++++++++++++++++++++++++++++-
2 files changed, 39 insertions(+), 3 deletions(-)
Index: linux-2.6-lttng/arch/mips/Kconfig
===================================================================
--- linux-2.6-lttng.orig/arch/mips/Kconfig
+++ linux-2.6-lttng/arch/mips/Kconfig
@@ -1949,9 +1949,16 @@ config CPU_R4400_WORKAROUNDS
config HAVE_GET_CYCLES_32
def_bool y
depends on !CPU_R4400_WORKAROUNDS
+ depends on !CPU_CAVIUM_OCTEON
select HAVE_TRACE_CLOCK
- select HAVE_TRACE_CLOCK_32_TO_64 if (!CPU_CAVIUM_OCTEON)
- select HAVE_UNSYNCHRONIZED_TSC if (!CPU_CAVIUM_OCTEON)
+ select HAVE_TRACE_CLOCK_32_TO_64
+ select HAVE_UNSYNCHRONIZED_TSC
+
+config HAVE_GET_CYCLES
+ def_bool y
+ depends on CPU_CAVIUM_OCTEON
+ select HAVE_TRACE_CLOCK
+ select HAVE_UNSYNCHRONIZED_TSC
#
# - Highmem only makes sense for the 32-bit kernel.
Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
===================================================================
--- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
+++ linux-2.6-lttng/arch/mips/include/asm/timex.h
@@ -42,9 +42,36 @@ extern unsigned int mips_hpt_frequency;
* will result in the timer interrupt getting lost.
*/
+#ifdef CONFIG_HAVE_GET_CYCLES
+# ifdef CONFIG_CPU_CAVIUM_OCTEON
+typedef unsigned int cycles_t;
+
+static inline cycles_t get_cycles(void)
+{
+ return read_c0_cvmcount();
+}
+
+static inline void get_cycles_barrier(void)
+{
+}
+
+static inline cycles_t get_cycles_rate(void)
+{
+ return mips_hpt_frequency;
+}
+
+extern int test_tsc_synchronization(void);
+extern int _tsc_is_sync;
+static inline int tsc_is_sync(void)
+{
+ return _tsc_is_sync;
+}
+# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+# error "64-bit get_cycles() supported only on Cavium Octeon MIPS architectures"
+# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+#elif defined(CONFIG_HAVE_GET_CYCLES_32)
typedef unsigned int cycles_t;
-#ifdef CONFIG_HAVE_GET_CYCLES_32
static inline cycles_t get_cycles(void)
{
return read_c0_count();
@@ -66,6 +93,8 @@ static inline int tsc_is_sync(void)
return _tsc_is_sync;
}
#else
+typedef unsigned int cycles_t;
+
static inline cycles_t get_cycles(void)
{
return 0;
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
[not found] ` <BLU0-SMTP25F09381155A8E4CF8878B96D30@phx.gbl>
@ 2011-02-15 13:30 ` Naresh Bhat
2011-02-15 13:30 ` Naresh Bhat
` (3 more replies)
0 siblings, 4 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-15 13:30 UTC (permalink / raw)
Hi Mathieu/David,
Thank you very much. The patch is applied without any issues. But facing the
linking errors. Is there any configuration missing in Kconfig ?
*
Thanks and Regards
-Naresh Bhat*
*
Linking error log:*
========================================================================================================
..................
......................
..............................
AR arch/mips/lib/lib.a
LD vmlinux.o
MODPOST vmlinux.o
GEN .version
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
ltt/built-in.o: In function `ltt_trace_destroy':
(.text.ltt_trace_destroy+0x6c): undefined reference to `put_synthetic_tsc'
ltt/built-in.o: In function `ltt_trace_alloc':
(.text.ltt_trace_alloc+0x5c): undefined reference to `get_synthetic_tsc'
ltt/built-in.o: In function `ltt_trace_alloc':
(.text.ltt_trace_alloc+0x164): undefined reference to
`trace_clock_read_synthetic_tsc'
ltt/built-in.o: In function `ltt_trace_alloc':
(.text.ltt_trace_alloc+0x454): undefined reference to `put_synthetic_tsc'
ltt/built-in.o: In function `ltt_trace_alloc':
(.text.ltt_trace_alloc+0x4b4): undefined reference to `put_synthetic_tsc'
ltt/built-in.o: In function `ltt_trace_alloc':
(.text.ltt_trace_alloc+0x4f8): undefined reference to `put_synthetic_tsc'
ltt/built-in.o: In function `ltt_reserve_slot_lockless_slow':
(.text.ltt_reserve_slot_lockless_slow+0xa8): undefined reference to
`trace_clock_read_synthetic_tsc'
ltt/built-in.o: In function `ltt_force_switch_lockless_slow':
(.text.ltt_force_switch_lockless_slow+0x44): undefined reference to
`trace_clock_read_synthetic_tsc'
ltt/built-in.o: In function `_ltt_specialized_trace':
(.text._ltt_specialized_trace+0x1cc): undefined reference to
`trace_clock_read_synthetic_tsc'
make: *** [.tmp_vmlinux1] Error 1
#
==============================================================================================
===
On Tue, Feb 15, 2011 at 9:02 AM, Mathieu Desnoyers <
compudj at krystal.dyndns.org> wrote:
> Is the following patch less confusing ?
>
>
> MIPS: octeon fix get_cycles
>
> Make sure get_cycles(), used by kernel/time/tsc-sync.c TSC synchronicity
> checker, works fine on octeon by using the full 64-bits.
>
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> ---
> arch/mips/Kconfig | 11 +++++++++--
> arch/mips/include/asm/timex.h | 31 ++++++++++++++++++++++++++++++-
> 2 files changed, 39 insertions(+), 3 deletions(-)
>
> Index: linux-2.6-lttng/arch/mips/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/mips/Kconfig
> +++ linux-2.6-lttng/arch/mips/Kconfig
> @@ -1949,9 +1949,16 @@ config CPU_R4400_WORKAROUNDS
> config HAVE_GET_CYCLES_32
> def_bool y
> depends on !CPU_R4400_WORKAROUNDS
> + depends on !CPU_CAVIUM_OCTEON
> select HAVE_TRACE_CLOCK
> - select HAVE_TRACE_CLOCK_32_TO_64 if (!CPU_CAVIUM_OCTEON)
> - select HAVE_UNSYNCHRONIZED_TSC if (!CPU_CAVIUM_OCTEON)
> + select HAVE_TRACE_CLOCK_32_TO_64
> + select HAVE_UNSYNCHRONIZED_TSC
> +
> +config HAVE_GET_CYCLES
> + def_bool y
> + depends on CPU_CAVIUM_OCTEON
> + select HAVE_TRACE_CLOCK
> + select HAVE_UNSYNCHRONIZED_TSC
>
> #
> # - Highmem only makes sense for the 32-bit kernel.
> Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
> ===================================================================
> --- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
> +++ linux-2.6-lttng/arch/mips/include/asm/timex.h
> @@ -42,9 +42,36 @@ extern unsigned int mips_hpt_frequency;
> * will result in the timer interrupt getting lost.
> */
>
> +#ifdef CONFIG_HAVE_GET_CYCLES
> +# ifdef CONFIG_CPU_CAVIUM_OCTEON
> +typedef unsigned int cycles_t;
> +
> +static inline cycles_t get_cycles(void)
> +{
> + return read_c0_cvmcount();
> +}
> +
> +static inline void get_cycles_barrier(void)
> +{
> +}
> +
> +static inline cycles_t get_cycles_rate(void)
> +{
> + return mips_hpt_frequency;
> +}
> +
> +extern int test_tsc_synchronization(void);
> +extern int _tsc_is_sync;
> +static inline int tsc_is_sync(void)
> +{
> + return _tsc_is_sync;
> +}
> +# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> +# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
> architectures"
> +# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> +#elif defined(CONFIG_HAVE_GET_CYCLES_32)
> typedef unsigned int cycles_t;
>
> -#ifdef CONFIG_HAVE_GET_CYCLES_32
> static inline cycles_t get_cycles(void)
> {
> return read_c0_count();
> @@ -66,6 +93,8 @@ static inline int tsc_is_sync(void)
> return _tsc_is_sync;
> }
> #else
> +typedef unsigned int cycles_t;
> +
> static inline cycles_t get_cycles(void)
> {
> return 0;
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110215/1ee45571/attachment-0002.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-15 13:30 ` Naresh Bhat
@ 2011-02-15 13:30 ` Naresh Bhat
2011-02-15 13:30 ` Naresh Bhat
` (2 subsequent siblings)
3 siblings, 0 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-15 13:30 UTC (permalink / raw)
Hi Mathieu/David,
Thank you very much. The patch is applied without any issues. But facing the
linking errors. Is there any configuration missing in Kconfig ?
*
Thanks and Regards
-Naresh Bhat*
*
Linking error log:*
========================================================================================================
..................
......................
..............................
AR arch/mips/lib/lib.a
LD vmlinux.o
MODPOST vmlinux.o
GEN .version
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
ltt/built-in.o: In function `ltt_trace_destroy':
(.text.ltt_trace_destroy+0x6c): undefined reference to `put_synthetic_tsc'
ltt/built-in.o: In function `ltt_trace_alloc':
(.text.ltt_trace_alloc+0x5c): undefined reference to `get_synthetic_tsc'
ltt/built-in.o: In function `ltt_trace_alloc':
(.text.ltt_trace_alloc+0x164): undefined reference to
`trace_clock_read_synthetic_tsc'
ltt/built-in.o: In function `ltt_trace_alloc':
(.text.ltt_trace_alloc+0x454): undefined reference to `put_synthetic_tsc'
ltt/built-in.o: In function `ltt_trace_alloc':
(.text.ltt_trace_alloc+0x4b4): undefined reference to `put_synthetic_tsc'
ltt/built-in.o: In function `ltt_trace_alloc':
(.text.ltt_trace_alloc+0x4f8): undefined reference to `put_synthetic_tsc'
ltt/built-in.o: In function `ltt_reserve_slot_lockless_slow':
(.text.ltt_reserve_slot_lockless_slow+0xa8): undefined reference to
`trace_clock_read_synthetic_tsc'
ltt/built-in.o: In function `ltt_force_switch_lockless_slow':
(.text.ltt_force_switch_lockless_slow+0x44): undefined reference to
`trace_clock_read_synthetic_tsc'
ltt/built-in.o: In function `_ltt_specialized_trace':
(.text._ltt_specialized_trace+0x1cc): undefined reference to
`trace_clock_read_synthetic_tsc'
make: *** [.tmp_vmlinux1] Error 1
#
==============================================================================================
===
On Tue, Feb 15, 2011 at 9:02 AM, Mathieu Desnoyers <
compudj at krystal.dyndns.org> wrote:
> Is the following patch less confusing ?
>
>
> MIPS: octeon fix get_cycles
>
> Make sure get_cycles(), used by kernel/time/tsc-sync.c TSC synchronicity
> checker, works fine on octeon by using the full 64-bits.
>
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> ---
> arch/mips/Kconfig | 11 +++++++++--
> arch/mips/include/asm/timex.h | 31 ++++++++++++++++++++++++++++++-
> 2 files changed, 39 insertions(+), 3 deletions(-)
>
> Index: linux-2.6-lttng/arch/mips/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/mips/Kconfig
> +++ linux-2.6-lttng/arch/mips/Kconfig
> @@ -1949,9 +1949,16 @@ config CPU_R4400_WORKAROUNDS
> config HAVE_GET_CYCLES_32
> def_bool y
> depends on !CPU_R4400_WORKAROUNDS
> + depends on !CPU_CAVIUM_OCTEON
> select HAVE_TRACE_CLOCK
> - select HAVE_TRACE_CLOCK_32_TO_64 if (!CPU_CAVIUM_OCTEON)
> - select HAVE_UNSYNCHRONIZED_TSC if (!CPU_CAVIUM_OCTEON)
> + select HAVE_TRACE_CLOCK_32_TO_64
> + select HAVE_UNSYNCHRONIZED_TSC
> +
> +config HAVE_GET_CYCLES
> + def_bool y
> + depends on CPU_CAVIUM_OCTEON
> + select HAVE_TRACE_CLOCK
> + select HAVE_UNSYNCHRONIZED_TSC
>
> #
> # - Highmem only makes sense for the 32-bit kernel.
> Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
> ===================================================================
> --- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
> +++ linux-2.6-lttng/arch/mips/include/asm/timex.h
> @@ -42,9 +42,36 @@ extern unsigned int mips_hpt_frequency;
> * will result in the timer interrupt getting lost.
> */
>
> +#ifdef CONFIG_HAVE_GET_CYCLES
> +# ifdef CONFIG_CPU_CAVIUM_OCTEON
> +typedef unsigned int cycles_t;
> +
> +static inline cycles_t get_cycles(void)
> +{
> + return read_c0_cvmcount();
> +}
> +
> +static inline void get_cycles_barrier(void)
> +{
> +}
> +
> +static inline cycles_t get_cycles_rate(void)
> +{
> + return mips_hpt_frequency;
> +}
> +
> +extern int test_tsc_synchronization(void);
> +extern int _tsc_is_sync;
> +static inline int tsc_is_sync(void)
> +{
> + return _tsc_is_sync;
> +}
> +# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> +# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
> architectures"
> +# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> +#elif defined(CONFIG_HAVE_GET_CYCLES_32)
> typedef unsigned int cycles_t;
>
> -#ifdef CONFIG_HAVE_GET_CYCLES_32
> static inline cycles_t get_cycles(void)
> {
> return read_c0_count();
> @@ -66,6 +93,8 @@ static inline int tsc_is_sync(void)
> return _tsc_is_sync;
> }
> #else
> +typedef unsigned int cycles_t;
> +
> static inline cycles_t get_cycles(void)
> {
> return 0;
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110215/1ee45571/attachment-0003.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-15 13:30 ` Naresh Bhat
2011-02-15 13:30 ` Naresh Bhat
@ 2011-02-15 13:30 ` Naresh Bhat
2011-02-15 14:05 ` Mathieu Desnoyers
2011-02-15 14:05 ` Naresh Bhat
3 siblings, 0 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-15 13:30 UTC (permalink / raw)
Hi Mathieu/David,
Thank you very much. The patch is applied without any issues. But facing the
linking errors. Is there any configuration missing in Kconfig ?
*
Thanks and Regards
-Naresh Bhat*
*
Linking error log:*
========================================================================================================
..................
......................
..............................
AR arch/mips/lib/lib.a
LD vmlinux.o
MODPOST vmlinux.o
GEN .version
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
ltt/built-in.o: In function `ltt_trace_destroy':
(.text.ltt_trace_destroy+0x6c): undefined reference to `put_synthetic_tsc'
ltt/built-in.o: In function `ltt_trace_alloc':
(.text.ltt_trace_alloc+0x5c): undefined reference to `get_synthetic_tsc'
ltt/built-in.o: In function `ltt_trace_alloc':
(.text.ltt_trace_alloc+0x164): undefined reference to
`trace_clock_read_synthetic_tsc'
ltt/built-in.o: In function `ltt_trace_alloc':
(.text.ltt_trace_alloc+0x454): undefined reference to `put_synthetic_tsc'
ltt/built-in.o: In function `ltt_trace_alloc':
(.text.ltt_trace_alloc+0x4b4): undefined reference to `put_synthetic_tsc'
ltt/built-in.o: In function `ltt_trace_alloc':
(.text.ltt_trace_alloc+0x4f8): undefined reference to `put_synthetic_tsc'
ltt/built-in.o: In function `ltt_reserve_slot_lockless_slow':
(.text.ltt_reserve_slot_lockless_slow+0xa8): undefined reference to
`trace_clock_read_synthetic_tsc'
ltt/built-in.o: In function `ltt_force_switch_lockless_slow':
(.text.ltt_force_switch_lockless_slow+0x44): undefined reference to
`trace_clock_read_synthetic_tsc'
ltt/built-in.o: In function `_ltt_specialized_trace':
(.text._ltt_specialized_trace+0x1cc): undefined reference to
`trace_clock_read_synthetic_tsc'
make: *** [.tmp_vmlinux1] Error 1
#
==============================================================================================
===
On Tue, Feb 15, 2011 at 9:02 AM, Mathieu Desnoyers <
compudj at krystal.dyndns.org> wrote:
> Is the following patch less confusing ?
>
>
> MIPS: octeon fix get_cycles
>
> Make sure get_cycles(), used by kernel/time/tsc-sync.c TSC synchronicity
> checker, works fine on octeon by using the full 64-bits.
>
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> ---
> arch/mips/Kconfig | 11 +++++++++--
> arch/mips/include/asm/timex.h | 31 ++++++++++++++++++++++++++++++-
> 2 files changed, 39 insertions(+), 3 deletions(-)
>
> Index: linux-2.6-lttng/arch/mips/Kconfig
> ===================================================================
> --- linux-2.6-lttng.orig/arch/mips/Kconfig
> +++ linux-2.6-lttng/arch/mips/Kconfig
> @@ -1949,9 +1949,16 @@ config CPU_R4400_WORKAROUNDS
> config HAVE_GET_CYCLES_32
> def_bool y
> depends on !CPU_R4400_WORKAROUNDS
> + depends on !CPU_CAVIUM_OCTEON
> select HAVE_TRACE_CLOCK
> - select HAVE_TRACE_CLOCK_32_TO_64 if (!CPU_CAVIUM_OCTEON)
> - select HAVE_UNSYNCHRONIZED_TSC if (!CPU_CAVIUM_OCTEON)
> + select HAVE_TRACE_CLOCK_32_TO_64
> + select HAVE_UNSYNCHRONIZED_TSC
> +
> +config HAVE_GET_CYCLES
> + def_bool y
> + depends on CPU_CAVIUM_OCTEON
> + select HAVE_TRACE_CLOCK
> + select HAVE_UNSYNCHRONIZED_TSC
>
> #
> # - Highmem only makes sense for the 32-bit kernel.
> Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
> ===================================================================
> --- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
> +++ linux-2.6-lttng/arch/mips/include/asm/timex.h
> @@ -42,9 +42,36 @@ extern unsigned int mips_hpt_frequency;
> * will result in the timer interrupt getting lost.
> */
>
> +#ifdef CONFIG_HAVE_GET_CYCLES
> +# ifdef CONFIG_CPU_CAVIUM_OCTEON
> +typedef unsigned int cycles_t;
> +
> +static inline cycles_t get_cycles(void)
> +{
> + return read_c0_cvmcount();
> +}
> +
> +static inline void get_cycles_barrier(void)
> +{
> +}
> +
> +static inline cycles_t get_cycles_rate(void)
> +{
> + return mips_hpt_frequency;
> +}
> +
> +extern int test_tsc_synchronization(void);
> +extern int _tsc_is_sync;
> +static inline int tsc_is_sync(void)
> +{
> + return _tsc_is_sync;
> +}
> +# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> +# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
> architectures"
> +# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> +#elif defined(CONFIG_HAVE_GET_CYCLES_32)
> typedef unsigned int cycles_t;
>
> -#ifdef CONFIG_HAVE_GET_CYCLES_32
> static inline cycles_t get_cycles(void)
> {
> return read_c0_count();
> @@ -66,6 +93,8 @@ static inline int tsc_is_sync(void)
> return _tsc_is_sync;
> }
> #else
> +typedef unsigned int cycles_t;
> +
> static inline cycles_t get_cycles(void)
> {
> return 0;
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/ltt-dev/attachments/20110215/1ee45571/attachment.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-15 13:30 ` Naresh Bhat
2011-02-15 13:30 ` Naresh Bhat
2011-02-15 13:30 ` Naresh Bhat
@ 2011-02-15 14:05 ` Mathieu Desnoyers
2011-02-15 14:05 ` Naresh Bhat
3 siblings, 0 replies; 34+ messages in thread
From: Mathieu Desnoyers @ 2011-02-15 14:05 UTC (permalink / raw)
* Naresh Bhat (nareshgbhat at gmail.com) wrote:
> Hi Mathieu/David,
>
> Thank you very much. The patch is applied without any issues. But facing the
> linking errors. Is there any configuration missing in Kconfig ?
Can you send me your updated .config ?
Thanks,
Mathieu
> *
> Thanks and Regards
> -Naresh Bhat*
> *
> Linking error log:*
>
> ========================================================================================================
> ..................
> ......................
> ..............................
> AR arch/mips/lib/lib.a
> LD vmlinux.o
> MODPOST vmlinux.o
> GEN .version
> CHK include/linux/compile.h
> UPD include/linux/compile.h
> CC init/version.o
> LD init/built-in.o
> LD .tmp_vmlinux1
> ltt/built-in.o: In function `ltt_trace_destroy':
> (.text.ltt_trace_destroy+0x6c): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x5c): undefined reference to `get_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x164): undefined reference to
> `trace_clock_read_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x454): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x4b4): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x4f8): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_reserve_slot_lockless_slow':
> (.text.ltt_reserve_slot_lockless_slow+0xa8): undefined reference to
> `trace_clock_read_synthetic_tsc'
> ltt/built-in.o: In function `ltt_force_switch_lockless_slow':
> (.text.ltt_force_switch_lockless_slow+0x44): undefined reference to
> `trace_clock_read_synthetic_tsc'
> ltt/built-in.o: In function `_ltt_specialized_trace':
> (.text._ltt_specialized_trace+0x1cc): undefined reference to
> `trace_clock_read_synthetic_tsc'
> make: *** [.tmp_vmlinux1] Error 1
> #
> ==============================================================================================
> ===
>
>
> On Tue, Feb 15, 2011 at 9:02 AM, Mathieu Desnoyers <
> compudj at krystal.dyndns.org> wrote:
>
> > Is the following patch less confusing ?
> >
> >
> > MIPS: octeon fix get_cycles
> >
> > Make sure get_cycles(), used by kernel/time/tsc-sync.c TSC synchronicity
> > checker, works fine on octeon by using the full 64-bits.
> >
> > Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> > ---
> > arch/mips/Kconfig | 11 +++++++++--
> > arch/mips/include/asm/timex.h | 31 ++++++++++++++++++++++++++++++-
> > 2 files changed, 39 insertions(+), 3 deletions(-)
> >
> > Index: linux-2.6-lttng/arch/mips/Kconfig
> > ===================================================================
> > --- linux-2.6-lttng.orig/arch/mips/Kconfig
> > +++ linux-2.6-lttng/arch/mips/Kconfig
> > @@ -1949,9 +1949,16 @@ config CPU_R4400_WORKAROUNDS
> > config HAVE_GET_CYCLES_32
> > def_bool y
> > depends on !CPU_R4400_WORKAROUNDS
> > + depends on !CPU_CAVIUM_OCTEON
> > select HAVE_TRACE_CLOCK
> > - select HAVE_TRACE_CLOCK_32_TO_64 if (!CPU_CAVIUM_OCTEON)
> > - select HAVE_UNSYNCHRONIZED_TSC if (!CPU_CAVIUM_OCTEON)
> > + select HAVE_TRACE_CLOCK_32_TO_64
> > + select HAVE_UNSYNCHRONIZED_TSC
> > +
> > +config HAVE_GET_CYCLES
> > + def_bool y
> > + depends on CPU_CAVIUM_OCTEON
> > + select HAVE_TRACE_CLOCK
> > + select HAVE_UNSYNCHRONIZED_TSC
> >
> > #
> > # - Highmem only makes sense for the 32-bit kernel.
> > Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
> > ===================================================================
> > --- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
> > +++ linux-2.6-lttng/arch/mips/include/asm/timex.h
> > @@ -42,9 +42,36 @@ extern unsigned int mips_hpt_frequency;
> > * will result in the timer interrupt getting lost.
> > */
> >
> > +#ifdef CONFIG_HAVE_GET_CYCLES
> > +# ifdef CONFIG_CPU_CAVIUM_OCTEON
> > +typedef unsigned int cycles_t;
> > +
> > +static inline cycles_t get_cycles(void)
> > +{
> > + return read_c0_cvmcount();
> > +}
> > +
> > +static inline void get_cycles_barrier(void)
> > +{
> > +}
> > +
> > +static inline cycles_t get_cycles_rate(void)
> > +{
> > + return mips_hpt_frequency;
> > +}
> > +
> > +extern int test_tsc_synchronization(void);
> > +extern int _tsc_is_sync;
> > +static inline int tsc_is_sync(void)
> > +{
> > + return _tsc_is_sync;
> > +}
> > +# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> > +# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
> > architectures"
> > +# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> > +#elif defined(CONFIG_HAVE_GET_CYCLES_32)
> > typedef unsigned int cycles_t;
> >
> > -#ifdef CONFIG_HAVE_GET_CYCLES_32
> > static inline cycles_t get_cycles(void)
> > {
> > return read_c0_count();
> > @@ -66,6 +93,8 @@ static inline int tsc_is_sync(void)
> > return _tsc_is_sync;
> > }
> > #else
> > +typedef unsigned int cycles_t;
> > +
> > static inline cycles_t get_cycles(void)
> > {
> > return 0;
> > --
> > Mathieu Desnoyers
> > Operating System Efficiency R&D Consultant
> > EfficiOS Inc.
> > http://www.efficios.com
> >
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-15 13:30 ` Naresh Bhat
` (2 preceding siblings ...)
2011-02-15 14:05 ` Mathieu Desnoyers
@ 2011-02-15 14:05 ` Naresh Bhat
2011-02-15 14:05 ` Naresh Bhat
` (3 more replies)
3 siblings, 4 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-15 14:05 UTC (permalink / raw)
Hi Mathieu/David,
The compilation issue is solved and I am able to run the lttng on 2.6.32
kernel with 0.188 patch set on Octeon board. I have fully applied your last
patch and partially applied the earlier patch.
*
Thanks and Regards
-Naresh Bhat*
On Tue, Feb 15, 2011 at 7:00 PM, Naresh Bhat <nareshgbhat at gmail.com> wrote:
> Hi Mathieu/David,
>
> Thank you very much. The patch is applied without any issues. But facing
> the linking errors. Is there any configuration missing in Kconfig ?
>
> *
> Thanks and Regards
> -Naresh Bhat*
> *
> Linking error log:*
>
>
> ========================================================================================================
> ..................
> ......................
> ..............................
> AR arch/mips/lib/lib.a
> LD vmlinux.o
> MODPOST vmlinux.o
> GEN .version
> CHK include/linux/compile.h
> UPD include/linux/compile.h
> CC init/version.o
> LD init/built-in.o
> LD .tmp_vmlinux1
> ltt/built-in.o: In function `ltt_trace_destroy':
> (.text.ltt_trace_destroy+0x6c): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x5c): undefined reference to `get_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x164): undefined reference to
> `trace_clock_read_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x454): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x4b4): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x4f8): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_reserve_slot_lockless_slow':
> (.text.ltt_reserve_slot_lockless_slow+0xa8): undefined reference to
> `trace_clock_read_synthetic_tsc'
> ltt/built-in.o: In function `ltt_force_switch_lockless_slow':
> (.text.ltt_force_switch_lockless_slow+0x44): undefined reference to
> `trace_clock_read_synthetic_tsc'
> ltt/built-in.o: In function `_ltt_specialized_trace':
> (.text._ltt_specialized_trace+0x1cc): undefined reference to
> `trace_clock_read_synthetic_tsc'
> make: *** [.tmp_vmlinux1] Error 1
> #
>
> ==============================================================================================
> ===
>
>
>
> On Tue, Feb 15, 2011 at 9:02 AM, Mathieu Desnoyers <
> compudj at krystal.dyndns.org> wrote:
>
>> Is the following patch less confusing ?
>>
>>
>> MIPS: octeon fix get_cycles
>>
>> Make sure get_cycles(), used by kernel/time/tsc-sync.c TSC synchronicity
>> checker, works fine on octeon by using the full 64-bits.
>>
>> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
>> ---
>> arch/mips/Kconfig | 11 +++++++++--
>> arch/mips/include/asm/timex.h | 31 ++++++++++++++++++++++++++++++-
>> 2 files changed, 39 insertions(+), 3 deletions(-)
>>
>> Index: linux-2.6-lttng/arch/mips/Kconfig
>> ===================================================================
>> --- linux-2.6-lttng.orig/arch/mips/Kconfig
>> +++ linux-2.6-lttng/arch/mips/Kconfig
>> @@ -1949,9 +1949,16 @@ config CPU_R4400_WORKAROUNDS
>> config HAVE_GET_CYCLES_32
>> def_bool y
>> depends on !CPU_R4400_WORKAROUNDS
>> + depends on !CPU_CAVIUM_OCTEON
>> select HAVE_TRACE_CLOCK
>> - select HAVE_TRACE_CLOCK_32_TO_64 if (!CPU_CAVIUM_OCTEON)
>> - select HAVE_UNSYNCHRONIZED_TSC if (!CPU_CAVIUM_OCTEON)
>> + select HAVE_TRACE_CLOCK_32_TO_64
>> + select HAVE_UNSYNCHRONIZED_TSC
>> +
>> +config HAVE_GET_CYCLES
>> + def_bool y
>> + depends on CPU_CAVIUM_OCTEON
>> + select HAVE_TRACE_CLOCK
>> + select HAVE_UNSYNCHRONIZED_TSC
>>
>> #
>> # - Highmem only makes sense for the 32-bit kernel.
>> Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
>> ===================================================================
>> --- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
>> +++ linux-2.6-lttng/arch/mips/include/asm/timex.h
>> @@ -42,9 +42,36 @@ extern unsigned int mips_hpt_frequency;
>> * will result in the timer interrupt getting lost.
>> */
>>
>> +#ifdef CONFIG_HAVE_GET_CYCLES
>> +# ifdef CONFIG_CPU_CAVIUM_OCTEON
>> +typedef unsigned int cycles_t;
>> +
>> +static inline cycles_t get_cycles(void)
>> +{
>> + return read_c0_cvmcount();
>> +}
>> +
>> +static inline void get_cycles_barrier(void)
>> +{
>> +}
>> +
>> +static inline cycles_t get_cycles_rate(void)
>> +{
>> + return mips_hpt_frequency;
>> +}
>> +
>> +extern int test_tsc_synchronization(void);
>> +extern int _tsc_is_sync;
>> +static inline int tsc_is_sync(void)
>> +{
>> + return _tsc_is_sync;
>> +}
>> +# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
>> +# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
>> architectures"
>> +# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
>> +#elif defined(CONFIG_HAVE_GET_CYCLES_32)
>> typedef unsigned int cycles_t;
>>
>> -#ifdef CONFIG_HAVE_GET_CYCLES_32
>> static inline cycles_t get_cycles(void)
>> {
>> return read_c0_count();
>> @@ -66,6 +93,8 @@ static inline int tsc_is_sync(void)
>> return _tsc_is_sync;
>> }
>> #else
>> +typedef unsigned int cycles_t;
>> +
>> static inline cycles_t get_cycles(void)
>> {
>> return 0;
>> --
>> Mathieu Desnoyers
>> Operating System Efficiency R&D Consultant
>> EfficiOS Inc.
>> http://www.efficios.com
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110215/6c9ac136/attachment-0003.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-15 14:05 ` Naresh Bhat
2011-02-15 14:05 ` Naresh Bhat
@ 2011-02-15 14:05 ` Naresh Bhat
2011-02-15 14:09 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP89B659A630D5B5735DB78696D30@phx.gbl>
3 siblings, 0 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-15 14:05 UTC (permalink / raw)
Hi Mathieu/David,
The compilation issue is solved and I am able to run the lttng on 2.6.32
kernel with 0.188 patch set on Octeon board. I have fully applied your last
patch and partially applied the earlier patch.
*
Thanks and Regards
-Naresh Bhat*
On Tue, Feb 15, 2011 at 7:00 PM, Naresh Bhat <nareshgbhat at gmail.com> wrote:
> Hi Mathieu/David,
>
> Thank you very much. The patch is applied without any issues. But facing
> the linking errors. Is there any configuration missing in Kconfig ?
>
> *
> Thanks and Regards
> -Naresh Bhat*
> *
> Linking error log:*
>
>
> ========================================================================================================
> ..................
> ......................
> ..............................
> AR arch/mips/lib/lib.a
> LD vmlinux.o
> MODPOST vmlinux.o
> GEN .version
> CHK include/linux/compile.h
> UPD include/linux/compile.h
> CC init/version.o
> LD init/built-in.o
> LD .tmp_vmlinux1
> ltt/built-in.o: In function `ltt_trace_destroy':
> (.text.ltt_trace_destroy+0x6c): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x5c): undefined reference to `get_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x164): undefined reference to
> `trace_clock_read_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x454): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x4b4): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x4f8): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_reserve_slot_lockless_slow':
> (.text.ltt_reserve_slot_lockless_slow+0xa8): undefined reference to
> `trace_clock_read_synthetic_tsc'
> ltt/built-in.o: In function `ltt_force_switch_lockless_slow':
> (.text.ltt_force_switch_lockless_slow+0x44): undefined reference to
> `trace_clock_read_synthetic_tsc'
> ltt/built-in.o: In function `_ltt_specialized_trace':
> (.text._ltt_specialized_trace+0x1cc): undefined reference to
> `trace_clock_read_synthetic_tsc'
> make: *** [.tmp_vmlinux1] Error 1
> #
>
> ==============================================================================================
> ===
>
>
>
> On Tue, Feb 15, 2011 at 9:02 AM, Mathieu Desnoyers <
> compudj at krystal.dyndns.org> wrote:
>
>> Is the following patch less confusing ?
>>
>>
>> MIPS: octeon fix get_cycles
>>
>> Make sure get_cycles(), used by kernel/time/tsc-sync.c TSC synchronicity
>> checker, works fine on octeon by using the full 64-bits.
>>
>> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
>> ---
>> arch/mips/Kconfig | 11 +++++++++--
>> arch/mips/include/asm/timex.h | 31 ++++++++++++++++++++++++++++++-
>> 2 files changed, 39 insertions(+), 3 deletions(-)
>>
>> Index: linux-2.6-lttng/arch/mips/Kconfig
>> ===================================================================
>> --- linux-2.6-lttng.orig/arch/mips/Kconfig
>> +++ linux-2.6-lttng/arch/mips/Kconfig
>> @@ -1949,9 +1949,16 @@ config CPU_R4400_WORKAROUNDS
>> config HAVE_GET_CYCLES_32
>> def_bool y
>> depends on !CPU_R4400_WORKAROUNDS
>> + depends on !CPU_CAVIUM_OCTEON
>> select HAVE_TRACE_CLOCK
>> - select HAVE_TRACE_CLOCK_32_TO_64 if (!CPU_CAVIUM_OCTEON)
>> - select HAVE_UNSYNCHRONIZED_TSC if (!CPU_CAVIUM_OCTEON)
>> + select HAVE_TRACE_CLOCK_32_TO_64
>> + select HAVE_UNSYNCHRONIZED_TSC
>> +
>> +config HAVE_GET_CYCLES
>> + def_bool y
>> + depends on CPU_CAVIUM_OCTEON
>> + select HAVE_TRACE_CLOCK
>> + select HAVE_UNSYNCHRONIZED_TSC
>>
>> #
>> # - Highmem only makes sense for the 32-bit kernel.
>> Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
>> ===================================================================
>> --- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
>> +++ linux-2.6-lttng/arch/mips/include/asm/timex.h
>> @@ -42,9 +42,36 @@ extern unsigned int mips_hpt_frequency;
>> * will result in the timer interrupt getting lost.
>> */
>>
>> +#ifdef CONFIG_HAVE_GET_CYCLES
>> +# ifdef CONFIG_CPU_CAVIUM_OCTEON
>> +typedef unsigned int cycles_t;
>> +
>> +static inline cycles_t get_cycles(void)
>> +{
>> + return read_c0_cvmcount();
>> +}
>> +
>> +static inline void get_cycles_barrier(void)
>> +{
>> +}
>> +
>> +static inline cycles_t get_cycles_rate(void)
>> +{
>> + return mips_hpt_frequency;
>> +}
>> +
>> +extern int test_tsc_synchronization(void);
>> +extern int _tsc_is_sync;
>> +static inline int tsc_is_sync(void)
>> +{
>> + return _tsc_is_sync;
>> +}
>> +# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
>> +# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
>> architectures"
>> +# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
>> +#elif defined(CONFIG_HAVE_GET_CYCLES_32)
>> typedef unsigned int cycles_t;
>>
>> -#ifdef CONFIG_HAVE_GET_CYCLES_32
>> static inline cycles_t get_cycles(void)
>> {
>> return read_c0_count();
>> @@ -66,6 +93,8 @@ static inline int tsc_is_sync(void)
>> return _tsc_is_sync;
>> }
>> #else
>> +typedef unsigned int cycles_t;
>> +
>> static inline cycles_t get_cycles(void)
>> {
>> return 0;
>> --
>> Mathieu Desnoyers
>> Operating System Efficiency R&D Consultant
>> EfficiOS Inc.
>> http://www.efficios.com
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/ltt-dev/attachments/20110215/6c9ac136/attachment.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-15 14:05 ` Naresh Bhat
@ 2011-02-15 14:05 ` Naresh Bhat
2011-02-15 14:05 ` Naresh Bhat
` (2 subsequent siblings)
3 siblings, 0 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-15 14:05 UTC (permalink / raw)
Hi Mathieu/David,
The compilation issue is solved and I am able to run the lttng on 2.6.32
kernel with 0.188 patch set on Octeon board. I have fully applied your last
patch and partially applied the earlier patch.
*
Thanks and Regards
-Naresh Bhat*
On Tue, Feb 15, 2011 at 7:00 PM, Naresh Bhat <nareshgbhat at gmail.com> wrote:
> Hi Mathieu/David,
>
> Thank you very much. The patch is applied without any issues. But facing
> the linking errors. Is there any configuration missing in Kconfig ?
>
> *
> Thanks and Regards
> -Naresh Bhat*
> *
> Linking error log:*
>
>
> ========================================================================================================
> ..................
> ......................
> ..............................
> AR arch/mips/lib/lib.a
> LD vmlinux.o
> MODPOST vmlinux.o
> GEN .version
> CHK include/linux/compile.h
> UPD include/linux/compile.h
> CC init/version.o
> LD init/built-in.o
> LD .tmp_vmlinux1
> ltt/built-in.o: In function `ltt_trace_destroy':
> (.text.ltt_trace_destroy+0x6c): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x5c): undefined reference to `get_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x164): undefined reference to
> `trace_clock_read_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x454): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x4b4): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_trace_alloc':
> (.text.ltt_trace_alloc+0x4f8): undefined reference to `put_synthetic_tsc'
> ltt/built-in.o: In function `ltt_reserve_slot_lockless_slow':
> (.text.ltt_reserve_slot_lockless_slow+0xa8): undefined reference to
> `trace_clock_read_synthetic_tsc'
> ltt/built-in.o: In function `ltt_force_switch_lockless_slow':
> (.text.ltt_force_switch_lockless_slow+0x44): undefined reference to
> `trace_clock_read_synthetic_tsc'
> ltt/built-in.o: In function `_ltt_specialized_trace':
> (.text._ltt_specialized_trace+0x1cc): undefined reference to
> `trace_clock_read_synthetic_tsc'
> make: *** [.tmp_vmlinux1] Error 1
> #
>
> ==============================================================================================
> ===
>
>
>
> On Tue, Feb 15, 2011 at 9:02 AM, Mathieu Desnoyers <
> compudj at krystal.dyndns.org> wrote:
>
>> Is the following patch less confusing ?
>>
>>
>> MIPS: octeon fix get_cycles
>>
>> Make sure get_cycles(), used by kernel/time/tsc-sync.c TSC synchronicity
>> checker, works fine on octeon by using the full 64-bits.
>>
>> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
>> ---
>> arch/mips/Kconfig | 11 +++++++++--
>> arch/mips/include/asm/timex.h | 31 ++++++++++++++++++++++++++++++-
>> 2 files changed, 39 insertions(+), 3 deletions(-)
>>
>> Index: linux-2.6-lttng/arch/mips/Kconfig
>> ===================================================================
>> --- linux-2.6-lttng.orig/arch/mips/Kconfig
>> +++ linux-2.6-lttng/arch/mips/Kconfig
>> @@ -1949,9 +1949,16 @@ config CPU_R4400_WORKAROUNDS
>> config HAVE_GET_CYCLES_32
>> def_bool y
>> depends on !CPU_R4400_WORKAROUNDS
>> + depends on !CPU_CAVIUM_OCTEON
>> select HAVE_TRACE_CLOCK
>> - select HAVE_TRACE_CLOCK_32_TO_64 if (!CPU_CAVIUM_OCTEON)
>> - select HAVE_UNSYNCHRONIZED_TSC if (!CPU_CAVIUM_OCTEON)
>> + select HAVE_TRACE_CLOCK_32_TO_64
>> + select HAVE_UNSYNCHRONIZED_TSC
>> +
>> +config HAVE_GET_CYCLES
>> + def_bool y
>> + depends on CPU_CAVIUM_OCTEON
>> + select HAVE_TRACE_CLOCK
>> + select HAVE_UNSYNCHRONIZED_TSC
>>
>> #
>> # - Highmem only makes sense for the 32-bit kernel.
>> Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
>> ===================================================================
>> --- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
>> +++ linux-2.6-lttng/arch/mips/include/asm/timex.h
>> @@ -42,9 +42,36 @@ extern unsigned int mips_hpt_frequency;
>> * will result in the timer interrupt getting lost.
>> */
>>
>> +#ifdef CONFIG_HAVE_GET_CYCLES
>> +# ifdef CONFIG_CPU_CAVIUM_OCTEON
>> +typedef unsigned int cycles_t;
>> +
>> +static inline cycles_t get_cycles(void)
>> +{
>> + return read_c0_cvmcount();
>> +}
>> +
>> +static inline void get_cycles_barrier(void)
>> +{
>> +}
>> +
>> +static inline cycles_t get_cycles_rate(void)
>> +{
>> + return mips_hpt_frequency;
>> +}
>> +
>> +extern int test_tsc_synchronization(void);
>> +extern int _tsc_is_sync;
>> +static inline int tsc_is_sync(void)
>> +{
>> + return _tsc_is_sync;
>> +}
>> +# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
>> +# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
>> architectures"
>> +# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
>> +#elif defined(CONFIG_HAVE_GET_CYCLES_32)
>> typedef unsigned int cycles_t;
>>
>> -#ifdef CONFIG_HAVE_GET_CYCLES_32
>> static inline cycles_t get_cycles(void)
>> {
>> return read_c0_count();
>> @@ -66,6 +93,8 @@ static inline int tsc_is_sync(void)
>> return _tsc_is_sync;
>> }
>> #else
>> +typedef unsigned int cycles_t;
>> +
>> static inline cycles_t get_cycles(void)
>> {
>> return 0;
>> --
>> Mathieu Desnoyers
>> Operating System Efficiency R&D Consultant
>> EfficiOS Inc.
>> http://www.efficios.com
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110215/6c9ac136/attachment-0002.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-15 14:05 ` Naresh Bhat
2011-02-15 14:05 ` Naresh Bhat
2011-02-15 14:05 ` Naresh Bhat
@ 2011-02-15 14:09 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP89B659A630D5B5735DB78696D30@phx.gbl>
3 siblings, 0 replies; 34+ messages in thread
From: Mathieu Desnoyers @ 2011-02-15 14:09 UTC (permalink / raw)
* Naresh Bhat (nareshgbhat at gmail.com) wrote:
> Hi Mathieu/David,
>
> The compilation issue is solved and I am able to run the lttng on 2.6.32
> kernel with 0.188 patch set on Octeon board. I have fully applied your last
> patch and partially applied the earlier patch.
> *
> Thanks and Regards
Great! I'm glad it works for you. I'll prepare a LTTng release with
these fixes shortly.
Mathieu
> -Naresh Bhat*
>
> On Tue, Feb 15, 2011 at 7:00 PM, Naresh Bhat <nareshgbhat at gmail.com> wrote:
>
> > Hi Mathieu/David,
> >
> > Thank you very much. The patch is applied without any issues. But facing
> > the linking errors. Is there any configuration missing in Kconfig ?
> >
> > *
> > Thanks and Regards
> > -Naresh Bhat*
> > *
> > Linking error log:*
> >
> >
> > ========================================================================================================
> > ..................
> > ......................
> > ..............................
> > AR arch/mips/lib/lib.a
> > LD vmlinux.o
> > MODPOST vmlinux.o
> > GEN .version
> > CHK include/linux/compile.h
> > UPD include/linux/compile.h
> > CC init/version.o
> > LD init/built-in.o
> > LD .tmp_vmlinux1
> > ltt/built-in.o: In function `ltt_trace_destroy':
> > (.text.ltt_trace_destroy+0x6c): undefined reference to `put_synthetic_tsc'
> > ltt/built-in.o: In function `ltt_trace_alloc':
> > (.text.ltt_trace_alloc+0x5c): undefined reference to `get_synthetic_tsc'
> > ltt/built-in.o: In function `ltt_trace_alloc':
> > (.text.ltt_trace_alloc+0x164): undefined reference to
> > `trace_clock_read_synthetic_tsc'
> > ltt/built-in.o: In function `ltt_trace_alloc':
> > (.text.ltt_trace_alloc+0x454): undefined reference to `put_synthetic_tsc'
> > ltt/built-in.o: In function `ltt_trace_alloc':
> > (.text.ltt_trace_alloc+0x4b4): undefined reference to `put_synthetic_tsc'
> > ltt/built-in.o: In function `ltt_trace_alloc':
> > (.text.ltt_trace_alloc+0x4f8): undefined reference to `put_synthetic_tsc'
> > ltt/built-in.o: In function `ltt_reserve_slot_lockless_slow':
> > (.text.ltt_reserve_slot_lockless_slow+0xa8): undefined reference to
> > `trace_clock_read_synthetic_tsc'
> > ltt/built-in.o: In function `ltt_force_switch_lockless_slow':
> > (.text.ltt_force_switch_lockless_slow+0x44): undefined reference to
> > `trace_clock_read_synthetic_tsc'
> > ltt/built-in.o: In function `_ltt_specialized_trace':
> > (.text._ltt_specialized_trace+0x1cc): undefined reference to
> > `trace_clock_read_synthetic_tsc'
> > make: *** [.tmp_vmlinux1] Error 1
> > #
> >
> > ==============================================================================================
> > ===
> >
> >
> >
> > On Tue, Feb 15, 2011 at 9:02 AM, Mathieu Desnoyers <
> > compudj at krystal.dyndns.org> wrote:
> >
> >> Is the following patch less confusing ?
> >>
> >>
> >> MIPS: octeon fix get_cycles
> >>
> >> Make sure get_cycles(), used by kernel/time/tsc-sync.c TSC synchronicity
> >> checker, works fine on octeon by using the full 64-bits.
> >>
> >> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> >> ---
> >> arch/mips/Kconfig | 11 +++++++++--
> >> arch/mips/include/asm/timex.h | 31 ++++++++++++++++++++++++++++++-
> >> 2 files changed, 39 insertions(+), 3 deletions(-)
> >>
> >> Index: linux-2.6-lttng/arch/mips/Kconfig
> >> ===================================================================
> >> --- linux-2.6-lttng.orig/arch/mips/Kconfig
> >> +++ linux-2.6-lttng/arch/mips/Kconfig
> >> @@ -1949,9 +1949,16 @@ config CPU_R4400_WORKAROUNDS
> >> config HAVE_GET_CYCLES_32
> >> def_bool y
> >> depends on !CPU_R4400_WORKAROUNDS
> >> + depends on !CPU_CAVIUM_OCTEON
> >> select HAVE_TRACE_CLOCK
> >> - select HAVE_TRACE_CLOCK_32_TO_64 if (!CPU_CAVIUM_OCTEON)
> >> - select HAVE_UNSYNCHRONIZED_TSC if (!CPU_CAVIUM_OCTEON)
> >> + select HAVE_TRACE_CLOCK_32_TO_64
> >> + select HAVE_UNSYNCHRONIZED_TSC
> >> +
> >> +config HAVE_GET_CYCLES
> >> + def_bool y
> >> + depends on CPU_CAVIUM_OCTEON
> >> + select HAVE_TRACE_CLOCK
> >> + select HAVE_UNSYNCHRONIZED_TSC
> >>
> >> #
> >> # - Highmem only makes sense for the 32-bit kernel.
> >> Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
> >> ===================================================================
> >> --- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
> >> +++ linux-2.6-lttng/arch/mips/include/asm/timex.h
> >> @@ -42,9 +42,36 @@ extern unsigned int mips_hpt_frequency;
> >> * will result in the timer interrupt getting lost.
> >> */
> >>
> >> +#ifdef CONFIG_HAVE_GET_CYCLES
> >> +# ifdef CONFIG_CPU_CAVIUM_OCTEON
> >> +typedef unsigned int cycles_t;
> >> +
> >> +static inline cycles_t get_cycles(void)
> >> +{
> >> + return read_c0_cvmcount();
> >> +}
> >> +
> >> +static inline void get_cycles_barrier(void)
> >> +{
> >> +}
> >> +
> >> +static inline cycles_t get_cycles_rate(void)
> >> +{
> >> + return mips_hpt_frequency;
> >> +}
> >> +
> >> +extern int test_tsc_synchronization(void);
> >> +extern int _tsc_is_sync;
> >> +static inline int tsc_is_sync(void)
> >> +{
> >> + return _tsc_is_sync;
> >> +}
> >> +# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> >> +# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
> >> architectures"
> >> +# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> >> +#elif defined(CONFIG_HAVE_GET_CYCLES_32)
> >> typedef unsigned int cycles_t;
> >>
> >> -#ifdef CONFIG_HAVE_GET_CYCLES_32
> >> static inline cycles_t get_cycles(void)
> >> {
> >> return read_c0_count();
> >> @@ -66,6 +93,8 @@ static inline int tsc_is_sync(void)
> >> return _tsc_is_sync;
> >> }
> >> #else
> >> +typedef unsigned int cycles_t;
> >> +
> >> static inline cycles_t get_cycles(void)
> >> {
> >> return 0;
> >> --
> >> Mathieu Desnoyers
> >> Operating System Efficiency R&D Consultant
> >> EfficiOS Inc.
> >> http://www.efficios.com
> >>
> >
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
[not found] ` <BLU0-SMTP89B659A630D5B5735DB78696D30@phx.gbl>
@ 2011-02-16 11:26 ` Naresh Bhat
2011-02-16 11:26 ` Naresh Bhat
` (2 more replies)
0 siblings, 3 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-16 11:26 UTC (permalink / raw)
Hi Mathieu/David,
Thank you very much for all your support.
Here is my back ported working patch for 2.6.32 with lttng patch set 0.188
kernel
====================================================================================================
Description:
fix lttng mips use 64 bit counter for trace clock
and fix octeon get_cycles
Signed-off-by: David Daney <ddaney at caviumnetworks.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
Signed-off-by: Naresh Bhat <nareshgbhat at gmail.com>
---
arch/mips/Kconfig | 7 ++++
arch/mips/include/asm/octeon/trace-clock.h | 43
++++++++++++++++++++++++++++
arch/mips/include/asm/timex.h | 35 ++++++++++++++++++++++-
arch/mips/include/asm/trace-clock.h | 6 ++++
arch/mips/kernel/smp.c | 2 +
5 files changed, 92 insertions(+), 1 deletions(-)
create mode 100644 arch/mips/include/asm/octeon/trace-clock.h
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 2aaf0a3..8e19a6d 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1739,10 +1739,17 @@ config CPU_R4400_WORKAROUNDS
config HAVE_GET_CYCLES_32
def_bool y
depends on !CPU_R4400_WORKAROUNDS
+ depends on !CPU_CAVIUM_OCTEON
select HAVE_TRACE_CLOCK
select HAVE_TRACE_CLOCK_32_TO_64
select HAVE_UNSYNCHRONIZED_TSC
+config HAVE_GET_CYCLES
+ def_bool y
+ depends on CPU_CAVIUM_OCTEON
+ select HAVE_TRACE_CLOCK
+ select HAVE_UNSYNCHRONIZED_TSC
+
#
# Use the generic interrupt handling code in kernel/irq/:
#
diff --git a/arch/mips/include/asm/octeon/trace-clock.h
b/arch/mips/include/asm/octeon/trace-clock.h
new file mode 100644
index 0000000..dd408a0
--- /dev/null
+++ b/arch/mips/include/asm/octeon/trace-clock.h
@@ -0,0 +1,43 @@
+/*
+** Copyright (C) 2005,2008 Mathieu Desnoyers
+**
+** Trace clock MIPS Octeon definitions.
+**/
+
+#ifndef _ASM_MIPS_OCTEON_TRACE_CLOCK_H
+#define _ASM_MIPS_OCTEON_TRACE_CLOCK_H
+
+#include <asm/octeon/octeon.h>
+
+#define TC_HW_BITS 64
+
+static inline u32 trace_clock_read32(void)
+{
+ return (u32)read_c0_cvmcount(); /* only need the 32 LSB */
+}
+
+static inline u64 trace_clock_read64(void)
+{
+ return read_c0_cvmcount();
+}
+
+static inline u64 trace_clock_frequency(void)
+{
+ return octeon_get_clock_rate();
+}
+
+static inline u32 trace_clock_freq_scale(void)
+{
+ return 1;
+}
+
+static inline void get_trace_clock(void)
+{
+ return;
+}
+
+static inline void put_trace_clock(void)
+{
+ return;
+}
+#endif /* _ASM_MIPS_OCTEON_TRACE_CLOCK_H */
diff --git a/arch/mips/include/asm/timex.h b/arch/mips/include/asm/timex.h
index 10c8dd8..2d0c8ae 100644
--- a/arch/mips/include/asm/timex.h
+++ b/arch/mips/include/asm/timex.h
@@ -42,9 +42,42 @@ extern unsigned int mips_hpt_frequency;
* will result in the timer interrupt getting lost.
*/
+#if defined(CONFIG_CPU_CAVIUM_OCTEON)
+/* Since the Octeon supports a 64 bit cycle counter we might as well use
+ * it. We can't use it with an O32 kernel since 64bit registers are not
+ * saved. */
+typedef unsigned long cycles_t;
+#else
typedef unsigned int cycles_t;
+#endif
+
+#ifdef CONFIG_HAVE_GET_CYCLES
+# ifdef CONFIG_CPU_CAVIUM_OCTEON
+static inline cycles_t get_cycles(void)
+{
+ return read_c0_cvmcount();
+}
+
+static inline void get_cycles_barrier(void)
+{
+}
+
+static inline cycles_t get_cycles_rate(void)
+{
+ return mips_hpt_frequency;
+}
+
+extern int test_tsc_synchronization(void);
+extern int _tsc_is_sync;
+static inline int tsc_is_sync(void)
+{
+ return _tsc_is_sync;
+}
+# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
architectures"
+# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+#elif defined(CONFIG_HAVE_GET_CYCLES_32)
-#ifdef CONFIG_HAVE_GET_CYCLES_32
static inline cycles_t get_cycles(void)
{
return read_c0_count();
diff --git a/arch/mips/include/asm/trace-clock.h
b/arch/mips/include/asm/trace-clock.h
index 3d8cb0f..0c7a407 100644
--- a/arch/mips/include/asm/trace-clock.h
+++ b/arch/mips/include/asm/trace-clock.h
@@ -12,6 +12,11 @@
#define TRACE_CLOCK_MIN_PROBE_DURATION 200
+#ifdef CONFIG_CPU_CAVIUM_OCTEON
+# include <asm/octeon/trace-clock.h>
+#else /* !CONFIG_CPU_CAVIUM_OCTEON */
+
+
/*
* Number of hardware clock bits. The higher order bits are expected to be
0.
* If the hardware clock source has more than 32 bits, the bits higher than
the
@@ -65,6 +70,7 @@ static inline void put_trace_clock(void)
{
put_synthetic_tsc();
}
+#endif /* CONFIG_CPU_CAVIUM_OCTEON */
static inline void set_trace_clock_is_sync(int state)
{
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index f8c50d1..42083eb 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -159,7 +159,9 @@ void __init smp_cpus_done(unsigned int max_cpus)
{
mp_ops->cpus_done();
synchronise_count_master();
+#ifdef CONFIG_HAVE_UNSYNCHRONIZED_TSC
test_tsc_synchronization();
+#endif
}
/* called from main before smp_init() */
--
1.6.3.3.329.g39ec5
====================================================================================================
On Tue, Feb 15, 2011 at 7:39 PM, Mathieu Desnoyers <
compudj at krystal.dyndns.org> wrote:
> * Naresh Bhat (nareshgbhat at gmail.com) wrote:
> > Hi Mathieu/David,
> >
> > The compilation issue is solved and I am able to run the lttng on 2.6.32
> > kernel with 0.188 patch set on Octeon board. I have fully applied your
> last
> > patch and partially applied the earlier patch.
> > *
> > Thanks and Regards
>
> Great! I'm glad it works for you. I'll prepare a LTTng release with
> these fixes shortly.
>
> Mathieu
>
> > -Naresh Bhat*
> >
> > On Tue, Feb 15, 2011 at 7:00 PM, Naresh Bhat <nareshgbhat at gmail.com>
> wrote:
> >
> > > Hi Mathieu/David,
> > >
> > > Thank you very much. The patch is applied without any issues. But
> facing
> > > the linking errors. Is there any configuration missing in Kconfig ?
> > >
> > > *
> > > Thanks and Regards
> > > -Naresh Bhat*
> > > *
> > > Linking error log:*
> > >
> > >
> > >
> ========================================================================================================
> > > ..................
> > > ......................
> > > ..............................
> > > AR arch/mips/lib/lib.a
> > > LD vmlinux.o
> > > MODPOST vmlinux.o
> > > GEN .version
> > > CHK include/linux/compile.h
> > > UPD include/linux/compile.h
> > > CC init/version.o
> > > LD init/built-in.o
> > > LD .tmp_vmlinux1
> > > ltt/built-in.o: In function `ltt_trace_destroy':
> > > (.text.ltt_trace_destroy+0x6c): undefined reference to
> `put_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_trace_alloc':
> > > (.text.ltt_trace_alloc+0x5c): undefined reference to
> `get_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_trace_alloc':
> > > (.text.ltt_trace_alloc+0x164): undefined reference to
> > > `trace_clock_read_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_trace_alloc':
> > > (.text.ltt_trace_alloc+0x454): undefined reference to
> `put_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_trace_alloc':
> > > (.text.ltt_trace_alloc+0x4b4): undefined reference to
> `put_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_trace_alloc':
> > > (.text.ltt_trace_alloc+0x4f8): undefined reference to
> `put_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_reserve_slot_lockless_slow':
> > > (.text.ltt_reserve_slot_lockless_slow+0xa8): undefined reference to
> > > `trace_clock_read_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_force_switch_lockless_slow':
> > > (.text.ltt_force_switch_lockless_slow+0x44): undefined reference to
> > > `trace_clock_read_synthetic_tsc'
> > > ltt/built-in.o: In function `_ltt_specialized_trace':
> > > (.text._ltt_specialized_trace+0x1cc): undefined reference to
> > > `trace_clock_read_synthetic_tsc'
> > > make: *** [.tmp_vmlinux1] Error 1
> > > #
> > >
> > >
> ==============================================================================================
> > > ===
> > >
> > >
> > >
> > > On Tue, Feb 15, 2011 at 9:02 AM, Mathieu Desnoyers <
> > > compudj at krystal.dyndns.org> wrote:
> > >
> > >> Is the following patch less confusing ?
> > >>
> > >>
> > >> MIPS: octeon fix get_cycles
> > >>
> > >> Make sure get_cycles(), used by kernel/time/tsc-sync.c TSC
> synchronicity
> > >> checker, works fine on octeon by using the full 64-bits.
> > >>
> > >> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> > >> ---
> > >> arch/mips/Kconfig | 11 +++++++++--
> > >> arch/mips/include/asm/timex.h | 31 ++++++++++++++++++++++++++++++-
> > >> 2 files changed, 39 insertions(+), 3 deletions(-)
> > >>
> > >> Index: linux-2.6-lttng/arch/mips/Kconfig
> > >> ===================================================================
> > >> --- linux-2.6-lttng.orig/arch/mips/Kconfig
> > >> +++ linux-2.6-lttng/arch/mips/Kconfig
> > >> @@ -1949,9 +1949,16 @@ config CPU_R4400_WORKAROUNDS
> > >> config HAVE_GET_CYCLES_32
> > >> def_bool y
> > >> depends on !CPU_R4400_WORKAROUNDS
> > >> + depends on !CPU_CAVIUM_OCTEON
> > >> select HAVE_TRACE_CLOCK
> > >> - select HAVE_TRACE_CLOCK_32_TO_64 if (!CPU_CAVIUM_OCTEON)
> > >> - select HAVE_UNSYNCHRONIZED_TSC if (!CPU_CAVIUM_OCTEON)
> > >> + select HAVE_TRACE_CLOCK_32_TO_64
> > >> + select HAVE_UNSYNCHRONIZED_TSC
> > >> +
> > >> +config HAVE_GET_CYCLES
> > >> + def_bool y
> > >> + depends on CPU_CAVIUM_OCTEON
> > >> + select HAVE_TRACE_CLOCK
> > >> + select HAVE_UNSYNCHRONIZED_TSC
> > >>
> > >> #
> > >> # - Highmem only makes sense for the 32-bit kernel.
> > >> Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
> > >> ===================================================================
> > >> --- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
> > >> +++ linux-2.6-lttng/arch/mips/include/asm/timex.h
> > >> @@ -42,9 +42,36 @@ extern unsigned int mips_hpt_frequency;
> > >> * will result in the timer interrupt getting lost.
> > >> */
> > >>
> > >> +#ifdef CONFIG_HAVE_GET_CYCLES
> > >> +# ifdef CONFIG_CPU_CAVIUM_OCTEON
> > >> +typedef unsigned int cycles_t;
> > >> +
> > >> +static inline cycles_t get_cycles(void)
> > >> +{
> > >> + return read_c0_cvmcount();
> > >> +}
> > >> +
> > >> +static inline void get_cycles_barrier(void)
> > >> +{
> > >> +}
> > >> +
> > >> +static inline cycles_t get_cycles_rate(void)
> > >> +{
> > >> + return mips_hpt_frequency;
> > >> +}
> > >> +
> > >> +extern int test_tsc_synchronization(void);
> > >> +extern int _tsc_is_sync;
> > >> +static inline int tsc_is_sync(void)
> > >> +{
> > >> + return _tsc_is_sync;
> > >> +}
> > >> +# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> > >> +# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
> > >> architectures"
> > >> +# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> > >> +#elif defined(CONFIG_HAVE_GET_CYCLES_32)
> > >> typedef unsigned int cycles_t;
> > >>
> > >> -#ifdef CONFIG_HAVE_GET_CYCLES_32
> > >> static inline cycles_t get_cycles(void)
> > >> {
> > >> return read_c0_count();
> > >> @@ -66,6 +93,8 @@ static inline int tsc_is_sync(void)
> > >> return _tsc_is_sync;
> > >> }
> > >> #else
> > >> +typedef unsigned int cycles_t;
> > >> +
> > >> static inline cycles_t get_cycles(void)
> > >> {
> > >> return 0;
> > >> --
> > >> Mathieu Desnoyers
> > >> Operating System Efficiency R&D Consultant
> > >> EfficiOS Inc.
> > >> http://www.efficios.com
> > >>
> > >
>
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110216/aef38848/attachment-0003.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-16 11:26 ` Naresh Bhat
2011-02-16 11:26 ` Naresh Bhat
@ 2011-02-16 11:26 ` Naresh Bhat
2011-02-16 17:23 ` David Daney
2 siblings, 0 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-16 11:26 UTC (permalink / raw)
Hi Mathieu/David,
Thank you very much for all your support.
Here is my back ported working patch for 2.6.32 with lttng patch set 0.188
kernel
====================================================================================================
Description:
fix lttng mips use 64 bit counter for trace clock
and fix octeon get_cycles
Signed-off-by: David Daney <ddaney at caviumnetworks.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
Signed-off-by: Naresh Bhat <nareshgbhat at gmail.com>
---
arch/mips/Kconfig | 7 ++++
arch/mips/include/asm/octeon/trace-clock.h | 43
++++++++++++++++++++++++++++
arch/mips/include/asm/timex.h | 35 ++++++++++++++++++++++-
arch/mips/include/asm/trace-clock.h | 6 ++++
arch/mips/kernel/smp.c | 2 +
5 files changed, 92 insertions(+), 1 deletions(-)
create mode 100644 arch/mips/include/asm/octeon/trace-clock.h
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 2aaf0a3..8e19a6d 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1739,10 +1739,17 @@ config CPU_R4400_WORKAROUNDS
config HAVE_GET_CYCLES_32
def_bool y
depends on !CPU_R4400_WORKAROUNDS
+ depends on !CPU_CAVIUM_OCTEON
select HAVE_TRACE_CLOCK
select HAVE_TRACE_CLOCK_32_TO_64
select HAVE_UNSYNCHRONIZED_TSC
+config HAVE_GET_CYCLES
+ def_bool y
+ depends on CPU_CAVIUM_OCTEON
+ select HAVE_TRACE_CLOCK
+ select HAVE_UNSYNCHRONIZED_TSC
+
#
# Use the generic interrupt handling code in kernel/irq/:
#
diff --git a/arch/mips/include/asm/octeon/trace-clock.h
b/arch/mips/include/asm/octeon/trace-clock.h
new file mode 100644
index 0000000..dd408a0
--- /dev/null
+++ b/arch/mips/include/asm/octeon/trace-clock.h
@@ -0,0 +1,43 @@
+/*
+** Copyright (C) 2005,2008 Mathieu Desnoyers
+**
+** Trace clock MIPS Octeon definitions.
+**/
+
+#ifndef _ASM_MIPS_OCTEON_TRACE_CLOCK_H
+#define _ASM_MIPS_OCTEON_TRACE_CLOCK_H
+
+#include <asm/octeon/octeon.h>
+
+#define TC_HW_BITS 64
+
+static inline u32 trace_clock_read32(void)
+{
+ return (u32)read_c0_cvmcount(); /* only need the 32 LSB */
+}
+
+static inline u64 trace_clock_read64(void)
+{
+ return read_c0_cvmcount();
+}
+
+static inline u64 trace_clock_frequency(void)
+{
+ return octeon_get_clock_rate();
+}
+
+static inline u32 trace_clock_freq_scale(void)
+{
+ return 1;
+}
+
+static inline void get_trace_clock(void)
+{
+ return;
+}
+
+static inline void put_trace_clock(void)
+{
+ return;
+}
+#endif /* _ASM_MIPS_OCTEON_TRACE_CLOCK_H */
diff --git a/arch/mips/include/asm/timex.h b/arch/mips/include/asm/timex.h
index 10c8dd8..2d0c8ae 100644
--- a/arch/mips/include/asm/timex.h
+++ b/arch/mips/include/asm/timex.h
@@ -42,9 +42,42 @@ extern unsigned int mips_hpt_frequency;
* will result in the timer interrupt getting lost.
*/
+#if defined(CONFIG_CPU_CAVIUM_OCTEON)
+/* Since the Octeon supports a 64 bit cycle counter we might as well use
+ * it. We can't use it with an O32 kernel since 64bit registers are not
+ * saved. */
+typedef unsigned long cycles_t;
+#else
typedef unsigned int cycles_t;
+#endif
+
+#ifdef CONFIG_HAVE_GET_CYCLES
+# ifdef CONFIG_CPU_CAVIUM_OCTEON
+static inline cycles_t get_cycles(void)
+{
+ return read_c0_cvmcount();
+}
+
+static inline void get_cycles_barrier(void)
+{
+}
+
+static inline cycles_t get_cycles_rate(void)
+{
+ return mips_hpt_frequency;
+}
+
+extern int test_tsc_synchronization(void);
+extern int _tsc_is_sync;
+static inline int tsc_is_sync(void)
+{
+ return _tsc_is_sync;
+}
+# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
architectures"
+# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+#elif defined(CONFIG_HAVE_GET_CYCLES_32)
-#ifdef CONFIG_HAVE_GET_CYCLES_32
static inline cycles_t get_cycles(void)
{
return read_c0_count();
diff --git a/arch/mips/include/asm/trace-clock.h
b/arch/mips/include/asm/trace-clock.h
index 3d8cb0f..0c7a407 100644
--- a/arch/mips/include/asm/trace-clock.h
+++ b/arch/mips/include/asm/trace-clock.h
@@ -12,6 +12,11 @@
#define TRACE_CLOCK_MIN_PROBE_DURATION 200
+#ifdef CONFIG_CPU_CAVIUM_OCTEON
+# include <asm/octeon/trace-clock.h>
+#else /* !CONFIG_CPU_CAVIUM_OCTEON */
+
+
/*
* Number of hardware clock bits. The higher order bits are expected to be
0.
* If the hardware clock source has more than 32 bits, the bits higher than
the
@@ -65,6 +70,7 @@ static inline void put_trace_clock(void)
{
put_synthetic_tsc();
}
+#endif /* CONFIG_CPU_CAVIUM_OCTEON */
static inline void set_trace_clock_is_sync(int state)
{
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index f8c50d1..42083eb 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -159,7 +159,9 @@ void __init smp_cpus_done(unsigned int max_cpus)
{
mp_ops->cpus_done();
synchronise_count_master();
+#ifdef CONFIG_HAVE_UNSYNCHRONIZED_TSC
test_tsc_synchronization();
+#endif
}
/* called from main before smp_init() */
--
1.6.3.3.329.g39ec5
====================================================================================================
On Tue, Feb 15, 2011 at 7:39 PM, Mathieu Desnoyers <
compudj at krystal.dyndns.org> wrote:
> * Naresh Bhat (nareshgbhat at gmail.com) wrote:
> > Hi Mathieu/David,
> >
> > The compilation issue is solved and I am able to run the lttng on 2.6.32
> > kernel with 0.188 patch set on Octeon board. I have fully applied your
> last
> > patch and partially applied the earlier patch.
> > *
> > Thanks and Regards
>
> Great! I'm glad it works for you. I'll prepare a LTTng release with
> these fixes shortly.
>
> Mathieu
>
> > -Naresh Bhat*
> >
> > On Tue, Feb 15, 2011 at 7:00 PM, Naresh Bhat <nareshgbhat at gmail.com>
> wrote:
> >
> > > Hi Mathieu/David,
> > >
> > > Thank you very much. The patch is applied without any issues. But
> facing
> > > the linking errors. Is there any configuration missing in Kconfig ?
> > >
> > > *
> > > Thanks and Regards
> > > -Naresh Bhat*
> > > *
> > > Linking error log:*
> > >
> > >
> > >
> ========================================================================================================
> > > ..................
> > > ......................
> > > ..............................
> > > AR arch/mips/lib/lib.a
> > > LD vmlinux.o
> > > MODPOST vmlinux.o
> > > GEN .version
> > > CHK include/linux/compile.h
> > > UPD include/linux/compile.h
> > > CC init/version.o
> > > LD init/built-in.o
> > > LD .tmp_vmlinux1
> > > ltt/built-in.o: In function `ltt_trace_destroy':
> > > (.text.ltt_trace_destroy+0x6c): undefined reference to
> `put_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_trace_alloc':
> > > (.text.ltt_trace_alloc+0x5c): undefined reference to
> `get_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_trace_alloc':
> > > (.text.ltt_trace_alloc+0x164): undefined reference to
> > > `trace_clock_read_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_trace_alloc':
> > > (.text.ltt_trace_alloc+0x454): undefined reference to
> `put_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_trace_alloc':
> > > (.text.ltt_trace_alloc+0x4b4): undefined reference to
> `put_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_trace_alloc':
> > > (.text.ltt_trace_alloc+0x4f8): undefined reference to
> `put_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_reserve_slot_lockless_slow':
> > > (.text.ltt_reserve_slot_lockless_slow+0xa8): undefined reference to
> > > `trace_clock_read_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_force_switch_lockless_slow':
> > > (.text.ltt_force_switch_lockless_slow+0x44): undefined reference to
> > > `trace_clock_read_synthetic_tsc'
> > > ltt/built-in.o: In function `_ltt_specialized_trace':
> > > (.text._ltt_specialized_trace+0x1cc): undefined reference to
> > > `trace_clock_read_synthetic_tsc'
> > > make: *** [.tmp_vmlinux1] Error 1
> > > #
> > >
> > >
> ==============================================================================================
> > > ===
> > >
> > >
> > >
> > > On Tue, Feb 15, 2011 at 9:02 AM, Mathieu Desnoyers <
> > > compudj at krystal.dyndns.org> wrote:
> > >
> > >> Is the following patch less confusing ?
> > >>
> > >>
> > >> MIPS: octeon fix get_cycles
> > >>
> > >> Make sure get_cycles(), used by kernel/time/tsc-sync.c TSC
> synchronicity
> > >> checker, works fine on octeon by using the full 64-bits.
> > >>
> > >> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> > >> ---
> > >> arch/mips/Kconfig | 11 +++++++++--
> > >> arch/mips/include/asm/timex.h | 31 ++++++++++++++++++++++++++++++-
> > >> 2 files changed, 39 insertions(+), 3 deletions(-)
> > >>
> > >> Index: linux-2.6-lttng/arch/mips/Kconfig
> > >> ===================================================================
> > >> --- linux-2.6-lttng.orig/arch/mips/Kconfig
> > >> +++ linux-2.6-lttng/arch/mips/Kconfig
> > >> @@ -1949,9 +1949,16 @@ config CPU_R4400_WORKAROUNDS
> > >> config HAVE_GET_CYCLES_32
> > >> def_bool y
> > >> depends on !CPU_R4400_WORKAROUNDS
> > >> + depends on !CPU_CAVIUM_OCTEON
> > >> select HAVE_TRACE_CLOCK
> > >> - select HAVE_TRACE_CLOCK_32_TO_64 if (!CPU_CAVIUM_OCTEON)
> > >> - select HAVE_UNSYNCHRONIZED_TSC if (!CPU_CAVIUM_OCTEON)
> > >> + select HAVE_TRACE_CLOCK_32_TO_64
> > >> + select HAVE_UNSYNCHRONIZED_TSC
> > >> +
> > >> +config HAVE_GET_CYCLES
> > >> + def_bool y
> > >> + depends on CPU_CAVIUM_OCTEON
> > >> + select HAVE_TRACE_CLOCK
> > >> + select HAVE_UNSYNCHRONIZED_TSC
> > >>
> > >> #
> > >> # - Highmem only makes sense for the 32-bit kernel.
> > >> Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
> > >> ===================================================================
> > >> --- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
> > >> +++ linux-2.6-lttng/arch/mips/include/asm/timex.h
> > >> @@ -42,9 +42,36 @@ extern unsigned int mips_hpt_frequency;
> > >> * will result in the timer interrupt getting lost.
> > >> */
> > >>
> > >> +#ifdef CONFIG_HAVE_GET_CYCLES
> > >> +# ifdef CONFIG_CPU_CAVIUM_OCTEON
> > >> +typedef unsigned int cycles_t;
> > >> +
> > >> +static inline cycles_t get_cycles(void)
> > >> +{
> > >> + return read_c0_cvmcount();
> > >> +}
> > >> +
> > >> +static inline void get_cycles_barrier(void)
> > >> +{
> > >> +}
> > >> +
> > >> +static inline cycles_t get_cycles_rate(void)
> > >> +{
> > >> + return mips_hpt_frequency;
> > >> +}
> > >> +
> > >> +extern int test_tsc_synchronization(void);
> > >> +extern int _tsc_is_sync;
> > >> +static inline int tsc_is_sync(void)
> > >> +{
> > >> + return _tsc_is_sync;
> > >> +}
> > >> +# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> > >> +# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
> > >> architectures"
> > >> +# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> > >> +#elif defined(CONFIG_HAVE_GET_CYCLES_32)
> > >> typedef unsigned int cycles_t;
> > >>
> > >> -#ifdef CONFIG_HAVE_GET_CYCLES_32
> > >> static inline cycles_t get_cycles(void)
> > >> {
> > >> return read_c0_count();
> > >> @@ -66,6 +93,8 @@ static inline int tsc_is_sync(void)
> > >> return _tsc_is_sync;
> > >> }
> > >> #else
> > >> +typedef unsigned int cycles_t;
> > >> +
> > >> static inline cycles_t get_cycles(void)
> > >> {
> > >> return 0;
> > >> --
> > >> Mathieu Desnoyers
> > >> Operating System Efficiency R&D Consultant
> > >> EfficiOS Inc.
> > >> http://www.efficios.com
> > >>
> > >
>
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/ltt-dev/attachments/20110216/aef38848/attachment-0001.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-16 11:26 ` Naresh Bhat
@ 2011-02-16 11:26 ` Naresh Bhat
2011-02-16 11:26 ` Naresh Bhat
2011-02-16 17:23 ` David Daney
2 siblings, 0 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-16 11:26 UTC (permalink / raw)
Hi Mathieu/David,
Thank you very much for all your support.
Here is my back ported working patch for 2.6.32 with lttng patch set 0.188
kernel
====================================================================================================
Description:
fix lttng mips use 64 bit counter for trace clock
and fix octeon get_cycles
Signed-off-by: David Daney <ddaney at caviumnetworks.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
Signed-off-by: Naresh Bhat <nareshgbhat at gmail.com>
---
arch/mips/Kconfig | 7 ++++
arch/mips/include/asm/octeon/trace-clock.h | 43
++++++++++++++++++++++++++++
arch/mips/include/asm/timex.h | 35 ++++++++++++++++++++++-
arch/mips/include/asm/trace-clock.h | 6 ++++
arch/mips/kernel/smp.c | 2 +
5 files changed, 92 insertions(+), 1 deletions(-)
create mode 100644 arch/mips/include/asm/octeon/trace-clock.h
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 2aaf0a3..8e19a6d 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1739,10 +1739,17 @@ config CPU_R4400_WORKAROUNDS
config HAVE_GET_CYCLES_32
def_bool y
depends on !CPU_R4400_WORKAROUNDS
+ depends on !CPU_CAVIUM_OCTEON
select HAVE_TRACE_CLOCK
select HAVE_TRACE_CLOCK_32_TO_64
select HAVE_UNSYNCHRONIZED_TSC
+config HAVE_GET_CYCLES
+ def_bool y
+ depends on CPU_CAVIUM_OCTEON
+ select HAVE_TRACE_CLOCK
+ select HAVE_UNSYNCHRONIZED_TSC
+
#
# Use the generic interrupt handling code in kernel/irq/:
#
diff --git a/arch/mips/include/asm/octeon/trace-clock.h
b/arch/mips/include/asm/octeon/trace-clock.h
new file mode 100644
index 0000000..dd408a0
--- /dev/null
+++ b/arch/mips/include/asm/octeon/trace-clock.h
@@ -0,0 +1,43 @@
+/*
+** Copyright (C) 2005,2008 Mathieu Desnoyers
+**
+** Trace clock MIPS Octeon definitions.
+**/
+
+#ifndef _ASM_MIPS_OCTEON_TRACE_CLOCK_H
+#define _ASM_MIPS_OCTEON_TRACE_CLOCK_H
+
+#include <asm/octeon/octeon.h>
+
+#define TC_HW_BITS 64
+
+static inline u32 trace_clock_read32(void)
+{
+ return (u32)read_c0_cvmcount(); /* only need the 32 LSB */
+}
+
+static inline u64 trace_clock_read64(void)
+{
+ return read_c0_cvmcount();
+}
+
+static inline u64 trace_clock_frequency(void)
+{
+ return octeon_get_clock_rate();
+}
+
+static inline u32 trace_clock_freq_scale(void)
+{
+ return 1;
+}
+
+static inline void get_trace_clock(void)
+{
+ return;
+}
+
+static inline void put_trace_clock(void)
+{
+ return;
+}
+#endif /* _ASM_MIPS_OCTEON_TRACE_CLOCK_H */
diff --git a/arch/mips/include/asm/timex.h b/arch/mips/include/asm/timex.h
index 10c8dd8..2d0c8ae 100644
--- a/arch/mips/include/asm/timex.h
+++ b/arch/mips/include/asm/timex.h
@@ -42,9 +42,42 @@ extern unsigned int mips_hpt_frequency;
* will result in the timer interrupt getting lost.
*/
+#if defined(CONFIG_CPU_CAVIUM_OCTEON)
+/* Since the Octeon supports a 64 bit cycle counter we might as well use
+ * it. We can't use it with an O32 kernel since 64bit registers are not
+ * saved. */
+typedef unsigned long cycles_t;
+#else
typedef unsigned int cycles_t;
+#endif
+
+#ifdef CONFIG_HAVE_GET_CYCLES
+# ifdef CONFIG_CPU_CAVIUM_OCTEON
+static inline cycles_t get_cycles(void)
+{
+ return read_c0_cvmcount();
+}
+
+static inline void get_cycles_barrier(void)
+{
+}
+
+static inline cycles_t get_cycles_rate(void)
+{
+ return mips_hpt_frequency;
+}
+
+extern int test_tsc_synchronization(void);
+extern int _tsc_is_sync;
+static inline int tsc_is_sync(void)
+{
+ return _tsc_is_sync;
+}
+# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
architectures"
+# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+#elif defined(CONFIG_HAVE_GET_CYCLES_32)
-#ifdef CONFIG_HAVE_GET_CYCLES_32
static inline cycles_t get_cycles(void)
{
return read_c0_count();
diff --git a/arch/mips/include/asm/trace-clock.h
b/arch/mips/include/asm/trace-clock.h
index 3d8cb0f..0c7a407 100644
--- a/arch/mips/include/asm/trace-clock.h
+++ b/arch/mips/include/asm/trace-clock.h
@@ -12,6 +12,11 @@
#define TRACE_CLOCK_MIN_PROBE_DURATION 200
+#ifdef CONFIG_CPU_CAVIUM_OCTEON
+# include <asm/octeon/trace-clock.h>
+#else /* !CONFIG_CPU_CAVIUM_OCTEON */
+
+
/*
* Number of hardware clock bits. The higher order bits are expected to be
0.
* If the hardware clock source has more than 32 bits, the bits higher than
the
@@ -65,6 +70,7 @@ static inline void put_trace_clock(void)
{
put_synthetic_tsc();
}
+#endif /* CONFIG_CPU_CAVIUM_OCTEON */
static inline void set_trace_clock_is_sync(int state)
{
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index f8c50d1..42083eb 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -159,7 +159,9 @@ void __init smp_cpus_done(unsigned int max_cpus)
{
mp_ops->cpus_done();
synchronise_count_master();
+#ifdef CONFIG_HAVE_UNSYNCHRONIZED_TSC
test_tsc_synchronization();
+#endif
}
/* called from main before smp_init() */
--
1.6.3.3.329.g39ec5
====================================================================================================
On Tue, Feb 15, 2011 at 7:39 PM, Mathieu Desnoyers <
compudj at krystal.dyndns.org> wrote:
> * Naresh Bhat (nareshgbhat at gmail.com) wrote:
> > Hi Mathieu/David,
> >
> > The compilation issue is solved and I am able to run the lttng on 2.6.32
> > kernel with 0.188 patch set on Octeon board. I have fully applied your
> last
> > patch and partially applied the earlier patch.
> > *
> > Thanks and Regards
>
> Great! I'm glad it works for you. I'll prepare a LTTng release with
> these fixes shortly.
>
> Mathieu
>
> > -Naresh Bhat*
> >
> > On Tue, Feb 15, 2011 at 7:00 PM, Naresh Bhat <nareshgbhat at gmail.com>
> wrote:
> >
> > > Hi Mathieu/David,
> > >
> > > Thank you very much. The patch is applied without any issues. But
> facing
> > > the linking errors. Is there any configuration missing in Kconfig ?
> > >
> > > *
> > > Thanks and Regards
> > > -Naresh Bhat*
> > > *
> > > Linking error log:*
> > >
> > >
> > >
> ========================================================================================================
> > > ..................
> > > ......................
> > > ..............................
> > > AR arch/mips/lib/lib.a
> > > LD vmlinux.o
> > > MODPOST vmlinux.o
> > > GEN .version
> > > CHK include/linux/compile.h
> > > UPD include/linux/compile.h
> > > CC init/version.o
> > > LD init/built-in.o
> > > LD .tmp_vmlinux1
> > > ltt/built-in.o: In function `ltt_trace_destroy':
> > > (.text.ltt_trace_destroy+0x6c): undefined reference to
> `put_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_trace_alloc':
> > > (.text.ltt_trace_alloc+0x5c): undefined reference to
> `get_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_trace_alloc':
> > > (.text.ltt_trace_alloc+0x164): undefined reference to
> > > `trace_clock_read_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_trace_alloc':
> > > (.text.ltt_trace_alloc+0x454): undefined reference to
> `put_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_trace_alloc':
> > > (.text.ltt_trace_alloc+0x4b4): undefined reference to
> `put_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_trace_alloc':
> > > (.text.ltt_trace_alloc+0x4f8): undefined reference to
> `put_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_reserve_slot_lockless_slow':
> > > (.text.ltt_reserve_slot_lockless_slow+0xa8): undefined reference to
> > > `trace_clock_read_synthetic_tsc'
> > > ltt/built-in.o: In function `ltt_force_switch_lockless_slow':
> > > (.text.ltt_force_switch_lockless_slow+0x44): undefined reference to
> > > `trace_clock_read_synthetic_tsc'
> > > ltt/built-in.o: In function `_ltt_specialized_trace':
> > > (.text._ltt_specialized_trace+0x1cc): undefined reference to
> > > `trace_clock_read_synthetic_tsc'
> > > make: *** [.tmp_vmlinux1] Error 1
> > > #
> > >
> > >
> ==============================================================================================
> > > ===
> > >
> > >
> > >
> > > On Tue, Feb 15, 2011 at 9:02 AM, Mathieu Desnoyers <
> > > compudj at krystal.dyndns.org> wrote:
> > >
> > >> Is the following patch less confusing ?
> > >>
> > >>
> > >> MIPS: octeon fix get_cycles
> > >>
> > >> Make sure get_cycles(), used by kernel/time/tsc-sync.c TSC
> synchronicity
> > >> checker, works fine on octeon by using the full 64-bits.
> > >>
> > >> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> > >> ---
> > >> arch/mips/Kconfig | 11 +++++++++--
> > >> arch/mips/include/asm/timex.h | 31 ++++++++++++++++++++++++++++++-
> > >> 2 files changed, 39 insertions(+), 3 deletions(-)
> > >>
> > >> Index: linux-2.6-lttng/arch/mips/Kconfig
> > >> ===================================================================
> > >> --- linux-2.6-lttng.orig/arch/mips/Kconfig
> > >> +++ linux-2.6-lttng/arch/mips/Kconfig
> > >> @@ -1949,9 +1949,16 @@ config CPU_R4400_WORKAROUNDS
> > >> config HAVE_GET_CYCLES_32
> > >> def_bool y
> > >> depends on !CPU_R4400_WORKAROUNDS
> > >> + depends on !CPU_CAVIUM_OCTEON
> > >> select HAVE_TRACE_CLOCK
> > >> - select HAVE_TRACE_CLOCK_32_TO_64 if (!CPU_CAVIUM_OCTEON)
> > >> - select HAVE_UNSYNCHRONIZED_TSC if (!CPU_CAVIUM_OCTEON)
> > >> + select HAVE_TRACE_CLOCK_32_TO_64
> > >> + select HAVE_UNSYNCHRONIZED_TSC
> > >> +
> > >> +config HAVE_GET_CYCLES
> > >> + def_bool y
> > >> + depends on CPU_CAVIUM_OCTEON
> > >> + select HAVE_TRACE_CLOCK
> > >> + select HAVE_UNSYNCHRONIZED_TSC
> > >>
> > >> #
> > >> # - Highmem only makes sense for the 32-bit kernel.
> > >> Index: linux-2.6-lttng/arch/mips/include/asm/timex.h
> > >> ===================================================================
> > >> --- linux-2.6-lttng.orig/arch/mips/include/asm/timex.h
> > >> +++ linux-2.6-lttng/arch/mips/include/asm/timex.h
> > >> @@ -42,9 +42,36 @@ extern unsigned int mips_hpt_frequency;
> > >> * will result in the timer interrupt getting lost.
> > >> */
> > >>
> > >> +#ifdef CONFIG_HAVE_GET_CYCLES
> > >> +# ifdef CONFIG_CPU_CAVIUM_OCTEON
> > >> +typedef unsigned int cycles_t;
> > >> +
> > >> +static inline cycles_t get_cycles(void)
> > >> +{
> > >> + return read_c0_cvmcount();
> > >> +}
> > >> +
> > >> +static inline void get_cycles_barrier(void)
> > >> +{
> > >> +}
> > >> +
> > >> +static inline cycles_t get_cycles_rate(void)
> > >> +{
> > >> + return mips_hpt_frequency;
> > >> +}
> > >> +
> > >> +extern int test_tsc_synchronization(void);
> > >> +extern int _tsc_is_sync;
> > >> +static inline int tsc_is_sync(void)
> > >> +{
> > >> + return _tsc_is_sync;
> > >> +}
> > >> +# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> > >> +# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
> > >> architectures"
> > >> +# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
> > >> +#elif defined(CONFIG_HAVE_GET_CYCLES_32)
> > >> typedef unsigned int cycles_t;
> > >>
> > >> -#ifdef CONFIG_HAVE_GET_CYCLES_32
> > >> static inline cycles_t get_cycles(void)
> > >> {
> > >> return read_c0_count();
> > >> @@ -66,6 +93,8 @@ static inline int tsc_is_sync(void)
> > >> return _tsc_is_sync;
> > >> }
> > >> #else
> > >> +typedef unsigned int cycles_t;
> > >> +
> > >> static inline cycles_t get_cycles(void)
> > >> {
> > >> return 0;
> > >> --
> > >> Mathieu Desnoyers
> > >> Operating System Efficiency R&D Consultant
> > >> EfficiOS Inc.
> > >> http://www.efficios.com
> > >>
> > >
>
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110216/aef38848/attachment-0002.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-16 11:26 ` Naresh Bhat
2011-02-16 11:26 ` Naresh Bhat
2011-02-16 11:26 ` Naresh Bhat
@ 2011-02-16 17:23 ` David Daney
2011-02-16 18:40 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP53396496DB856B47F531CC96D20@phx.gbl>
2 siblings, 2 replies; 34+ messages in thread
From: David Daney @ 2011-02-16 17:23 UTC (permalink / raw)
On 02/16/2011 03:26 AM, Naresh Bhat wrote:
> Hi Mathieu/David,
>
> Thank you very much for all your support.
> Here is my back ported working patch for 2.6.32 with lttng patch set 0.188
> kernel
>
> ====================================================================================================
> Description:
>
> fix lttng mips use 64 bit counter for trace clock
> and fix octeon get_cycles
>
> Signed-off-by: David Daney<ddaney at caviumnetworks.com>
I don't recall being the author of this patch, nor having really been
associated with it in any way.
Did someone other than me add my Signed-off-by: header? If so, please
remove it.
> Signed-off-by: Mathieu Desnoyers<mathieu.desnoyers at efficios.com>
> Signed-off-by: Naresh Bhat<nareshgbhat at gmail.com>
> ---
> arch/mips/Kconfig | 7 ++++
> arch/mips/include/asm/octeon/trace-clock.h | 43
> ++++++++++++++++++++++++++++
> arch/mips/include/asm/timex.h | 35 ++++++++++++++++++++++-
> arch/mips/include/asm/trace-clock.h | 6 ++++
> arch/mips/kernel/smp.c | 2 +
> 5 files changed, 92 insertions(+), 1 deletions(-)
> create mode 100644 arch/mips/include/asm/octeon/trace-clock.h
>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-16 17:23 ` David Daney
@ 2011-02-16 18:40 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP53396496DB856B47F531CC96D20@phx.gbl>
1 sibling, 0 replies; 34+ messages in thread
From: Mathieu Desnoyers @ 2011-02-16 18:40 UTC (permalink / raw)
* David Daney (ddaney at caviumnetworks.com) wrote:
> On 02/16/2011 03:26 AM, Naresh Bhat wrote:
>> Hi Mathieu/David,
>>
>> Thank you very much for all your support.
>> Here is my back ported working patch for 2.6.32 with lttng patch set 0.188
>> kernel
>>
>> ====================================================================================================
>> Description:
>>
>> fix lttng mips use 64 bit counter for trace clock
>> and fix octeon get_cycles
>>
>> Signed-off-by: David Daney<ddaney at caviumnetworks.com>
>
> I don't recall being the author of this patch, nor having really been
> associated with it in any way.
>
> Did someone other than me add my Signed-off-by: header? If so, please
> remove it.
Hi David,
It looks like Naresh mistakenly attributed both of us with sign-off.
This is a patch being posted for older lttng versions, so it won't end
up in any LTTng tree. But Naresh should repost it without our sign-offs
>> Signed-off-by: Mathieu Desnoyers<mathieu.desnoyers at efficios.com>
(to remove too)
since this is code that has been produced by him.
Naresh: See the Linux kernel Documentation/SubmittingPatches, section 12
for details.
Thanks,
Mathieu
>> Signed-off-by: Naresh Bhat<nareshgbhat at gmail.com>
>> ---
>> arch/mips/Kconfig | 7 ++++
>> arch/mips/include/asm/octeon/trace-clock.h | 43
>> ++++++++++++++++++++++++++++
>> arch/mips/include/asm/timex.h | 35 ++++++++++++++++++++++-
>> arch/mips/include/asm/trace-clock.h | 6 ++++
>> arch/mips/kernel/smp.c | 2 +
>> 5 files changed, 92 insertions(+), 1 deletions(-)
>> create mode 100644 arch/mips/include/asm/octeon/trace-clock.h
>>
>
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
[not found] ` <BLU0-SMTP53396496DB856B47F531CC96D20@phx.gbl>
@ 2011-02-16 19:03 ` Naresh Bhat
2011-02-16 19:03 ` Naresh Bhat
` (2 more replies)
0 siblings, 3 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-16 19:03 UTC (permalink / raw)
Hi David/Matheu,
Yes, It was my mistake. I am sorry about that.
Here is my back ported working patch for 2.6.32 with lttng patch set
0.188 on MIPS architecture CAVM octeon plus (52xx, 58xx) boards.
==============================================================================================
From abd8fb81cc1aea87a2867736251d1be15e02a51c Mon Sep 17 00:00:00 2001
From: Naresh Bhat <nareshgbhat@gmail.com>
Date: Wed, 16 Feb 2011 18:00:19 +0530
Subject: [PATCH] fix lttng mips use 64 bit counter for trace clock,
get_cycles on octeon
---
arch/mips/Kconfig | 7 ++++
arch/mips/include/asm/octeon/trace-clock.h | 43
++++++++++++++++++++++++++++
arch/mips/include/asm/timex.h | 35 ++++++++++++++++++++++-
arch/mips/include/asm/trace-clock.h | 5 +++
arch/mips/kernel/smp.c | 2 +
5 files changed, 91 insertions(+), 1 deletions(-)
create mode 100644 arch/mips/include/asm/octeon/trace-clock.h
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 2aaf0a3..8e19a6d 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1739,10 +1739,17 @@ config CPU_R4400_WORKAROUNDS
config HAVE_GET_CYCLES_32
def_bool y
depends on !CPU_R4400_WORKAROUNDS
+ depends on !CPU_CAVIUM_OCTEON
select HAVE_TRACE_CLOCK
select HAVE_TRACE_CLOCK_32_TO_64
select HAVE_UNSYNCHRONIZED_TSC
+config HAVE_GET_CYCLES
+ def_bool y
+ depends on CPU_CAVIUM_OCTEON
+ select HAVE_TRACE_CLOCK
+ select HAVE_UNSYNCHRONIZED_TSC
+
#
# Use the generic interrupt handling code in kernel/irq/:
#
diff --git a/arch/mips/include/asm/octeon/trace-clock.h
b/arch/mips/include/asm/octeon/trace-clock.h
new file mode 100644
index 0000000..41345a7
--- /dev/null
+++ b/arch/mips/include/asm/octeon/trace-clock.h
@@ -0,0 +1,43 @@
+/*
+** Copyright (C) 2005,2008 Mathieu Desnoyers
+**
+** Trace clock MIPS Octeon definitions.
+**/
+
+#ifndef _ASM_MIPS_OCTEON_TRACE_CLOCK_H
+#define _ASM_MIPS_OCTEON_TRACE_CLOCK_H
+
+#include <asm/octeon/octeon.h>
+
+#define TC_HW_BITS 64
+
+static inline u32 trace_clock_read32(void)
+{
+ return (u32)read_c0_cvmcount(); /* only need the 32 LSB */
+}
+
+static inline u64 trace_clock_read64(void)
+{
+ return read_c0_cvmcount();
+}
+
+static inline u64 trace_clock_frequency(void)
+{
+ return octeon_get_clock_rate();
+}
+
+static inline u32 trace_clock_freq_scale(void)
+{
+ return 1;
+}
+
+static inline void get_trace_clock(void)
+{
+ return;
+}
+static inline void put_trace_clock(void)
+{
+ return;
+}
+#endif /* _ASM_MIPS_OCTEON_TRACE_CLOCK_H */
+
diff --git a/arch/mips/include/asm/timex.h b/arch/mips/include/asm/timex.h
index 10c8dd8..13256b4 100644
--- a/arch/mips/include/asm/timex.h
+++ b/arch/mips/include/asm/timex.h
@@ -42,9 +42,42 @@ extern unsigned int mips_hpt_frequency;
* will result in the timer interrupt getting lost.
*/
+#if defined(CONFIG_CPU_CAVIUM_OCTEON)
+/* Since the Octeon supports a 64 bit cycle counter we might as well use
+ * it. We can't use it with an O32 kernel since 64bit registers are not
+ * saved. */
+typedef unsigned long cycles_t;
+#else
typedef unsigned int cycles_t;
+#endif
+
+#ifdef CONFIG_HAVE_GET_CYCLES
+# ifdef CONFIG_CPU_CAVIUM_OCTEON
+static inline cycles_t get_cycles(void)
+{
+ return read_c0_cvmcount();
+}
+
+static inline void get_cycles_barrier(void)
+{
+}
+
+static inline cycles_t get_cycles_rate(void)
+{
+ return mips_hpt_frequency;
+}
+
+extern int test_tsc_synchronization(void);
+extern int _tsc_is_sync;
+static inline int tsc_is_sync(void)
+{
+ return _tsc_is_sync;
+}
+# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
architectures"
+# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+#elif defined(CONFIG_HAVE_GET_CYCLES_32)
-#ifdef CONFIG_HAVE_GET_CYCLES_32
static inline cycles_t get_cycles(void)
{
return read_c0_count();
diff --git a/arch/mips/include/asm/trace-clock.h
b/arch/mips/include/asm/trace-clock.h
index 3d8cb0f..3c9c638 100644
--- a/arch/mips/include/asm/trace-clock.h
+++ b/arch/mips/include/asm/trace-clock.h
@@ -12,6 +12,10 @@
#define TRACE_CLOCK_MIN_PROBE_DURATION 200
+#ifdef CONFIG_CPU_CAVIUM_OCTEON
+# include <asm/octeon/trace-clock.h>
+#else /* !CONFIG_CPU_CAVIUM_OCTEON */
+
/*
* Number of hardware clock bits. The higher order bits are expected to be
0.
* If the hardware clock source has more than 32 bits, the bits higher than
the
@@ -65,6 +69,7 @@ static inline void put_trace_clock(void)
{
put_synthetic_tsc();
}
+#endif /* CONFIG_CPU_CAVIUM_OCTEON */
static inline void set_trace_clock_is_sync(int state)
{
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index f8c50d1..42083eb 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -159,7 +159,9 @@ void __init smp_cpus_done(unsigned int max_cpus)
{
mp_ops->cpus_done();
synchronise_count_master();
+#ifdef CONFIG_HAVE_UNSYNCHRONIZED_TSC
test_tsc_synchronization();
+#endif
}
/* called from main before smp_init() */
--
1.6.3.3.209.g83a28
==============================================================================================
*
*
*Thanks and Regards*
*-Naresh Bhat*
On Thu, Feb 17, 2011 at 12:10 AM, Mathieu Desnoyers <
compudj at krystal.dyndns.org> wrote:
> * David Daney (ddaney at caviumnetworks.com) wrote:
> > On 02/16/2011 03:26 AM, Naresh Bhat wrote:
> >> Hi Mathieu/David,
> >>
> >> Thank you very much for all your support.
> >> Here is my back ported working patch for 2.6.32 with lttng patch set
> 0.188
> >> kernel
> >>
> >>
> ====================================================================================================
> >> Description:
> >>
> >> fix lttng mips use 64 bit counter for trace clock
> >> and fix octeon get_cycles
> >>
> >> Signed-off-by: David Daney<ddaney at caviumnetworks.com>
> >
> > I don't recall being the author of this patch, nor having really been
> > associated with it in any way.
> >
> > Did someone other than me add my Signed-off-by: header? If so, please
> > remove it.
>
> Hi David,
>
> It looks like Naresh mistakenly attributed both of us with sign-off.
> This is a patch being posted for older lttng versions, so it won't end
> up in any LTTng tree. But Naresh should repost it without our sign-offs
>
> >> Signed-off-by: Mathieu Desnoyers<mathieu.desnoyers at efficios.com>
>
> (to remove too)
>
> since this is code that has been produced by him.
>
> Naresh: See the Linux kernel Documentation/SubmittingPatches, section 12
> for details.
>
> Thanks,
>
> Mathieu
>
> >> Signed-off-by: Naresh Bhat<nareshgbhat at gmail.com>
> >> ---
> >> arch/mips/Kconfig | 7 ++++
> >> arch/mips/include/asm/octeon/trace-clock.h | 43
> >> ++++++++++++++++++++++++++++
> >> arch/mips/include/asm/timex.h | 35
> ++++++++++++++++++++++-
> >> arch/mips/include/asm/trace-clock.h | 6 ++++
> >> arch/mips/kernel/smp.c | 2 +
> >> 5 files changed, 92 insertions(+), 1 deletions(-)
> >> create mode 100644 arch/mips/include/asm/octeon/trace-clock.h
> >>
> >
>
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/ltt-dev/attachments/20110217/1b165418/attachment-0001.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-16 19:03 ` Naresh Bhat
@ 2011-02-16 19:03 ` Naresh Bhat
2011-02-16 19:03 ` Naresh Bhat
[not found] ` <AANLkTikbLY=HpDOUQYErk_CBgAd4NDJeL5otptRHT3Uj@mail.gmail.com>
2 siblings, 0 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-16 19:03 UTC (permalink / raw)
Hi David/Matheu,
Yes, It was my mistake. I am sorry about that.
Here is my back ported working patch for 2.6.32 with lttng patch set
0.188 on MIPS architecture CAVM octeon plus (52xx, 58xx) boards.
==============================================================================================
From abd8fb81cc1aea87a2867736251d1be15e02a51c Mon Sep 17 00:00:00 2001
From: Naresh Bhat <nareshgbhat@gmail.com>
Date: Wed, 16 Feb 2011 18:00:19 +0530
Subject: [PATCH] fix lttng mips use 64 bit counter for trace clock,
get_cycles on octeon
---
arch/mips/Kconfig | 7 ++++
arch/mips/include/asm/octeon/trace-clock.h | 43
++++++++++++++++++++++++++++
arch/mips/include/asm/timex.h | 35 ++++++++++++++++++++++-
arch/mips/include/asm/trace-clock.h | 5 +++
arch/mips/kernel/smp.c | 2 +
5 files changed, 91 insertions(+), 1 deletions(-)
create mode 100644 arch/mips/include/asm/octeon/trace-clock.h
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 2aaf0a3..8e19a6d 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1739,10 +1739,17 @@ config CPU_R4400_WORKAROUNDS
config HAVE_GET_CYCLES_32
def_bool y
depends on !CPU_R4400_WORKAROUNDS
+ depends on !CPU_CAVIUM_OCTEON
select HAVE_TRACE_CLOCK
select HAVE_TRACE_CLOCK_32_TO_64
select HAVE_UNSYNCHRONIZED_TSC
+config HAVE_GET_CYCLES
+ def_bool y
+ depends on CPU_CAVIUM_OCTEON
+ select HAVE_TRACE_CLOCK
+ select HAVE_UNSYNCHRONIZED_TSC
+
#
# Use the generic interrupt handling code in kernel/irq/:
#
diff --git a/arch/mips/include/asm/octeon/trace-clock.h
b/arch/mips/include/asm/octeon/trace-clock.h
new file mode 100644
index 0000000..41345a7
--- /dev/null
+++ b/arch/mips/include/asm/octeon/trace-clock.h
@@ -0,0 +1,43 @@
+/*
+** Copyright (C) 2005,2008 Mathieu Desnoyers
+**
+** Trace clock MIPS Octeon definitions.
+**/
+
+#ifndef _ASM_MIPS_OCTEON_TRACE_CLOCK_H
+#define _ASM_MIPS_OCTEON_TRACE_CLOCK_H
+
+#include <asm/octeon/octeon.h>
+
+#define TC_HW_BITS 64
+
+static inline u32 trace_clock_read32(void)
+{
+ return (u32)read_c0_cvmcount(); /* only need the 32 LSB */
+}
+
+static inline u64 trace_clock_read64(void)
+{
+ return read_c0_cvmcount();
+}
+
+static inline u64 trace_clock_frequency(void)
+{
+ return octeon_get_clock_rate();
+}
+
+static inline u32 trace_clock_freq_scale(void)
+{
+ return 1;
+}
+
+static inline void get_trace_clock(void)
+{
+ return;
+}
+static inline void put_trace_clock(void)
+{
+ return;
+}
+#endif /* _ASM_MIPS_OCTEON_TRACE_CLOCK_H */
+
diff --git a/arch/mips/include/asm/timex.h b/arch/mips/include/asm/timex.h
index 10c8dd8..13256b4 100644
--- a/arch/mips/include/asm/timex.h
+++ b/arch/mips/include/asm/timex.h
@@ -42,9 +42,42 @@ extern unsigned int mips_hpt_frequency;
* will result in the timer interrupt getting lost.
*/
+#if defined(CONFIG_CPU_CAVIUM_OCTEON)
+/* Since the Octeon supports a 64 bit cycle counter we might as well use
+ * it. We can't use it with an O32 kernel since 64bit registers are not
+ * saved. */
+typedef unsigned long cycles_t;
+#else
typedef unsigned int cycles_t;
+#endif
+
+#ifdef CONFIG_HAVE_GET_CYCLES
+# ifdef CONFIG_CPU_CAVIUM_OCTEON
+static inline cycles_t get_cycles(void)
+{
+ return read_c0_cvmcount();
+}
+
+static inline void get_cycles_barrier(void)
+{
+}
+
+static inline cycles_t get_cycles_rate(void)
+{
+ return mips_hpt_frequency;
+}
+
+extern int test_tsc_synchronization(void);
+extern int _tsc_is_sync;
+static inline int tsc_is_sync(void)
+{
+ return _tsc_is_sync;
+}
+# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
architectures"
+# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+#elif defined(CONFIG_HAVE_GET_CYCLES_32)
-#ifdef CONFIG_HAVE_GET_CYCLES_32
static inline cycles_t get_cycles(void)
{
return read_c0_count();
diff --git a/arch/mips/include/asm/trace-clock.h
b/arch/mips/include/asm/trace-clock.h
index 3d8cb0f..3c9c638 100644
--- a/arch/mips/include/asm/trace-clock.h
+++ b/arch/mips/include/asm/trace-clock.h
@@ -12,6 +12,10 @@
#define TRACE_CLOCK_MIN_PROBE_DURATION 200
+#ifdef CONFIG_CPU_CAVIUM_OCTEON
+# include <asm/octeon/trace-clock.h>
+#else /* !CONFIG_CPU_CAVIUM_OCTEON */
+
/*
* Number of hardware clock bits. The higher order bits are expected to be
0.
* If the hardware clock source has more than 32 bits, the bits higher than
the
@@ -65,6 +69,7 @@ static inline void put_trace_clock(void)
{
put_synthetic_tsc();
}
+#endif /* CONFIG_CPU_CAVIUM_OCTEON */
static inline void set_trace_clock_is_sync(int state)
{
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index f8c50d1..42083eb 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -159,7 +159,9 @@ void __init smp_cpus_done(unsigned int max_cpus)
{
mp_ops->cpus_done();
synchronise_count_master();
+#ifdef CONFIG_HAVE_UNSYNCHRONIZED_TSC
test_tsc_synchronization();
+#endif
}
/* called from main before smp_init() */
--
1.6.3.3.209.g83a28
==============================================================================================
*
*
*Thanks and Regards*
*-Naresh Bhat*
On Thu, Feb 17, 2011 at 12:10 AM, Mathieu Desnoyers <
compudj at krystal.dyndns.org> wrote:
> * David Daney (ddaney at caviumnetworks.com) wrote:
> > On 02/16/2011 03:26 AM, Naresh Bhat wrote:
> >> Hi Mathieu/David,
> >>
> >> Thank you very much for all your support.
> >> Here is my back ported working patch for 2.6.32 with lttng patch set
> 0.188
> >> kernel
> >>
> >>
> ====================================================================================================
> >> Description:
> >>
> >> fix lttng mips use 64 bit counter for trace clock
> >> and fix octeon get_cycles
> >>
> >> Signed-off-by: David Daney<ddaney at caviumnetworks.com>
> >
> > I don't recall being the author of this patch, nor having really been
> > associated with it in any way.
> >
> > Did someone other than me add my Signed-off-by: header? If so, please
> > remove it.
>
> Hi David,
>
> It looks like Naresh mistakenly attributed both of us with sign-off.
> This is a patch being posted for older lttng versions, so it won't end
> up in any LTTng tree. But Naresh should repost it without our sign-offs
>
> >> Signed-off-by: Mathieu Desnoyers<mathieu.desnoyers at efficios.com>
>
> (to remove too)
>
> since this is code that has been produced by him.
>
> Naresh: See the Linux kernel Documentation/SubmittingPatches, section 12
> for details.
>
> Thanks,
>
> Mathieu
>
> >> Signed-off-by: Naresh Bhat<nareshgbhat at gmail.com>
> >> ---
> >> arch/mips/Kconfig | 7 ++++
> >> arch/mips/include/asm/octeon/trace-clock.h | 43
> >> ++++++++++++++++++++++++++++
> >> arch/mips/include/asm/timex.h | 35
> ++++++++++++++++++++++-
> >> arch/mips/include/asm/trace-clock.h | 6 ++++
> >> arch/mips/kernel/smp.c | 2 +
> >> 5 files changed, 92 insertions(+), 1 deletions(-)
> >> create mode 100644 arch/mips/include/asm/octeon/trace-clock.h
> >>
> >
>
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110217/1b165418/attachment-0003.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] lttv unable to execute textDump on MIPS multicore target
2011-02-16 19:03 ` Naresh Bhat
2011-02-16 19:03 ` Naresh Bhat
@ 2011-02-16 19:03 ` Naresh Bhat
[not found] ` <AANLkTikbLY=HpDOUQYErk_CBgAd4NDJeL5otptRHT3Uj@mail.gmail.com>
2 siblings, 0 replies; 34+ messages in thread
From: Naresh Bhat @ 2011-02-16 19:03 UTC (permalink / raw)
Hi David/Matheu,
Yes, It was my mistake. I am sorry about that.
Here is my back ported working patch for 2.6.32 with lttng patch set
0.188 on MIPS architecture CAVM octeon plus (52xx, 58xx) boards.
==============================================================================================
From abd8fb81cc1aea87a2867736251d1be15e02a51c Mon Sep 17 00:00:00 2001
From: Naresh Bhat <nareshgbhat@gmail.com>
Date: Wed, 16 Feb 2011 18:00:19 +0530
Subject: [PATCH] fix lttng mips use 64 bit counter for trace clock,
get_cycles on octeon
---
arch/mips/Kconfig | 7 ++++
arch/mips/include/asm/octeon/trace-clock.h | 43
++++++++++++++++++++++++++++
arch/mips/include/asm/timex.h | 35 ++++++++++++++++++++++-
arch/mips/include/asm/trace-clock.h | 5 +++
arch/mips/kernel/smp.c | 2 +
5 files changed, 91 insertions(+), 1 deletions(-)
create mode 100644 arch/mips/include/asm/octeon/trace-clock.h
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 2aaf0a3..8e19a6d 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -1739,10 +1739,17 @@ config CPU_R4400_WORKAROUNDS
config HAVE_GET_CYCLES_32
def_bool y
depends on !CPU_R4400_WORKAROUNDS
+ depends on !CPU_CAVIUM_OCTEON
select HAVE_TRACE_CLOCK
select HAVE_TRACE_CLOCK_32_TO_64
select HAVE_UNSYNCHRONIZED_TSC
+config HAVE_GET_CYCLES
+ def_bool y
+ depends on CPU_CAVIUM_OCTEON
+ select HAVE_TRACE_CLOCK
+ select HAVE_UNSYNCHRONIZED_TSC
+
#
# Use the generic interrupt handling code in kernel/irq/:
#
diff --git a/arch/mips/include/asm/octeon/trace-clock.h
b/arch/mips/include/asm/octeon/trace-clock.h
new file mode 100644
index 0000000..41345a7
--- /dev/null
+++ b/arch/mips/include/asm/octeon/trace-clock.h
@@ -0,0 +1,43 @@
+/*
+** Copyright (C) 2005,2008 Mathieu Desnoyers
+**
+** Trace clock MIPS Octeon definitions.
+**/
+
+#ifndef _ASM_MIPS_OCTEON_TRACE_CLOCK_H
+#define _ASM_MIPS_OCTEON_TRACE_CLOCK_H
+
+#include <asm/octeon/octeon.h>
+
+#define TC_HW_BITS 64
+
+static inline u32 trace_clock_read32(void)
+{
+ return (u32)read_c0_cvmcount(); /* only need the 32 LSB */
+}
+
+static inline u64 trace_clock_read64(void)
+{
+ return read_c0_cvmcount();
+}
+
+static inline u64 trace_clock_frequency(void)
+{
+ return octeon_get_clock_rate();
+}
+
+static inline u32 trace_clock_freq_scale(void)
+{
+ return 1;
+}
+
+static inline void get_trace_clock(void)
+{
+ return;
+}
+static inline void put_trace_clock(void)
+{
+ return;
+}
+#endif /* _ASM_MIPS_OCTEON_TRACE_CLOCK_H */
+
diff --git a/arch/mips/include/asm/timex.h b/arch/mips/include/asm/timex.h
index 10c8dd8..13256b4 100644
--- a/arch/mips/include/asm/timex.h
+++ b/arch/mips/include/asm/timex.h
@@ -42,9 +42,42 @@ extern unsigned int mips_hpt_frequency;
* will result in the timer interrupt getting lost.
*/
+#if defined(CONFIG_CPU_CAVIUM_OCTEON)
+/* Since the Octeon supports a 64 bit cycle counter we might as well use
+ * it. We can't use it with an O32 kernel since 64bit registers are not
+ * saved. */
+typedef unsigned long cycles_t;
+#else
typedef unsigned int cycles_t;
+#endif
+
+#ifdef CONFIG_HAVE_GET_CYCLES
+# ifdef CONFIG_CPU_CAVIUM_OCTEON
+static inline cycles_t get_cycles(void)
+{
+ return read_c0_cvmcount();
+}
+
+static inline void get_cycles_barrier(void)
+{
+}
+
+static inline cycles_t get_cycles_rate(void)
+{
+ return mips_hpt_frequency;
+}
+
+extern int test_tsc_synchronization(void);
+extern int _tsc_is_sync;
+static inline int tsc_is_sync(void)
+{
+ return _tsc_is_sync;
+}
+# else /* #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+# error "64-bit get_cycles() supported only on Cavium Octeon MIPS
architectures"
+# endif /* #else #ifdef CONFIG_CPU_CAVIUM_OCTEON */
+#elif defined(CONFIG_HAVE_GET_CYCLES_32)
-#ifdef CONFIG_HAVE_GET_CYCLES_32
static inline cycles_t get_cycles(void)
{
return read_c0_count();
diff --git a/arch/mips/include/asm/trace-clock.h
b/arch/mips/include/asm/trace-clock.h
index 3d8cb0f..3c9c638 100644
--- a/arch/mips/include/asm/trace-clock.h
+++ b/arch/mips/include/asm/trace-clock.h
@@ -12,6 +12,10 @@
#define TRACE_CLOCK_MIN_PROBE_DURATION 200
+#ifdef CONFIG_CPU_CAVIUM_OCTEON
+# include <asm/octeon/trace-clock.h>
+#else /* !CONFIG_CPU_CAVIUM_OCTEON */
+
/*
* Number of hardware clock bits. The higher order bits are expected to be
0.
* If the hardware clock source has more than 32 bits, the bits higher than
the
@@ -65,6 +69,7 @@ static inline void put_trace_clock(void)
{
put_synthetic_tsc();
}
+#endif /* CONFIG_CPU_CAVIUM_OCTEON */
static inline void set_trace_clock_is_sync(int state)
{
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c
index f8c50d1..42083eb 100644
--- a/arch/mips/kernel/smp.c
+++ b/arch/mips/kernel/smp.c
@@ -159,7 +159,9 @@ void __init smp_cpus_done(unsigned int max_cpus)
{
mp_ops->cpus_done();
synchronise_count_master();
+#ifdef CONFIG_HAVE_UNSYNCHRONIZED_TSC
test_tsc_synchronization();
+#endif
}
/* called from main before smp_init() */
--
1.6.3.3.209.g83a28
==============================================================================================
*
*
*Thanks and Regards*
*-Naresh Bhat*
On Thu, Feb 17, 2011 at 12:10 AM, Mathieu Desnoyers <
compudj at krystal.dyndns.org> wrote:
> * David Daney (ddaney at caviumnetworks.com) wrote:
> > On 02/16/2011 03:26 AM, Naresh Bhat wrote:
> >> Hi Mathieu/David,
> >>
> >> Thank you very much for all your support.
> >> Here is my back ported working patch for 2.6.32 with lttng patch set
> 0.188
> >> kernel
> >>
> >>
> ====================================================================================================
> >> Description:
> >>
> >> fix lttng mips use 64 bit counter for trace clock
> >> and fix octeon get_cycles
> >>
> >> Signed-off-by: David Daney<ddaney at caviumnetworks.com>
> >
> > I don't recall being the author of this patch, nor having really been
> > associated with it in any way.
> >
> > Did someone other than me add my Signed-off-by: header? If so, please
> > remove it.
>
> Hi David,
>
> It looks like Naresh mistakenly attributed both of us with sign-off.
> This is a patch being posted for older lttng versions, so it won't end
> up in any LTTng tree. But Naresh should repost it without our sign-offs
>
> >> Signed-off-by: Mathieu Desnoyers<mathieu.desnoyers at efficios.com>
>
> (to remove too)
>
> since this is code that has been produced by him.
>
> Naresh: See the Linux kernel Documentation/SubmittingPatches, section 12
> for details.
>
> Thanks,
>
> Mathieu
>
> >> Signed-off-by: Naresh Bhat<nareshgbhat at gmail.com>
> >> ---
> >> arch/mips/Kconfig | 7 ++++
> >> arch/mips/include/asm/octeon/trace-clock.h | 43
> >> ++++++++++++++++++++++++++++
> >> arch/mips/include/asm/timex.h | 35
> ++++++++++++++++++++++-
> >> arch/mips/include/asm/trace-clock.h | 6 ++++
> >> arch/mips/kernel/smp.c | 2 +
> >> 5 files changed, 92 insertions(+), 1 deletions(-)
> >> create mode 100644 arch/mips/include/asm/octeon/trace-clock.h
> >>
> >
>
> --
> Mathieu Desnoyers
> Operating System Efficiency R&D Consultant
> EfficiOS Inc.
> http://www.efficios.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.casi.polymtl.ca/pipermail/lttng-dev/attachments/20110217/1b165418/attachment-0002.htm>
^ permalink raw reply [flat|nested] 34+ messages in thread
* [ltt-dev] [RELEASE] LTTng 0.245 (mips fix)
[not found] ` <20110218145546.GA13022@Krystal>
@ 2011-02-18 15:04 ` Mathieu Desnoyers
0 siblings, 0 replies; 34+ messages in thread
From: Mathieu Desnoyers @ 2011-02-18 15:04 UTC (permalink / raw)
* Mathieu Desnoyers (compudj at krystal.dyndns.org) wrote:
> * Naresh Bhat (nareshgbhat at gmail.com) wrote:
[...]
> > +
> > #ifdef CONFIG_HAVE_GET_CYCLES
> > # ifdef CONFIG_CPU_CAVIUM_OCTEON
> > typedef unsigned int cycles_t;
>
> Actually, it's this line right here (above) that is incorrect. I will
> refresh the patch and post an updated version. (int -> long)
It is now released in LTTng 0.245.
Thanks,
Mathieu
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
^ permalink raw reply [flat|nested] 34+ messages in thread
end of thread, other threads:[~2011-02-18 15:04 UTC | newest]
Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-02-11 6:38 [ltt-dev] lttv unable to execute textDump on MIPS multicore target Naresh Bhat
2011-02-11 6:38 ` Naresh Bhat
2011-02-11 6:38 ` Naresh Bhat
2011-02-11 7:07 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP48F24DF0C4B7D6CF250B2696EF0@phx.gbl>
2011-02-11 7:30 ` Naresh Bhat
2011-02-11 7:30 ` Naresh Bhat
2011-02-11 7:30 ` Naresh Bhat
2011-02-11 14:26 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP19709C87A494AE8507C77296EF0@phx.gbl>
2011-02-14 8:48 ` Naresh Bhat
2011-02-14 8:48 ` Naresh Bhat
2011-02-14 8:48 ` Naresh Bhat
2011-02-14 14:39 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP86B1C8A867AFBF486A0DEB96D00@phx.gbl>
2011-02-14 17:48 ` David Daney
2011-02-14 19:43 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP381C9DC048B0AF55E0C00596D00@phx.gbl>
2011-02-14 19:50 ` David Daney
2011-02-14 19:56 ` Mathieu Desnoyers
[not found] ` <20110214195622.GA18825@Krystal>
2011-02-15 3:32 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP25F09381155A8E4CF8878B96D30@phx.gbl>
2011-02-15 13:30 ` Naresh Bhat
2011-02-15 13:30 ` Naresh Bhat
2011-02-15 13:30 ` Naresh Bhat
2011-02-15 14:05 ` Mathieu Desnoyers
2011-02-15 14:05 ` Naresh Bhat
2011-02-15 14:05 ` Naresh Bhat
2011-02-15 14:05 ` Naresh Bhat
2011-02-15 14:09 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP89B659A630D5B5735DB78696D30@phx.gbl>
2011-02-16 11:26 ` Naresh Bhat
2011-02-16 11:26 ` Naresh Bhat
2011-02-16 11:26 ` Naresh Bhat
2011-02-16 17:23 ` David Daney
2011-02-16 18:40 ` Mathieu Desnoyers
[not found] ` <BLU0-SMTP53396496DB856B47F531CC96D20@phx.gbl>
2011-02-16 19:03 ` Naresh Bhat
2011-02-16 19:03 ` Naresh Bhat
2011-02-16 19:03 ` Naresh Bhat
[not found] ` <AANLkTikbLY=HpDOUQYErk_CBgAd4NDJeL5otptRHT3Uj@mail.gmail.com>
[not found] ` <20110218145546.GA13022@Krystal>
2011-02-18 15:04 ` [ltt-dev] [RELEASE] LTTng 0.245 (mips fix) Mathieu Desnoyers
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox