Mirror of the lttng-dev mailing list
 help / color / mirror / Atom feed
* [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
                           ` (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/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
  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/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
  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/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
                                         ` (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/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