>-----Original Message----- >From: Jan Kiszka <jan.kis...@siemens.com> >Sent: Tuesday, December 14, 2021 3:02 PM >To: Chen, Hongzhan <hongzhan.c...@intel.com>; xenomai@xenomai.org >Subject: Re: [RFC PATCH 1/2] kernel-shark: add plugin for handling xenomai >cobalt context switch event > >On 14.12.21 07:49, Jan Kiszka via Xenomai wrote: >> On 14.12.21 07:44, Chen, Hongzhan wrote: >>>> >>>> >>>> -----Original Message----- >>>> From: Jan Kiszka <jan.kis...@siemens.com> >>>> Sent: Tuesday, December 14, 2021 2:38 PM >>>> To: Chen, Hongzhan <hongzhan.c...@intel.com>; xenomai@xenomai.org >>>> Subject: Re: [RFC PATCH 1/2] kernel-shark: add plugin for handling xenomai >>>> cobalt context switch event >>>> >>>> On 14.12.21 04:15, Hongzhan Chen wrote: >>>>> For Xenomai-cobalt enabled system, cobalt_switch_context means that there >>>>> is context switch in companion core(realtime core), which we may need >>>>> to do special treatment and take correct action as main kernel >>>>> sched_switch. >>>>> We need to update cpu bar regarding cobalt_switch_context event to correct >>>>> color as switching-in task. >>>> >>>> It's tricker... I have trace with the following sequence here: >>>> >>>> gdb-898 [000] 753.944137: cobalt_switch_context: >>>> prev_name=ROOT/0 prev_pid=0 prev_prio=-1 prev_state=0x218008 ==> >>>> next_name=pthelper next_pid=912 next_prio=3 >>>> gdb-898 [000] 753.944142: cobalt_timer_start: >>>> timer=0xef7e8200([watchdog]) value=4000000000 interval=0 mode=0x0 >>>> pthelper-912 [000] 753.944172: cobalt_shadow_hardened: >>>> state=0x240840 info=0x0 >>>> >>>> Your plugin correctly switches colors on cobalt_switch_context, but that >>>> cobalt_timer_start is still running under the previous pid, causing a >>>> color switch-back and than forth on cobalt_shadow_hardened. We need to >>>> understand why and possibly fix that or rethink the visualization. >>> >>> You need to click menu Plots->tasks and then select RT tasks and then >>> apply. It would tigger plugin shape to redraw >>> and then the issue you observed would be fixed by plugin. >> >> OK, now I also see that blue "OOB" box under the RT task. >> >> But the that does not affect the CPU graph, it continues to jump back >> and forth. And it has no RT mode visualization. > >Correction: The CPU graph is fine now as well. Still confusing that you >have to enable task plots first, but that might be a generic KernelShark >issue.
Yes, this is kernelshark issue. Kernel shark have to depend on redraw of plugin after activation to correct them. > >> >> BTW, is that blue hollow box exclusive for our plugin? Or can this be >> customized? Is it explained somewhere in Kernelshark what hollow boxes mean? >> > >Some visualization issue: > > pthelper-912 [000] 753.948271: cobalt_schedule: > status=0x10000000 > pthelper-912 [000] 753.948275: cobalt_switch_context: > prev_name=pthelper prev_pid=912 prev_prio=3 prev_state=0xa40042 ==> > next_name=hi-thread next_pid=913 next_prio=2 > hi-thread-913 [000] 753.948285: cobalt_shadow_hardened: > state=0x240040 info=0x0 > hi-thread-913 [000] 753.948423: cobalt_thread_fault: ip=0xb6e34e20 > type=0x8 > hi-thread-913 [000] 753.948737: cobalt_shadow_gorelax: > reason=syscall > >In this case, the task plot of hi-thread-919 does no show the blue box >between hardened and fault. Could you zoom out (click "-" in the top left button) to check if blue box would be reshowing? Could you paste more trailing log in your log to check if there another cobalt_switch_context. Current logic is create hollow box between two cobalt_switch_context. If there is only cobalt switch_context event matching, it would not create hollow box correctly. Regards Hongzhan Chen > >Jan > >-- >Siemens AG, T RDA IOT >Corporate Competence Center Embedded Linux