回复: Xenomai Digest, Vol 95, Issue 29
songqianyu
songqianyu at countrygarden.com.cn
Mon Mar 30 13:44:12 CEST 2020
I do this test by : first run altency and cyclictest xenomai examples, the second echo 1 > enable , echo 1 > max, cat max; or echo 1 > frozen, then cat frozen, if have problem, please tell me which is the right steps for me to do these test? Thank you.
发送自 Windows 10 版邮件<https://go.microsoft.com/fwlink/?LinkId=550986>应用
发件人: xenomai-request at xenomai.org<mailto:xenomai-request at xenomai.org>
发送时间: 2020年3月27日 17:07
收件人: xenomai at xenomai.org<mailto:xenomai at xenomai.org>
主题: Xenomai Digest, Vol 95, Issue 29
Send Xenomai mailing list submissions to
xenomai at xenomai.org
To subscribe or unsubscribe via the World Wide Web, visit
https://xenomai.org/mailman/listinfo/xenomai
or, via email, send a message with subject or body 'help' to
xenomai-request at xenomai.org
You can reach the person managing the list at
xenomai-owner at xenomai.org
When replying, please edit your Subject line so it is more specific
than "Re: Contents of Xenomai digest..."
Today's Topics:
1. RE: Hello,Everyone!when I using I-pipe trace, I have
some problems about it,Please give me some suggestions。In
addition, how is the frozen tool used? Why does the data obtained
by cat frozen not change when I run the intensity demo? (Meng, Fino)
2. Re: Directory /proc/xenomai/registry/rtipc/xddp does not
exist (Jan Kiszka)
3. Re: Hello,Everyone!when I using I-pipe trace, I have
some problems about it,Please give me some suggestions。In
addition, how is the frozen tool used? Why does the data obtained
by cat frozen not change when I run the intensity demo? (Jan Kiszka)
----------------------------------------------------------------------
Message: 1
Date: Fri, 27 Mar 2020 00:27:03 +0000
From: "Meng, Fino" <fino.meng at intel.com>
To: songqianyu <songqianyu at countrygarden.com.cn>
Cc: "xenomai at xenomai.org" <xenomai at xenomai.org>
Subject: RE: Hello,Everyone!when I using I-pipe trace, I have
some problems about it,Please give me some suggestions。In
addition, how is the frozen tool used? Why does the data obtained by
cat frozen not change when I run the intensity demo?
Message-ID: <f9f60fd4adf34e8d9987fa8c7e27b3fa at intel.com>
Content-Type: text/plain; charset="utf-8"
Hello Qianyu,
Would you pls provide more details on the steps how did u do the test,
assume other people not familiar with what u doing and , can repeat your test from your description easily,
thanks!
BR / Fino (孟祥夫)
Intel – IOTG Developer Enabling
-----Original Message-----
From: Xenomai <xenomai-bounces at xenomai.org> On Behalf Of songqianyu via Xenomai
Sent: Wednesday, March 25, 2020 5:07 PM
To: xenomai at xenomai.org
Subject: Hello,Everyone!when I using I-pipe trace, I have some problems about it,Please give me some suggestions。In addition, how is the frozen tool used? Why does the data obtained by cat frozen not change when I run the intensity demo?
When I use the max tool, the maximum value of cat is always in the function ipipe_test_root + 0x0. I don't think the demo on the wiki website is like this. What's the matter?
1、 Type User Val. Time Delay Function (Parent)
2、 #func -1 0.098 ipipe_unstall_root+0x0 (ipipe_restore_root+0x1c)
3、 | #begin 0x80000000 -1 0.109 ipipe_unstall_root+0x51 (ipipe_restore_root+0x1c)
4、 | #func 0 0.147 ipipe_root_only+0x0 (ipipe_unstall_root+0x16)
5、 | +end 0x80000000 0 0.107 ipipe_trace_end+0x14 (ipipe_unstall_root+0x42)
6、 +func 0 0.122 mutex_unlock+0x0 (n_tty_read+0x2fb)
7、 +func 0 0.107 tty_ldisc_deref+0x0 (tty_read+0xa4)
8、 +func 0 0.108 ldsem_up_read+0x0 (tty_ldisc_deref+0x16)
9、 +func 0 0.110 ktime_get_real_seconds+0x0 (tty_read+0xae)
10、 +func 0 0.109 __fsnotify_parent+0x0 (vfs_read+0x10a)
11、 +func 0 0.112 fsnotify+0x0 (vfs_read+0x123)
12、 >| +begin 0x80000000 0 0.460 do_syscall_64+0x2c7 (entry_SYSCALL_64_after_hwframe+0x49)
13、 :| +func 0! 55.409 ipipe_test_root+0x0 (trace_hardirqs_on_virt_caller+0x79)
14、 :| +func 55 0.127 __ipipe_handle_irq+0x0 (apic_timer_interrupt+0x12)
15、 :| +begin 0x00001103 55 0.136 <7f9e5eee38c4> (apic_timer_interrupt+0x12)
16、 :| +func 56 0.116 __ipipe_dispatch_irq+0x0 (__ipipe_handle_irq+0xa6)
17、 :| +func 56 0.139 irq_to_desc+0x0 (__ipipe_dispatch_irq+0x35)
18、 :| +func 56 0.144 __ipipe_ack_hrtimer_irq+0x0 (__ipipe_dispatch_irq+0x102)
19、 :| +func 56 0.187 lapic_itimer_ack+0x0 (__ipipe_ack_hrtimer_irq+0x5f)
20、 :| +func 56 0.163 dispatch_irq_head+0x0 (__ipipe_dispatch_irq+0xb6)
21、 :|# func 56 0.160 xnintr_core_clock_handler+0x0 (dispatch_irq_head+0x9d)
22、 :|# func 57 0.134 xnlock_dbg_prepare_acquire+0x0 (xnintr_core_clock_handler+0x296)
23、 :|# func 57 0.107 xnlock_dbg_acquired+0x0 (xnintr_core_clock_handler+0x2df)
24、 :|# func 57 0.171 xnclock_tick+0x0 (xnintr_core_clock_handler+0xf1)
25、 :|# func 57 0.107 cobalt_timer_handler+0x0 (xnclock_tick+0xc5)
26、 :|# func 57 0.106 cobalt_signal_send_pid+0x0 (cobalt_timer_handler+0x2a)
27、 :|# func 57 0.117 cobalt_thread_find+0x0 (cobalt_signal_send_pid+0x12)
28、 :|# func 57 0.119 cobalt_signal_send+0x0 (cobalt_signal_send_pid+0x24)
29、 :|# func 57 0.125 xnsynch_wakeup_one_sleeper+0x0 (cobalt_signal_send+0xa6)
30、 :|# func 58 0.139 xnthread_resume+0x0 (xnsynch_wakeup_one_sleeper+0xda)
31、 :|# [ 7092] alt-sam 99 58 0.178 xnthread_resume+0xa9 (xnsynch_wakeup_one_sleeper+0xda)
32、 :|# func 58 0.117 xntimerq_insert+0x0 (xnclock_tick+0x21c)
33、 :|# func 58 0.098 xnclock_core_local_shot+0x0 (xnclock_tick+0x245)
34、 :|# event tick at 155 58 0.102 xnclock_core_local_shot+0x67 (xnclock_tick+0x245)
35、 :|# func 58 0.150 ipipe_timer_set+0x0 (xnclock_core_local_shot+0x6f)
36、 :|# func 58 0.177 lapic_next_deadline+0x0 (ipipe_timer_set+0x79)
37、 :|# func 59 0.127 xnlock_dbg_release+0x0 (xnintr_core_clock_handler+0x110)
38、 :|# func 59 0.157 ___xnsched_run+0x0 (xnintr_core_clock_handler+0x336)
39、 :|# func 59 0.122 xnlock_dbg_prepare_acquire+0x0 (___xnsched_run+0x3fc)
40、 :|# func 59 0.105 xnlock_dbg_acquired+0x0 (___xnsched_run+0x444)
41、 :|# [ 7053] bash -1 59 0.105 ___xnsched_run+0xe3 (xnintr_core_clock_handler+0x336)
42、 :|# func 59 0.109 xnsched_pick_next+0x0 (___xnsched_run+0x124)
43、 :|# func 59 0.135 __ipipe_notify_vm_preemption+0x0 (___xnsched_run+0x517)
44、 :|# func 59 0.110 xnarch_leave_root+0x0 (___xnsched_run+0x54c)
45、 :|# func 59 0.109 xntimer_start+0x0 (___xnsched_run+0x56f)
46、 :|# func 60 0.108 xnclock_core_ns_to_ticks+0x0 (xntimer_start+0x1b8)
47、 :|# func 60 0.104 xntimer_enqueue_and_program+0x0 (xntimer_start+0xfe)
48、 :|# func 60 0.110 xntimerq_insert+0x0 (xntimer_enqueue_and_program+0x18)
49、 :|# func 60 0.132 xntimer_heading_p+0x0 (xntimer_enqueue_and_program+0x2d)
50、 :|# func 60 0.115 xnarch_switch_to+0x0 (___xnsched_run+0x1da)
51、 :|# func 60 0.158 switch_mm_irqs_off+0x0 (xnarch_switch_to+0x2f)
52、 :|# func 60 0.445 load_new_mm_cr3+0x0 (switch_mm_irqs_off+0x326)
53、 :|# func 61 0.145 xnthread_switch_fpu+0x0 (___xnsched_run+0x22d)
54、 :|# func 61 0.095 xnarch_switch_fpu+0x0 (xnthread_switch_fpu+0x2d)
55、 :|# [ 7092] alt-sam 99 61 0.225 ___xnsched_run+0x24d (xnthread_suspend+0x497)
56、 :|# func 61 0.111 cobalt_timer_deliver+0x0 (signal_wait+0x556)
57、 :|# func 61 0.106 xntimer_get_overruns+0x0 (cobalt_timer_deliver+0x6d)
58、 :|# func 61 0.110 xnclock_core_ns_to_ticks+0x0 (xntimer_get_overruns+0x35)
59、 :|# func 62 0.128 xnlock_dbg_release+0x0 (signal_wait+0x528)
60、 :|# func 62 0.110 __ipipe_restore_head+0x0 (signal_wait+0x294)
61、 <|+ end 0x80000000 62 0.278 ipipe_trace_end+0x14 (__ipipe_restore_head+0x5b)
62、 |+ begin 0x80000000 62 0.000 do_syscall_64+0x71 (entry_SYSCALL_64_after_hwframe+0x49)
In addition, how is the frozen tool used? Why does the data obtained by cat frozen not change when I run the intensity demo?
I-pipe frozen back-tracing service on 4.19.84-bros-debug/ipipe release #8
------------------------------------------------------------
CPU: 0, Freeze: 245367883938480 cycles, Trace Points: 30 (+10) Calibrated minimum trace-point overhead: 0.064 us
+----- Hard IRQs ('|': locked)
|+-- Xenomai
||+- Linux ('*': domain stalled, '+': current, '#': current+stalled)
||| +---------- Delay flag ('+': > 1 us, '!': > 10 us)
||| | +- NMI noise ('N')
||| | |
Type User Val. Time Delay Function (Parent)
: +func -5 0.120 vfs_write+0x0 (ksys_write+0x5c)
: +func -5 0.134 rw_verify_area+0x0 (vfs_write+0x77)
: +func -5 0.163 security_file_permission+0x0 (rw_verify_area+0x4e)
: +func -5 0.110 apparmor_file_permission+0x0 (security_file_permission+0x3b)
: +func -5 0.136 common_file_perm+0x0 (apparmor_file_permission+0x1a)
: +func -4 0.160 aa_file_perm+0x0 (common_file_perm+0x4d)
: +func -4 0.105 __sb_start_write+0x0 (vfs_write+0x195)
: +func -4 0.099 ipipe_root_only+0x0 (__sb_start_write+0x3f)
:| +begin 0x80000001 -4 0.119 ipipe_root_only+0x79 (__sb_start_write+0x3f)
:| +end 0x80000001 -4 0.113 ipipe_trace_end+0x14 (ipipe_root_only+0x63)
: +func -4 0.106 _cond_resched+0x0 (__sb_start_write+0x44)
: +func -4 0.107 rcu_all_qs+0x0 (_cond_resched+0x19)
: +func -4 0.138 __vfs_write+0x0 (vfs_write+0xb8)
: +func -3 0.183 proc_reg_write+0x0 (__vfs_write+0x3a)
: +func -3 0.121 __ipipe_frozen_ctrl+0x0 (proc_reg_write+0x45)
: +func -3 0.108 __check_object_size+0x0 (__ipipe_frozen_ctrl+0x42)
: +func -3 0.614 check_stack_object+0x0 (__check_object_size+0x45)
: +func -2 0.115 mutex_lock+0x0 (__ipipe_frozen_ctrl+0x92)
: +func -2 0.100 ipipe_root_only+0x0 (mutex_lock+0x12)
:| +begin 0x80000001 -2 0.134 ipipe_root_only+0x79 (mutex_lock+0x12)
:| +end 0x80000001 -2 0.122 ipipe_trace_end+0x14 (ipipe_root_only+0x63)
: +func -2 0.117 _cond_resched+0x0 (mutex_lock+0x17)
: +func -2 0.133 rcu_all_qs+0x0 (_cond_resched+0x19)
: +func -2 0.110 ipipe_trace_frozen_reset+0x0 (__ipipe_frozen_ctrl+0x97)
: +func -2 0.104 __ipipe_global_path_lock+0x0 (ipipe_trace_frozen_reset+0x21)
: +func -2 0.110 __ipipe_spin_lock_irqsave+0x0 (__ipipe_global_path_lock+0x15)
:| +begin 0x80000001 -1+ 1.644 __ipipe_spin_lock_irqsave+0x72 (__ipipe_global_path_lock+0x15)
:| #func 0 0.151 __ipipe_spin_unlock_irqcomplete+0x0 (__ipipe_global_path_unlock+0x73)
:| +end 0x80000001 0 0.113 ipipe_trace_end+0x14 (__ipipe_spin_unlock_irqcomplete+0x37)
< +freeze 0xffffffffffffffff 0 0.139 proc_reg_write+0x45 (__vfs_write+0x3a)
+func 0 0.122 mutex_unlock+0x0 (__ipipe_frozen_ctrl+0xb1)
+func 0 0.110 unuse_pde+0x0 (proc_reg_write+0x50)
+func 0 0.110 __fsnotify_parent+0x0 (vfs_write+0x141)
+func 0 0.127 fsnotify+0x0 (vfs_write+0x15a)
+func 0 0.115 __sb_end_write+0x0 (vfs_write+0x16e)
| +begin 0x80000000 0 0.483 do_syscall_64+0x2c7 (entry_SYSCALL_64_after_hwframe+0x49)
| +func 1 1.109 ipipe_test_root+0x0 (trace_hardirqs_on_virt_caller+0x79)
| +func 2 0.139 do_syscall_64+0x0 (entry_SYSCALL_64_after_hwframe+0x49)
| +end 0x80000000 2 0.113 ipipe_trace_end+0x14 (do_syscall_64+0x7d)
+func 2 0.000 ipipe_handle_syscall+0x0 (do_syscall_64+0x46)
Can you tell me what the information reflects?
发送自 Windows 10 版邮件<https://go.microsoft.com/fwlink/?LinkId=550986>应用
________________________________
This information may contain confidential and/or privileged material and is only transmitted for the intended recipient. Any review, retransmission, conversion to hard copy, copying, reproduction, circulation, publication, dissemination or other use of, or taking of any action, or omission to take action, in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this message in error, please contact the sender and delete the material from any computer, disk drive, diskette, or other storage device or media.
本信息可能包括某些保密的資料,並且只發送給特定的收信人。禁止除特定收信人以外的其他任何人士或機構閱讀、轉發、列印、複製、傳閱、出版、散播或以其它方式使用本信息,或依賴本信息作出或不作出任何行為。如果閣下錯誤地收到本信息,請聯絡發信人並從任何電腦、磁片、磁碟或其它存儲裝置或媒體中刪除本信息。
------------------------------
Message: 2
Date: Fri, 27 Mar 2020 10:07:25 +0100
From: Jan Kiszka <jan.kiszka at web.de>
To: Jona Ostermann <Jona.Ostermann at janztec.com>, "xenomai at xenomai.org"
<xenomai at xenomai.org>
Subject: Re: Directory /proc/xenomai/registry/rtipc/xddp does not
exist
Message-ID: <4426b307-184f-0422-afe8-2d9d41625608 at web.de>
Content-Type: text/plain; charset=utf-8; format=flowed
On 26.03.20 11:12, Jona Ostermann via Xenomai wrote:
> Hello,
>
> one of our customers hast he problem that he needs a registry link in the directory /proc/xenomai/registry/rtipc/xddp.
> But the directory does not exist, only /proc/xenomai/registry/ exists.
>
> What could be the problem?
> Is a special kernel configuration required or does a special kernel module need to be loaded?
>
The links show up once xddp is being used. You can check that via
smokey's xddp test.
If that is not the case, compare configuration and versions of the
reference xenomai-images against your setup and share your findings.
Jan
------------------------------
Message: 3
Date: Fri, 27 Mar 2020 10:07:18 +0100
From: Jan Kiszka <jan.kiszka at web.de>
To: songqianyu <songqianyu at countrygarden.com.cn>,
"xenomai at xenomai.org" <xenomai at xenomai.org>
Subject: Re: Hello,Everyone!when I using I-pipe trace, I have
some problems about it,Please give me some suggestions。In
addition, how is the frozen tool used? Why does the data obtained by
cat frozen not change when I run the intensity demo?
Message-ID: <ec884898-f272-ebb4-79f5-06276ccd6734 at web.de>
Content-Type: text/plain; charset=utf-8; format=flowed
On 25.03.20 10:06, songqianyu via Xenomai wrote:
> When I use the max tool, the maximum value of cat is always in the function ipipe_test_root + 0x0. I don't think the demo on the wiki website is like this. What's the matter?
>
> 1、 Type User Val. Time Delay Function (Parent)
>
> 2、 #func -1 0.098 ipipe_unstall_root+0x0 (ipipe_restore_root+0x1c)
>
> 3、 | #begin 0x80000000 -1 0.109 ipipe_unstall_root+0x51 (ipipe_restore_root+0x1c)
>
> 4、 | #func 0 0.147 ipipe_root_only+0x0 (ipipe_unstall_root+0x16)
>
> 5、 | +end 0x80000000 0 0.107 ipipe_trace_end+0x14 (ipipe_unstall_root+0x42)
>
> 6、 +func 0 0.122 mutex_unlock+0x0 (n_tty_read+0x2fb)
>
> 7、 +func 0 0.107 tty_ldisc_deref+0x0 (tty_read+0xa4)
>
> 8、 +func 0 0.108 ldsem_up_read+0x0 (tty_ldisc_deref+0x16)
>
> 9、 +func 0 0.110 ktime_get_real_seconds+0x0 (tty_read+0xae)
>
> 10、 +func 0 0.109 __fsnotify_parent+0x0 (vfs_read+0x10a)
>
> 11、 +func 0 0.112 fsnotify+0x0 (vfs_read+0x123)
>
> 12、 >| +begin 0x80000000 0 0.460 do_syscall_64+0x2c7 (entry_SYSCALL_64_after_hwframe+0x49)
>
> 13、 :| +func 0! 55.409 ipipe_test_root+0x0 (trace_hardirqs_on_virt_caller+0x79)
>
> 14、 :| +func 55 0.127 __ipipe_handle_irq+0x0 (apic_timer_interrupt+0x12)
>
> 15、 :| +begin 0x00001103 55 0.136 <7f9e5eee38c4> (apic_timer_interrupt+0x12)
>
This pattern looks to me like we are missing an "interrupts enable"
("end") instrumentation.
What is your configuration, which versions are you using?
> 16、 :| +func 56 0.116 __ipipe_dispatch_irq+0x0 (__ipipe_handle_irq+0xa6)
>
> 17、 :| +func 56 0.139 irq_to_desc+0x0 (__ipipe_dispatch_irq+0x35)
>
> 18、 :| +func 56 0.144 __ipipe_ack_hrtimer_irq+0x0 (__ipipe_dispatch_irq+0x102)
>
> 19、 :| +func 56 0.187 lapic_itimer_ack+0x0 (__ipipe_ack_hrtimer_irq+0x5f)
>
> 20、 :| +func 56 0.163 dispatch_irq_head+0x0 (__ipipe_dispatch_irq+0xb6)
>
> 21、 :|# func 56 0.160 xnintr_core_clock_handler+0x0 (dispatch_irq_head+0x9d)
>
> 22、 :|# func 57 0.134 xnlock_dbg_prepare_acquire+0x0 (xnintr_core_clock_handler+0x296)
>
> 23、 :|# func 57 0.107 xnlock_dbg_acquired+0x0 (xnintr_core_clock_handler+0x2df)
>
> 24、 :|# func 57 0.171 xnclock_tick+0x0 (xnintr_core_clock_handler+0xf1)
>
> 25、 :|# func 57 0.107 cobalt_timer_handler+0x0 (xnclock_tick+0xc5)
>
> 26、 :|# func 57 0.106 cobalt_signal_send_pid+0x0 (cobalt_timer_handler+0x2a)
>
> 27、 :|# func 57 0.117 cobalt_thread_find+0x0 (cobalt_signal_send_pid+0x12)
>
> 28、 :|# func 57 0.119 cobalt_signal_send+0x0 (cobalt_signal_send_pid+0x24)
>
> 29、 :|# func 57 0.125 xnsynch_wakeup_one_sleeper+0x0 (cobalt_signal_send+0xa6)
>
> 30、 :|# func 58 0.139 xnthread_resume+0x0 (xnsynch_wakeup_one_sleeper+0xda)
>
> 31、 :|# [ 7092] alt-sam 99 58 0.178 xnthread_resume+0xa9 (xnsynch_wakeup_one_sleeper+0xda)
>
> 32、 :|# func 58 0.117 xntimerq_insert+0x0 (xnclock_tick+0x21c)
>
> 33、 :|# func 58 0.098 xnclock_core_local_shot+0x0 (xnclock_tick+0x245)
>
> 34、 :|# event tick at 155 58 0.102 xnclock_core_local_shot+0x67 (xnclock_tick+0x245)
>
> 35、 :|# func 58 0.150 ipipe_timer_set+0x0 (xnclock_core_local_shot+0x6f)
>
> 36、 :|# func 58 0.177 lapic_next_deadline+0x0 (ipipe_timer_set+0x79)
>
> 37、 :|# func 59 0.127 xnlock_dbg_release+0x0 (xnintr_core_clock_handler+0x110)
>
> 38、 :|# func 59 0.157 ___xnsched_run+0x0 (xnintr_core_clock_handler+0x336)
>
> 39、 :|# func 59 0.122 xnlock_dbg_prepare_acquire+0x0 (___xnsched_run+0x3fc)
>
> 40、 :|# func 59 0.105 xnlock_dbg_acquired+0x0 (___xnsched_run+0x444)
>
> 41、 :|# [ 7053] bash -1 59 0.105 ___xnsched_run+0xe3 (xnintr_core_clock_handler+0x336)
>
> 42、 :|# func 59 0.109 xnsched_pick_next+0x0 (___xnsched_run+0x124)
>
> 43、 :|# func 59 0.135 __ipipe_notify_vm_preemption+0x0 (___xnsched_run+0x517)
>
> 44、 :|# func 59 0.110 xnarch_leave_root+0x0 (___xnsched_run+0x54c)
>
> 45、 :|# func 59 0.109 xntimer_start+0x0 (___xnsched_run+0x56f)
>
> 46、 :|# func 60 0.108 xnclock_core_ns_to_ticks+0x0 (xntimer_start+0x1b8)
>
> 47、 :|# func 60 0.104 xntimer_enqueue_and_program+0x0 (xntimer_start+0xfe)
>
> 48、 :|# func 60 0.110 xntimerq_insert+0x0 (xntimer_enqueue_and_program+0x18)
>
> 49、 :|# func 60 0.132 xntimer_heading_p+0x0 (xntimer_enqueue_and_program+0x2d)
>
> 50、 :|# func 60 0.115 xnarch_switch_to+0x0 (___xnsched_run+0x1da)
>
> 51、 :|# func 60 0.158 switch_mm_irqs_off+0x0 (xnarch_switch_to+0x2f)
>
> 52、 :|# func 60 0.445 load_new_mm_cr3+0x0 (switch_mm_irqs_off+0x326)
>
> 53、 :|# func 61 0.145 xnthread_switch_fpu+0x0 (___xnsched_run+0x22d)
>
> 54、 :|# func 61 0.095 xnarch_switch_fpu+0x0 (xnthread_switch_fpu+0x2d)
>
> 55、 :|# [ 7092] alt-sam 99 61 0.225 ___xnsched_run+0x24d (xnthread_suspend+0x497)
>
> 56、 :|# func 61 0.111 cobalt_timer_deliver+0x0 (signal_wait+0x556)
>
> 57、 :|# func 61 0.106 xntimer_get_overruns+0x0 (cobalt_timer_deliver+0x6d)
>
> 58、 :|# func 61 0.110 xnclock_core_ns_to_ticks+0x0 (xntimer_get_overruns+0x35)
>
> 59、 :|# func 62 0.128 xnlock_dbg_release+0x0 (signal_wait+0x528)
>
> 60、 :|# func 62 0.110 __ipipe_restore_head+0x0 (signal_wait+0x294)
>
> 61、 <|+ end 0x80000000 62 0.278 ipipe_trace_end+0x14 (__ipipe_restore_head+0x5b)
>
> 62、 |+ begin 0x80000000 62 0.000 do_syscall_64+0x71 (entry_SYSCALL_64_after_hwframe+0x49)
>
>
>
> In addition, how is the frozen tool used? Why does the data obtained by cat frozen not change when I run the intensity demo?
> I-pipe frozen back-tracing service on 4.19.84-bros-debug/ipipe release #8
> ------------------------------------------------------------
> CPU: 0, Freeze: 245367883938480 cycles, Trace Points: 30 (+10)
> Calibrated minimum trace-point overhead: 0.064 us
>
> +----- Hard IRQs ('|': locked)
> |+-- Xenomai
> ||+- Linux ('*': domain stalled, '+': current, '#': current+stalled)
> ||| +---------- Delay flag ('+': > 1 us, '!': > 10 us)
> ||| | +- NMI noise ('N')
> ||| | |
> Type User Val. Time Delay Function (Parent)
> : +func -5 0.120 vfs_write+0x0 (ksys_write+0x5c)
> : +func -5 0.134 rw_verify_area+0x0 (vfs_write+0x77)
> : +func -5 0.163 security_file_permission+0x0 (rw_verify_area+0x4e)
> : +func -5 0.110 apparmor_file_permission+0x0 (security_file_permission+0x3b)
> : +func -5 0.136 common_file_perm+0x0 (apparmor_file_permission+0x1a)
> : +func -4 0.160 aa_file_perm+0x0 (common_file_perm+0x4d)
> : +func -4 0.105 __sb_start_write+0x0 (vfs_write+0x195)
> : +func -4 0.099 ipipe_root_only+0x0 (__sb_start_write+0x3f)
> :| +begin 0x80000001 -4 0.119 ipipe_root_only+0x79 (__sb_start_write+0x3f)
> :| +end 0x80000001 -4 0.113 ipipe_trace_end+0x14 (ipipe_root_only+0x63)
> : +func -4 0.106 _cond_resched+0x0 (__sb_start_write+0x44)
> : +func -4 0.107 rcu_all_qs+0x0 (_cond_resched+0x19)
> : +func -4 0.138 __vfs_write+0x0 (vfs_write+0xb8)
> : +func -3 0.183 proc_reg_write+0x0 (__vfs_write+0x3a)
> : +func -3 0.121 __ipipe_frozen_ctrl+0x0 (proc_reg_write+0x45)
> : +func -3 0.108 __check_object_size+0x0 (__ipipe_frozen_ctrl+0x42)
> : +func -3 0.614 check_stack_object+0x0 (__check_object_size+0x45)
> : +func -2 0.115 mutex_lock+0x0 (__ipipe_frozen_ctrl+0x92)
> : +func -2 0.100 ipipe_root_only+0x0 (mutex_lock+0x12)
> :| +begin 0x80000001 -2 0.134 ipipe_root_only+0x79 (mutex_lock+0x12)
> :| +end 0x80000001 -2 0.122 ipipe_trace_end+0x14 (ipipe_root_only+0x63)
> : +func -2 0.117 _cond_resched+0x0 (mutex_lock+0x17)
> : +func -2 0.133 rcu_all_qs+0x0 (_cond_resched+0x19)
> : +func -2 0.110 ipipe_trace_frozen_reset+0x0 (__ipipe_frozen_ctrl+0x97)
> : +func -2 0.104 __ipipe_global_path_lock+0x0 (ipipe_trace_frozen_reset+0x21)
> : +func -2 0.110 __ipipe_spin_lock_irqsave+0x0 (__ipipe_global_path_lock+0x15)
> :| +begin 0x80000001 -1+ 1.644 __ipipe_spin_lock_irqsave+0x72 (__ipipe_global_path_lock+0x15)
> :| #func 0 0.151 __ipipe_spin_unlock_irqcomplete+0x0 (__ipipe_global_path_unlock+0x73)
> :| +end 0x80000001 0 0.113 ipipe_trace_end+0x14 (__ipipe_spin_unlock_irqcomplete+0x37)
> < +freeze 0xffffffffffffffff 0 0.139 proc_reg_write+0x45 (__vfs_write+0x3a)
> +func 0 0.122 mutex_unlock+0x0 (__ipipe_frozen_ctrl+0xb1)
> +func 0 0.110 unuse_pde+0x0 (proc_reg_write+0x50)
> +func 0 0.110 __fsnotify_parent+0x0 (vfs_write+0x141)
> +func 0 0.127 fsnotify+0x0 (vfs_write+0x15a)
> +func 0 0.115 __sb_end_write+0x0 (vfs_write+0x16e)
> | +begin 0x80000000 0 0.483 do_syscall_64+0x2c7 (entry_SYSCALL_64_after_hwframe+0x49)
> | +func 1 1.109 ipipe_test_root+0x0 (trace_hardirqs_on_virt_caller+0x79)
> | +func 2 0.139 do_syscall_64+0x0 (entry_SYSCALL_64_after_hwframe+0x49)
> | +end 0x80000000 2 0.113 ipipe_trace_end+0x14 (do_syscall_64+0x7d)
> +func 2 0.000 ipipe_handle_syscall+0x0 (do_syscall_64+0x46)
> Can you tell me what the information reflects?
Did you study
https://gitlab.denx.de/Xenomai/xenomai/-/wikis/Using_The_I_Pipe_Tracer
already?
Jan
------------------------------
Subject: Digest Footer
------------------------------
End of Xenomai Digest, Vol 95, Issue 29
***************************************
________________________________
This information may contain confidential and/or privileged material and is only transmitted for the intended recipient. Any review, retransmission, conversion to hard copy, copying, reproduction, circulation, publication, dissemination or other use of, or taking of any action, or omission to take action, in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you have received this message in error, please contact the sender and delete the material from any computer, disk drive, diskette, or other storage device or media.
本信息可能包括某些保密的資料,並且只發送給特定的收信人。禁止除特定收信人以外的其他任何人士或機構閱讀、轉發、列印、複製、傳閱、出版、散播或以其它方式使用本信息,或依賴本信息作出或不作出任何行為。如果閣下錯誤地收到本信息,請聯絡發信人並從任何電腦、磁片、磁碟或其它存儲裝置或媒體中刪除本信息。
More information about the Xenomai
mailing list