This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Compiler/PROCESSOR-SDK-DRA7X: apps.out running on A15 side is hogging CPU

Part Number: PROCESSOR-SDK-DRA7X

Tool/software: TI C/C++ Compiler

Hello TI Team, 

UseCase: early_capture_lateweston_2s_2c_dsswb

Capture -> Display_Video
DispDistSrc_weston -> Display_m4
DispDistSrc_vid3 -> Display_vid3
Capture_dsswb -> Alg_SwCrc

- One of threads of apps.out is consuming high CPU. This scenario is observed when using Navigation.

-  Below we can see that VSDKAPPS_MAIN (apps.out) is occupying 26%  and after that system Freezes. 

below are the various threads named in VSDKAPPS_MAIN:

Previous Tickethttps://e2e.ti.com/support/processors/f/791/t/883664

Regards,

Raghu

  • Please find the missed attachments here and also IPU1 logs. 

    [0][      0.000] 18 Resource entries at 0x3000
    [0][      0.000]      0.298786 s:  SYSTEM: System Common Init in progress !!!
    [0][      0.010]      0.308119 s:  SYSTEM: IPC init in progress !!!
    [0][      0.010]      0.308363 s:  SYSTEM: Notify init done !!!
    [0][      0.012]      0.310101 s:  SYSTEM: MsgQ init done !!!
    [0][      0.013]      0.311169 s: RpmsgInit in progress...
    [0][      0.013]      0.311382 s:  SYSTEM: IPC init DONE !!!
    [0][      0.019]      0.317605 s:  SYSTEM: System Common Init Done !!!
    [0][      0.019]      0.317818 s:  SYSTEM: System Init in progress !!!
    [0][      0.020]      0.317971 s:  SYSTEM: BSP Common Init in progress !!!
    [0][      0.020]      0.318215 s:  SYSTEM: BSP Common Init Done !!!
    [0][      0.020]      0.318367 s:  SYSTEM: BSP Platform Init in progress !!!
    [0][      0.020]      0.318581 s:  SYSTEM: BSP Platform Init Done !!!
    [0][      0.020]      0.318764 s:  SYSTEM: FVID2 Init in progress !!!
    [0][      0.021]      0.319008 s:  SYSTEM: FVID2 Init Done !!!
    [0][      0.021]      0.319191 s:  SYSTEM: VPS Init in progress !!!
    [0][      0.021]      0.319374 s:  SYSTEM: VPDMA Descriptor Memory Address translation ENABLED [0x80000000 -> 0x80000000]
    [0][      0.024]      0.322393 s: *** VPDMA Firmware Loading... ***
    [0][      0.024]      0.322637 s: VPDMA Firmware Address = 0xa034a500
    [0][      0.024]      0.322851 s: VPDMA Load Address     = 0x4897d004
    [0][      0.025]      0.323034 s: VPDMA Firmware Version = 0x4d0001b8
    [0][      0.025]      0.323278 s: VPDMA List Busy Status = 0x00000000
    [0][      0.025]      0.323461 s: *** VPDMA Firmware Load Success ***
    [0][      0.025] 
    [0][      0.025]      0.323918 s: *** VPDMA Firmware Loading... ***
    [0][      0.026]      0.324101 s: VPDMA Firmware Address = 0xa034a500
    [0][      0.026]      0.324315 s: VPDMA Load Address     = 0x4899d004
    [0][      0.026]      0.324528 s: VPDMA Firmware Version = 0x4d0001b8
    [0][      0.026]      0.324742 s: VPDMA List Busy Status = 0x00000000
    [0][      0.026]      0.324925 s: *** VPDMA Firmware Load Success ***
    [0][      0.026] 
    [0][      0.027]      0.325382 s: *** VPDMA Firmware Loading... ***
    [0][      0.027]      0.325596 s: VPDMA Firmware Address = 0xa034a500
    [0][      0.027]      0.325779 s: VPDMA Load Address     = 0x489bd004
    [0][      0.028]      0.325992 s: VPDMA Firmware Version = 0x4d0001b8
    [0][      0.028]      0.326206 s: VPDMA List Busy Status = 0x00000000
    [0][      0.028]      0.326389 s: *** VPDMA Firmware Load Success ***
    [0][      0.028] 
    [0][      0.083]      0.381504 s:  SYSTEM: VPS Init Done !!!
    [0][      0.084]      0.382449 s:  UTILS: DMA: HWI Create for INT34 !!!
    [0][      0.084]      0.382815 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1024 
    [0][      0.085]      0.383090 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 262144 B (256 KB), Free size = 260992 B (254 KB)
    [0][      0.085]      0.383517 s:  SYSTEM: Heap = SR_OCMC              @ 0x00000000, Total size = 0 B (0 KB), Free size = 0 B (0 KB)
    [0][      0.086]      0.383883 s:  SYSTEM: Heap = SR_DDR_CACHED        @ 0x86203000, Total size = 67108864 B (64 MB), Free size = 67108864 B (64 MB)
    [0][      0.086]      0.384340 s:  SYSTEM: Heap = SR_DDR_NON_CACHED    @ 0xa0100000, Total size = 1047168 B (0 MB), Free size = 1047168 B (0 MB)
    [0][      0.086]      0.384737 s:  SYSTEM: Initializing Links !!! 
    [0][      0.331]      0.629414 s: CameraControllerMid_tsk: Task started 
    [0][      0.336]      0.634478 s:  SYSTEM: Initializing Links ... DONE !!! 
    [0][      0.347]      0.635179 s:  CHAINS: Application Started !!!     0.645275 s:  BOARD: Board Init in progress !!!
    [0][      0.347]      0.645824 s:  BOARD: Board Init Done !!!
    [0][      0.355]      0.653846 s:  
    [0][      0.356]      0.654364 s: Display width 800, Display height 480
    [0][      0.356]      0.654578 s:  CHAINS: Sensor create in progress
    [0][      0.356]      0.654761 s:  VIDEO_DECODER: ********** CREATE **********
    [0][      0.367]      0.665649 s: I2C write Passed 
    [0][      0.417]      0.715274 s: I2C write Passed 
    [0][      0.418]      0.716281 s: I2C write Passed 
    [0][      0.419]      0.717287 s: I2C write Passed 
    [0][      0.435]      0.733758 s: I2C1: Passed for address 0xc !!! 
    [0][      0.485]      0.783596 s: I2C1: Passed for address 0x35 !!! 
    [0][      0.575]      0.873421 s: EarlyCameraMonitor_init: Init
    [0][      0.577]      0.875221 s:  CHAINS: Sensor create ... DONE !!!
    [0][      0.579]      0.877112 s:  CAPTURE: Create in progress !!!
    [0][      0.579]      0.877478 s:  CAPTURE: VIP2 Slice0 PortA capture mode is [ 8-bit] !!! 
    [0][      0.717]      1.015250 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      0.731]      1.029860 s:  CAPTURE: Create Done !!!
    [0][      0.732]      1.030317 s:  DISPLAY: Create in progress !!!
    [0][      0.732]      1.030988 s:  DISPLAY: Create Done !!!
    [0][      0.733]      1.031324 s:  CAPTURE: Create in progress !!!
    [0][      0.797]      1.095650 s:  CAPTURE: Create Done !!!
    [0][      0.798]      1.096047 s:  ALGORITHM: Create in progress (algId = 14) !!!
    [0][      0.798]      1.096565 s:  ALGORITHM: Create Done (algId = 14) !!!
    [0][      0.798]      1.096901 s:  CAPTURE: Start in progress !!!
    [0][      0.799]      1.097175 s:  CAPTURE: Start Done !!!
    [0][      0.799]      1.097419 s:  DISPLAY: Start in progress !!!
    [0][      0.799]      1.097602 s:  DISPLAY: Start Done !!!
    [0][      0.799]      1.097816 s:  CAPTURE: Start in progress !!!
    [0][      0.801]      1.099432 s:  CAPTURE: Start Done !!!
    [0][      0.817]      1.115171 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      0.917]      1.215183 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.017]      1.315195 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.117]      1.415207 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.217]      1.515189 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.317]      1.615201 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.417]      1.715213 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.452]      1.750716 s: Latency Monitoring Started 
    [0][      1.459]      1.757701 s:  WDT Tsk Started 
    [0][      1.459]      1.757914 s: SafeStatetsk Monitoring Started 
    [0][      1.460]      1.758097 s: Freeze Monitoring Started 
    [0][      1.479]      1.777252 s: SSC Entering Safe state 
    [0][      1.480]      1.778259 s: GPS: eNORMAL_STATE -> eERROR_STATE EventIDReceived:8
    [0][      1.480]      1.778503 s: GPS: eNORMAL_STATE -> eERROR_STATE EventIDReceived:8
    [0][      1.489]      1.787378 s: WDT: state:0 = Entering Safe State !!!
    [0][      1.517]      1.815195 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.617]      1.915207 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.625]      1.923259 s: SSC state:1 = Moving to Normal State !!!FC:10, NoEvC:0
    [0][      1.630]      1.928201 s: GPS: eERROR_STATE -> eNORMAL_STATE EventIDReceived:4
    [0][      1.630]      1.928475 s: GPS: eERROR_STATE -> eNORMAL_STATE EventIDReceived:4
    [0][      1.651]      1.949429 s: WDT: state:1 = Entering Normal State !!!
    [0][      1.717]      2.015219 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.817]      2.115201 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.820]      2.118282 s: Connection established with HLOS, calling rpmsgInit
    [0][      1.820] registering rpmsg-proto:rpmsg-proto service on 80 with HOST
    [0][      1.917]      2.215213 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.017]      2.315195 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.117]      2.415207 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.217]      2.515219 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.317]      2.615232 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.417]      2.715213 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.517]      2.815226 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.617]      2.915238 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.717]      3.015250 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.786]      3.084456 s:  ** LINUX INIT COMPLETE 
    [0][      2.792]      3.090373 s:  IPC_IN_0   : Create in progress !!!
    [0][      2.793]      3.091654 s:  IPC_IN_0   : Create Done !!!
    [0][      2.793]      3.091929 s:  DISPLAY: Create in progress !!!
    [0][      2.794]      3.092600 s:  DISPLAY: Create Done !!!
    [0][      2.796]      3.094186 s:  IPC_IN_1   : Create in progress !!!
    [0][      2.797]      3.095498 s:  IPC_IN_1   : Create Done !!!
    [0][      2.798]      3.096413 s:  DISPLAY: Create in progress !!!
    [0][      2.799]      3.097053 s:  DISPLAY: Create Done !!!
    [0][      2.799]      3.097389 s:  DISPLAY: Start in progress !!!
    [0][      2.799]      3.097572 s:  DISPLAY: Start Done !!!
    [0][      2.817]      3.115232 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.825]      3.123101 s:  DISPLAY: Start in progress !!!
    [0][      2.825]      3.123314 s:  DISPLAY: Start Done !!!
    [0][      2.917]      3.215244 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.017]      3.315226 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.117]      3.415238 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.217]      3.515250 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.317]      3.615262 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.417]      3.715305 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.517]      3.815256 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.617]      3.915268 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.717]      4.015250 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.817]      4.115293 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.917]      4.215274 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.017]      4.315256 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.117]      4.415268 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.217]      4.515280 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.317]      4.615262 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.417]      4.715274 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.517]      4.815287 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.617]      4.915268 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.717]      5.015280 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.817]      5.115293 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.917]      5.215305 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.017]      5.315317 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.117]      5.415329 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.217]      5.515311 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.317]      5.615293 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.417]      5.715305 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.513]      5.811931 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.514]      5.812145 s: RecevdDelay: 59 CounterMax 59
    [0][      5.514]      5.812480 s: EarlyCameraMonitor_tsk exited
    [0][      5.542]      5.840206 s: CamController command 1
    

  • Please find the missed attachments here and also IPU1 logs. 

    [0][      0.000] 18 Resource entries at 0x3000
    [0][      0.000]      0.298786 s:  SYSTEM: System Common Init in progress !!!
    [0][      0.010]      0.308119 s:  SYSTEM: IPC init in progress !!!
    [0][      0.010]      0.308363 s:  SYSTEM: Notify init done !!!
    [0][      0.012]      0.310101 s:  SYSTEM: MsgQ init done !!!
    [0][      0.013]      0.311169 s: RpmsgInit in progress...
    [0][      0.013]      0.311382 s:  SYSTEM: IPC init DONE !!!
    [0][      0.019]      0.317605 s:  SYSTEM: System Common Init Done !!!
    [0][      0.019]      0.317818 s:  SYSTEM: System Init in progress !!!
    [0][      0.020]      0.317971 s:  SYSTEM: BSP Common Init in progress !!!
    [0][      0.020]      0.318215 s:  SYSTEM: BSP Common Init Done !!!
    [0][      0.020]      0.318367 s:  SYSTEM: BSP Platform Init in progress !!!
    [0][      0.020]      0.318581 s:  SYSTEM: BSP Platform Init Done !!!
    [0][      0.020]      0.318764 s:  SYSTEM: FVID2 Init in progress !!!
    [0][      0.021]      0.319008 s:  SYSTEM: FVID2 Init Done !!!
    [0][      0.021]      0.319191 s:  SYSTEM: VPS Init in progress !!!
    [0][      0.021]      0.319374 s:  SYSTEM: VPDMA Descriptor Memory Address translation ENABLED [0x80000000 -> 0x80000000]
    [0][      0.024]      0.322393 s: *** VPDMA Firmware Loading... ***
    [0][      0.024]      0.322637 s: VPDMA Firmware Address = 0xa034a500
    [0][      0.024]      0.322851 s: VPDMA Load Address     = 0x4897d004
    [0][      0.025]      0.323034 s: VPDMA Firmware Version = 0x4d0001b8
    [0][      0.025]      0.323278 s: VPDMA List Busy Status = 0x00000000
    [0][      0.025]      0.323461 s: *** VPDMA Firmware Load Success ***
    [0][      0.025] 
    [0][      0.025]      0.323918 s: *** VPDMA Firmware Loading... ***
    [0][      0.026]      0.324101 s: VPDMA Firmware Address = 0xa034a500
    [0][      0.026]      0.324315 s: VPDMA Load Address     = 0x4899d004
    [0][      0.026]      0.324528 s: VPDMA Firmware Version = 0x4d0001b8
    [0][      0.026]      0.324742 s: VPDMA List Busy Status = 0x00000000
    [0][      0.026]      0.324925 s: *** VPDMA Firmware Load Success ***
    [0][      0.026] 
    [0][      0.027]      0.325382 s: *** VPDMA Firmware Loading... ***
    [0][      0.027]      0.325596 s: VPDMA Firmware Address = 0xa034a500
    [0][      0.027]      0.325779 s: VPDMA Load Address     = 0x489bd004
    [0][      0.028]      0.325992 s: VPDMA Firmware Version = 0x4d0001b8
    [0][      0.028]      0.326206 s: VPDMA List Busy Status = 0x00000000
    [0][      0.028]      0.326389 s: *** VPDMA Firmware Load Success ***
    [0][      0.028] 
    [0][      0.083]      0.381504 s:  SYSTEM: VPS Init Done !!!
    [0][      0.084]      0.382449 s:  UTILS: DMA: HWI Create for INT34 !!!
    [0][      0.084]      0.382815 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1024 
    [0][      0.085]      0.383090 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 262144 B (256 KB), Free size = 260992 B (254 KB)
    [0][      0.085]      0.383517 s:  SYSTEM: Heap = SR_OCMC              @ 0x00000000, Total size = 0 B (0 KB), Free size = 0 B (0 KB)
    [0][      0.086]      0.383883 s:  SYSTEM: Heap = SR_DDR_CACHED        @ 0x86203000, Total size = 67108864 B (64 MB), Free size = 67108864 B (64 MB)
    [0][      0.086]      0.384340 s:  SYSTEM: Heap = SR_DDR_NON_CACHED    @ 0xa0100000, Total size = 1047168 B (0 MB), Free size = 1047168 B (0 MB)
    [0][      0.086]      0.384737 s:  SYSTEM: Initializing Links !!! 
    [0][      0.331]      0.629414 s: CameraControllerMid_tsk: Task started 
    [0][      0.336]      0.634478 s:  SYSTEM: Initializing Links ... DONE !!! 
    [0][      0.347]      0.635179 s:  CHAINS: Application Started !!!     0.645275 s:  BOARD: Board Init in progress !!!
    [0][      0.347]      0.645824 s:  BOARD: Board Init Done !!!
    [0][      0.355]      0.653846 s:  
    [0][      0.356]      0.654364 s: Display width 800, Display height 480
    [0][      0.356]      0.654578 s:  CHAINS: Sensor create in progress
    [0][      0.356]      0.654761 s:  VIDEO_DECODER: ********** CREATE **********
    [0][      0.367]      0.665649 s: I2C write Passed 
    [0][      0.417]      0.715274 s: I2C write Passed 
    [0][      0.418]      0.716281 s: I2C write Passed 
    [0][      0.419]      0.717287 s: I2C write Passed 
    [0][      0.435]      0.733758 s: I2C1: Passed for address 0xc !!! 
    [0][      0.485]      0.783596 s: I2C1: Passed for address 0x35 !!! 
    [0][      0.575]      0.873421 s: EarlyCameraMonitor_init: Init
    [0][      0.577]      0.875221 s:  CHAINS: Sensor create ... DONE !!!
    [0][      0.579]      0.877112 s:  CAPTURE: Create in progress !!!
    [0][      0.579]      0.877478 s:  CAPTURE: VIP2 Slice0 PortA capture mode is [ 8-bit] !!! 
    [0][      0.717]      1.015250 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      0.731]      1.029860 s:  CAPTURE: Create Done !!!
    [0][      0.732]      1.030317 s:  DISPLAY: Create in progress !!!
    [0][      0.732]      1.030988 s:  DISPLAY: Create Done !!!
    [0][      0.733]      1.031324 s:  CAPTURE: Create in progress !!!
    [0][      0.797]      1.095650 s:  CAPTURE: Create Done !!!
    [0][      0.798]      1.096047 s:  ALGORITHM: Create in progress (algId = 14) !!!
    [0][      0.798]      1.096565 s:  ALGORITHM: Create Done (algId = 14) !!!
    [0][      0.798]      1.096901 s:  CAPTURE: Start in progress !!!
    [0][      0.799]      1.097175 s:  CAPTURE: Start Done !!!
    [0][      0.799]      1.097419 s:  DISPLAY: Start in progress !!!
    [0][      0.799]      1.097602 s:  DISPLAY: Start Done !!!
    [0][      0.799]      1.097816 s:  CAPTURE: Start in progress !!!
    [0][      0.801]      1.099432 s:  CAPTURE: Start Done !!!
    [0][      0.817]      1.115171 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      0.917]      1.215183 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.017]      1.315195 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.117]      1.415207 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.217]      1.515189 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.317]      1.615201 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.417]      1.715213 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.452]      1.750716 s: Latency Monitoring Started 
    [0][      1.459]      1.757701 s:  WDT Tsk Started 
    [0][      1.459]      1.757914 s: SafeStatetsk Monitoring Started 
    [0][      1.460]      1.758097 s: Freeze Monitoring Started 
    [0][      1.479]      1.777252 s: SSC Entering Safe state 
    [0][      1.480]      1.778259 s: GPS: eNORMAL_STATE -> eERROR_STATE EventIDReceived:8
    [0][      1.480]      1.778503 s: GPS: eNORMAL_STATE -> eERROR_STATE EventIDReceived:8
    [0][      1.489]      1.787378 s: WDT: state:0 = Entering Safe State !!!
    [0][      1.517]      1.815195 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.617]      1.915207 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.625]      1.923259 s: SSC state:1 = Moving to Normal State !!!FC:10, NoEvC:0
    [0][      1.630]      1.928201 s: GPS: eERROR_STATE -> eNORMAL_STATE EventIDReceived:4
    [0][      1.630]      1.928475 s: GPS: eERROR_STATE -> eNORMAL_STATE EventIDReceived:4
    [0][      1.651]      1.949429 s: WDT: state:1 = Entering Normal State !!!
    [0][      1.717]      2.015219 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.817]      2.115201 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.820]      2.118282 s: Connection established with HLOS, calling rpmsgInit
    [0][      1.820] registering rpmsg-proto:rpmsg-proto service on 80 with HOST
    [0][      1.917]      2.215213 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.017]      2.315195 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.117]      2.415207 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.217]      2.515219 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.317]      2.615232 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.417]      2.715213 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.517]      2.815226 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.617]      2.915238 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.717]      3.015250 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.786]      3.084456 s:  ** LINUX INIT COMPLETE 
    [0][      2.792]      3.090373 s:  IPC_IN_0   : Create in progress !!!
    [0][      2.793]      3.091654 s:  IPC_IN_0   : Create Done !!!
    [0][      2.793]      3.091929 s:  DISPLAY: Create in progress !!!
    [0][      2.794]      3.092600 s:  DISPLAY: Create Done !!!
    [0][      2.796]      3.094186 s:  IPC_IN_1   : Create in progress !!!
    [0][      2.797]      3.095498 s:  IPC_IN_1   : Create Done !!!
    [0][      2.798]      3.096413 s:  DISPLAY: Create in progress !!!
    [0][      2.799]      3.097053 s:  DISPLAY: Create Done !!!
    [0][      2.799]      3.097389 s:  DISPLAY: Start in progress !!!
    [0][      2.799]      3.097572 s:  DISPLAY: Start Done !!!
    [0][      2.817]      3.115232 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.825]      3.123101 s:  DISPLAY: Start in progress !!!
    [0][      2.825]      3.123314 s:  DISPLAY: Start Done !!!
    [0][      2.917]      3.215244 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.017]      3.315226 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.117]      3.415238 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.217]      3.515250 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.317]      3.615262 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.417]      3.715305 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.517]      3.815256 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.617]      3.915268 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.717]      4.015250 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.817]      4.115293 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.917]      4.215274 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.017]      4.315256 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.117]      4.415268 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.217]      4.515280 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.317]      4.615262 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.417]      4.715274 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.517]      4.815287 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.617]      4.915268 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.717]      5.015280 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.817]      5.115293 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.917]      5.215305 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.017]      5.315317 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.117]      5.415329 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.217]      5.515311 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.317]      5.615293 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.417]      5.715305 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.513]      5.811931 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.514]      5.812145 s: RecevdDelay: 59 CounterMax 59
    [0][      5.514]      5.812480 s: EarlyCameraMonitor_tsk exited
    [0][      5.542]      5.840206 s: CamController command 1
    

  • Please find the missed attachments here and also IPU1 logs. 

    [0][      0.000] 18 Resource entries at 0x3000
    [0][      0.000]      0.298786 s:  SYSTEM: System Common Init in progress !!!
    [0][      0.010]      0.308119 s:  SYSTEM: IPC init in progress !!!
    [0][      0.010]      0.308363 s:  SYSTEM: Notify init done !!!
    [0][      0.012]      0.310101 s:  SYSTEM: MsgQ init done !!!
    [0][      0.013]      0.311169 s: RpmsgInit in progress...
    [0][      0.013]      0.311382 s:  SYSTEM: IPC init DONE !!!
    [0][      0.019]      0.317605 s:  SYSTEM: System Common Init Done !!!
    [0][      0.019]      0.317818 s:  SYSTEM: System Init in progress !!!
    [0][      0.020]      0.317971 s:  SYSTEM: BSP Common Init in progress !!!
    [0][      0.020]      0.318215 s:  SYSTEM: BSP Common Init Done !!!
    [0][      0.020]      0.318367 s:  SYSTEM: BSP Platform Init in progress !!!
    [0][      0.020]      0.318581 s:  SYSTEM: BSP Platform Init Done !!!
    [0][      0.020]      0.318764 s:  SYSTEM: FVID2 Init in progress !!!
    [0][      0.021]      0.319008 s:  SYSTEM: FVID2 Init Done !!!
    [0][      0.021]      0.319191 s:  SYSTEM: VPS Init in progress !!!
    [0][      0.021]      0.319374 s:  SYSTEM: VPDMA Descriptor Memory Address translation ENABLED [0x80000000 -> 0x80000000]
    [0][      0.024]      0.322393 s: *** VPDMA Firmware Loading... ***
    [0][      0.024]      0.322637 s: VPDMA Firmware Address = 0xa034a500
    [0][      0.024]      0.322851 s: VPDMA Load Address     = 0x4897d004
    [0][      0.025]      0.323034 s: VPDMA Firmware Version = 0x4d0001b8
    [0][      0.025]      0.323278 s: VPDMA List Busy Status = 0x00000000
    [0][      0.025]      0.323461 s: *** VPDMA Firmware Load Success ***
    [0][      0.025] 
    [0][      0.025]      0.323918 s: *** VPDMA Firmware Loading... ***
    [0][      0.026]      0.324101 s: VPDMA Firmware Address = 0xa034a500
    [0][      0.026]      0.324315 s: VPDMA Load Address     = 0x4899d004
    [0][      0.026]      0.324528 s: VPDMA Firmware Version = 0x4d0001b8
    [0][      0.026]      0.324742 s: VPDMA List Busy Status = 0x00000000
    [0][      0.026]      0.324925 s: *** VPDMA Firmware Load Success ***
    [0][      0.026] 
    [0][      0.027]      0.325382 s: *** VPDMA Firmware Loading... ***
    [0][      0.027]      0.325596 s: VPDMA Firmware Address = 0xa034a500
    [0][      0.027]      0.325779 s: VPDMA Load Address     = 0x489bd004
    [0][      0.028]      0.325992 s: VPDMA Firmware Version = 0x4d0001b8
    [0][      0.028]      0.326206 s: VPDMA List Busy Status = 0x00000000
    [0][      0.028]      0.326389 s: *** VPDMA Firmware Load Success ***
    [0][      0.028] 
    [0][      0.083]      0.381504 s:  SYSTEM: VPS Init Done !!!
    [0][      0.084]      0.382449 s:  UTILS: DMA: HWI Create for INT34 !!!
    [0][      0.084]      0.382815 s:  SYSTEM: SW Message Box Msg Pool, Free Msg Count = 1024 
    [0][      0.085]      0.383090 s:  SYSTEM: Heap = LOCAL_DDR            @ 0x00000000, Total size = 262144 B (256 KB), Free size = 260992 B (254 KB)
    [0][      0.085]      0.383517 s:  SYSTEM: Heap = SR_OCMC              @ 0x00000000, Total size = 0 B (0 KB), Free size = 0 B (0 KB)
    [0][      0.086]      0.383883 s:  SYSTEM: Heap = SR_DDR_CACHED        @ 0x86203000, Total size = 67108864 B (64 MB), Free size = 67108864 B (64 MB)
    [0][      0.086]      0.384340 s:  SYSTEM: Heap = SR_DDR_NON_CACHED    @ 0xa0100000, Total size = 1047168 B (0 MB), Free size = 1047168 B (0 MB)
    [0][      0.086]      0.384737 s:  SYSTEM: Initializing Links !!! 
    [0][      0.331]      0.629414 s: CameraControllerMid_tsk: Task started 
    [0][      0.336]      0.634478 s:  SYSTEM: Initializing Links ... DONE !!! 
    [0][      0.347]      0.635179 s:  CHAINS: Application Started !!!     0.645275 s:  BOARD: Board Init in progress !!!
    [0][      0.347]      0.645824 s:  BOARD: Board Init Done !!!
    [0][      0.355]      0.653846 s:  
    [0][      0.356]      0.654364 s: Display width 800, Display height 480
    [0][      0.356]      0.654578 s:  CHAINS: Sensor create in progress
    [0][      0.356]      0.654761 s:  VIDEO_DECODER: ********** CREATE **********
    [0][      0.367]      0.665649 s: I2C write Passed 
    [0][      0.417]      0.715274 s: I2C write Passed 
    [0][      0.418]      0.716281 s: I2C write Passed 
    [0][      0.419]      0.717287 s: I2C write Passed 
    [0][      0.435]      0.733758 s: I2C1: Passed for address 0xc !!! 
    [0][      0.485]      0.783596 s: I2C1: Passed for address 0x35 !!! 
    [0][      0.575]      0.873421 s: EarlyCameraMonitor_init: Init
    [0][      0.577]      0.875221 s:  CHAINS: Sensor create ... DONE !!!
    [0][      0.579]      0.877112 s:  CAPTURE: Create in progress !!!
    [0][      0.579]      0.877478 s:  CAPTURE: VIP2 Slice0 PortA capture mode is [ 8-bit] !!! 
    [0][      0.717]      1.015250 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      0.731]      1.029860 s:  CAPTURE: Create Done !!!
    [0][      0.732]      1.030317 s:  DISPLAY: Create in progress !!!
    [0][      0.732]      1.030988 s:  DISPLAY: Create Done !!!
    [0][      0.733]      1.031324 s:  CAPTURE: Create in progress !!!
    [0][      0.797]      1.095650 s:  CAPTURE: Create Done !!!
    [0][      0.798]      1.096047 s:  ALGORITHM: Create in progress (algId = 14) !!!
    [0][      0.798]      1.096565 s:  ALGORITHM: Create Done (algId = 14) !!!
    [0][      0.798]      1.096901 s:  CAPTURE: Start in progress !!!
    [0][      0.799]      1.097175 s:  CAPTURE: Start Done !!!
    [0][      0.799]      1.097419 s:  DISPLAY: Start in progress !!!
    [0][      0.799]      1.097602 s:  DISPLAY: Start Done !!!
    [0][      0.799]      1.097816 s:  CAPTURE: Start in progress !!!
    [0][      0.801]      1.099432 s:  CAPTURE: Start Done !!!
    [0][      0.817]      1.115171 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      0.917]      1.215183 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.017]      1.315195 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.117]      1.415207 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.217]      1.515189 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.317]      1.615201 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.417]      1.715213 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.452]      1.750716 s: Latency Monitoring Started 
    [0][      1.459]      1.757701 s:  WDT Tsk Started 
    [0][      1.459]      1.757914 s: SafeStatetsk Monitoring Started 
    [0][      1.460]      1.758097 s: Freeze Monitoring Started 
    [0][      1.479]      1.777252 s: SSC Entering Safe state 
    [0][      1.480]      1.778259 s: GPS: eNORMAL_STATE -> eERROR_STATE EventIDReceived:8
    [0][      1.480]      1.778503 s: GPS: eNORMAL_STATE -> eERROR_STATE EventIDReceived:8
    [0][      1.489]      1.787378 s: WDT: state:0 = Entering Safe State !!!
    [0][      1.517]      1.815195 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.617]      1.915207 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.625]      1.923259 s: SSC state:1 = Moving to Normal State !!!FC:10, NoEvC:0
    [0][      1.630]      1.928201 s: GPS: eERROR_STATE -> eNORMAL_STATE EventIDReceived:4
    [0][      1.630]      1.928475 s: GPS: eERROR_STATE -> eNORMAL_STATE EventIDReceived:4
    [0][      1.651]      1.949429 s: WDT: state:1 = Entering Normal State !!!
    [0][      1.717]      2.015219 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.817]      2.115201 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      1.820]      2.118282 s: Connection established with HLOS, calling rpmsgInit
    [0][      1.820] registering rpmsg-proto:rpmsg-proto service on 80 with HOST
    [0][      1.917]      2.215213 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.017]      2.315195 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.117]      2.415207 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.217]      2.515219 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.317]      2.615232 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.417]      2.715213 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.517]      2.815226 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.617]      2.915238 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.717]      3.015250 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.786]      3.084456 s:  ** LINUX INIT COMPLETE 
    [0][      2.792]      3.090373 s:  IPC_IN_0   : Create in progress !!!
    [0][      2.793]      3.091654 s:  IPC_IN_0   : Create Done !!!
    [0][      2.793]      3.091929 s:  DISPLAY: Create in progress !!!
    [0][      2.794]      3.092600 s:  DISPLAY: Create Done !!!
    [0][      2.796]      3.094186 s:  IPC_IN_1   : Create in progress !!!
    [0][      2.797]      3.095498 s:  IPC_IN_1   : Create Done !!!
    [0][      2.798]      3.096413 s:  DISPLAY: Create in progress !!!
    [0][      2.799]      3.097053 s:  DISPLAY: Create Done !!!
    [0][      2.799]      3.097389 s:  DISPLAY: Start in progress !!!
    [0][      2.799]      3.097572 s:  DISPLAY: Start Done !!!
    [0][      2.817]      3.115232 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      2.825]      3.123101 s:  DISPLAY: Start in progress !!!
    [0][      2.825]      3.123314 s:  DISPLAY: Start Done !!!
    [0][      2.917]      3.215244 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.017]      3.315226 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.117]      3.415238 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.217]      3.515250 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.317]      3.615262 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.417]      3.715305 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.517]      3.815256 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.617]      3.915268 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.717]      4.015250 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.817]      4.115293 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      3.917]      4.215274 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.017]      4.315256 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.117]      4.415268 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.217]      4.515280 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.317]      4.615262 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.417]      4.715274 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.517]      4.815287 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.617]      4.915268 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.717]      5.015280 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.817]      5.115293 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      4.917]      5.215305 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.017]      5.315317 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.117]      5.415329 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.217]      5.515311 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.317]      5.615293 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.417]      5.715305 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.513]      5.811931 s:  Gpio1:0x0, Gpio2: 0x0
    [0][      5.514]      5.812145 s: RecevdDelay: 59 CounterMax 59
    [0][      5.514]      5.812480 s: EarlyCameraMonitor_tsk exited
    [0][      5.542]      5.840206 s: CamController command 1
    

  • Column Headers:

    Iteration Count, Name of the thread, PID, Name of the process, PPID, Scheduling Policy, Priority ID, CPU load %, Ignore, Ignore

    Additional notes:

    1. Need TI to comment on whether this load of 26% is normal for this usecase. This scenario lead to overall system freeze.
    2. TI help how to modify the thread names and priority 
    3. Review of priority of 99 for this thread
    4. How to debug this scenario further.

    Regards

    Karthik

  • As discussed please find below info where VSDKAPPS_MAIN is instatiated. 

    apps/src/hlos/adas/src/common/chains_main.c:

    snipet

    Int32 main (Int32 argc, Char ** argv)
    {
    char ch;
    Bool shutdownRemoteCores = FALSE;
    int status = 0;

    pthread_setname_np(pthread_self(), "VSDKAPPS_MAIN");

  • Hi,

    1) To test the CPU load of apps.out, I ran the one of the existing use-case (1CH VIP capture + Alg Frame Copy (A15) + SGX Copy(A15) + DISPLAY), this use-case is consuming only 3% CPU load. This load is very less when compared to your use-case load, so I created a custom use-case to test the CPU load. The use-case is NullSrc(A15) -> Decode -> Alg Frame Copy (A15) -> SGX Copy(A15) -> Dup -> Null(A15)

    Dup -> Display

     


    In this use-case, we have 4 links running on A15 & this is tested with a 1080P resolution input file & it's consuming only a maximum of 11% CPU load. I hope 2 links are running on A15 in your use-case & it's consuming 26% of CPU load. So can you check the what is the CPU load before & after launching the Navigation application & share the CPU stats before launching Navigation application

    Running only two links on A15 & consuming 26% CPU load looks strange!

    2) Please add the below changes to get a thread name & priority

    diff --git a/vision_sdk/apps/src/hlos/adas/src/common/chains_main.c b/vision_sdk/apps/src/hlos/adas/src/common/chains_main.c
    index 8c77629e6..7e30dffb5 100644
    --- a/vision_sdk/apps/src/hlos/adas/src/common/chains_main.c
    +++ b/vision_sdk/apps/src/hlos/adas/src/common/chains_main.c
    @@ -256,7 +256,8 @@ Int32 main (Int32 argc, Char ** argv)
    char ch;
    Int32 status;
    Bool shutdownRemoteCores = FALSE;
    -
    +
    + pthread_setname_np(pthread_self(), "VSDKAPPS_MAIN");
    System_init();
    #ifndef QNX_BUILD
    NetworkCtrl_init();
    diff --git a/vision_sdk/apps/src/hlos/adas/src/usecases/csi2Cal_multi_cam_3d_srv_cbb/chains_csi2CalMultiCam_Sgx3Dsrv_carBlackBox.c b/vision_sdk/apps/src/hlos/adas/src/usecases/csi2Cal_multi_cam_3d_srv_cbb/chains_csi2CalMultiCam_Sgx3Dsrv_carBlackBox.c
    index d9c1ffcee..448c9a20c 100644
    --- a/vision_sdk/apps/src/hlos/adas/src/usecases/csi2Cal_multi_cam_3d_srv_cbb/chains_csi2CalMultiCam_Sgx3Dsrv_carBlackBox.c
    +++ b/vision_sdk/apps/src/hlos/adas/src/usecases/csi2Cal_multi_cam_3d_srv_cbb/chains_csi2CalMultiCam_Sgx3Dsrv_carBlackBox.c
    @@ -1398,7 +1398,8 @@ Void chains_csi2CalMultiCam_Sgx3Dsrv_carBlackBox(Chains_Ctrl *chainsCfg)
    fileWriteTaskMain,
    CBB_FILEWRITE_TSK_PRI,
    CBB_FILEWRITE_TSK_STACK_SIZE,
    - &chainsObj);
    + &chainsObj,
    + "fileWriteTask");
    OSA_assert(status == OSA_SOK);

    /* Create the bitstream and index files */
    diff --git a/vision_sdk/apps/src/rtos/modules/network_ctrl/network_ctrl_linux_tsk.c b/vision_sdk/apps/src/rtos/modules/network_ctrl/network_ctrl_linux_tsk.c
    index ed7b15756..7e1be4c2f 100644
    --- a/vision_sdk/apps/src/rtos/modules/network_ctrl/network_ctrl_linux_tsk.c
    +++ b/vision_sdk/apps/src/rtos/modules/network_ctrl/network_ctrl_linux_tsk.c
    @@ -381,7 +381,8 @@ Int32 NetworkCtrl_init()
    NetworkCtrl_tskMain,
    OSA_THR_PRI_DEFAULT,
    NETWORK_CTRL_TSK_STACK_SIZE,
    - (void *)&gNetworkCtrl_obj);
    + (void *)&gNetworkCtrl_obj,
    + "NetworkCtrl");
    UTILS_assert(0u == status);

    return SYSTEM_LINK_STATUS_SOK;
    diff --git a/vision_sdk/links_fw/src/hlos/links_a15/dispDistSrc/dispDistSrcLink_tsk.c b/vision_sdk/links_fw/src/hlos/links_a15/dispDistSrc/dispDistSrcLink_tsk.c
    old mode 100644
    new mode 100755
    index 78cc01d2c..79d1bc9cd
    --- a/vision_sdk/links_fw/src/hlos/links_a15/dispDistSrc/dispDistSrcLink_tsk.c
    +++ b/vision_sdk/links_fw/src/hlos/links_a15/dispDistSrc/dispDistSrcLink_tsk.c
    @@ -630,7 +630,7 @@ Int32 DispDistSrcLink_start(DispDistSrcLink_Obj * pObj)
    pObj->provider_id = create.prov_id;

    /* Now, create the worker thread and wait for its signal */
    - status = OSA_thrCreate(&pObj->workThread, DispDistSrcLink_workLoop, OSA_THR_PRI_DEFAULT, OSA_THR_STACK_SIZE_DEFAULT, pObj);
    + status = OSA_thrCreate(&pObj->workThread, DispDistSrcLink_workLoop, OSA_THR_PRI_DEFAULT, OSA_THR_STACK_SIZE_DEFAULT, pObj, "DispDistSrcLink_workLoop");
    OSA_assert(status == OSA_SOK);
    return status;
    }
    diff --git a/vision_sdk/links_fw/src/hlos/osa/include/osa_thr.h b/vision_sdk/links_fw/src/hlos/osa/include/osa_thr.h
    old mode 100644
    new mode 100755
    index b9cc628d7..b50895d5e
    --- a/vision_sdk/links_fw/src/hlos/osa/include/osa_thr.h
    +++ b/vision_sdk/links_fw/src/hlos/osa/include/osa_thr.h
    @@ -85,7 +85,7 @@ typedef struct {

    } OSA_ThrHndl;

    -int OSA_thrCreate(OSA_ThrHndl *hndl, OSA_ThrEntryFunc entryFunc, Uint32 pri, Uint32 stackSize, void *prm);
    +int OSA_thrCreate(OSA_ThrHndl *hndl, OSA_ThrEntryFunc entryFunc, Uint32 pri, Uint32 stackSize, void *prm, char *taskName);
    int OSA_thrDelete(OSA_ThrHndl *hndl);
    int OSA_thrJoin(OSA_ThrHndl *hndl);
    int OSA_thrChangePri(OSA_ThrHndl *hndl, Uint32 pri);
    diff --git a/vision_sdk/links_fw/src/hlos/osa/src/osa_remote_log_client.c b/vision_sdk/links_fw/src/hlos/osa/src/osa_remote_log_client.c
    old mode 100644
    new mode 100755
    index 276c17bd8..391078507
    --- a/vision_sdk/links_fw/src/hlos/osa/src/osa_remote_log_client.c
    +++ b/vision_sdk/links_fw/src/hlos/osa/src/osa_remote_log_client.c
    @@ -309,7 +309,8 @@ Int32 OSA_remoteLogClientInit(void)
    RemoteLog_clientRun,
    OSA_THR_PRI_DEFAULT,
    OSA_THR_STACK_SIZE_DEFAULT,
    - NULL
    + NULL,
    + "RemoteLog"
    );

    return SYSTEM_LINK_STATUS_SOK;
    diff --git a/vision_sdk/links_fw/src/hlos/osa/src/osa_thr.c b/vision_sdk/links_fw/src/hlos/osa/src/osa_thr.c
    old mode 100644
    new mode 100755
    index 4791a2587..8e7df293f
    --- a/vision_sdk/links_fw/src/hlos/osa/src/osa_thr.c
    +++ b/vision_sdk/links_fw/src/hlos/osa/src/osa_thr.c
    @@ -62,7 +62,7 @@ Limited License.

    #include <osa_thr.h>

    -int OSA_thrCreate(OSA_ThrHndl *hndl, OSA_ThrEntryFunc entryFunc, Uint32 pri, Uint32 stackSize, void *prm)
    +int OSA_thrCreate(OSA_ThrHndl *hndl, OSA_ThrEntryFunc entryFunc, Uint32 pri, Uint32 stackSize, void *prm, char *taskName)
    {
    int status=OSA_SOK;
    pthread_attr_t thread_attr;
    @@ -104,6 +104,11 @@ int OSA_thrCreate(OSA_ThrHndl *hndl, OSA_ThrEntryFunc entryFunc, Uint32 pri, Uin
    OSA_ERROR("OSA_thrCreate() - Could not create thread [%d]\n", status);
    OSA_assert(status == OSA_SOK);
    }
    + else
    + {
    + pthread_setname_np(hndl->hndl, taskName);
    + OSA_ERROR("PRI = %d, %s\n", pri, taskName);
    + }

    error_exit:
    pthread_attr_destroy(&thread_attr);
    diff --git a/vision_sdk/links_fw/src/hlos/osa/src/osa_tsk.c b/vision_sdk/links_fw/src/hlos/osa/src/osa_tsk.c
    old mode 100644
    new mode 100755
    index 59792a0d4..014b6b0c1
    --- a/vision_sdk/links_fw/src/hlos/osa/src/osa_tsk.c
    +++ b/vision_sdk/links_fw/src/hlos/osa/src/osa_tsk.c
    @@ -98,7 +98,7 @@ int OSA_tskCreate(OSA_TskHndl *pPrc, OSA_TskFncMain fncMain, Uint32 tskPri, Uint

    OSA_mbxCreate(&pPrc->mbxHndl);

    - OSA_assertSuccess( OSA_thrCreate(&pPrc->thrHndl, OSA_tskThrMain, tskPri, tskStackSize, pPrc) );
    + OSA_assertSuccess( OSA_thrCreate(&pPrc->thrHndl, OSA_tskThrMain, tskPri, tskStackSize, pPrc, fncName));

    return OSA_SOK;
    }
    diff --git a/vision_sdk/links_fw/src/hlos/system/system_ipc_msgq.c b/vision_sdk/links_fw/src/hlos/system/system_ipc_msgq.c
    old mode 100644
    new mode 100755
    index 96603a9ba..41bec8d19
    --- a/vision_sdk/links_fw/src/hlos/system/system_ipc_msgq.c
    +++ b/vision_sdk/links_fw/src/hlos/system/system_ipc_msgq.c
    @@ -260,7 +260,8 @@ Int32 System_ipcMsgQInit(void)
    System_ipcMsgQTskMain,
    OSA_THR_PRI_DEFAULT,
    OSA_THR_STACK_SIZE_DEFAULT,
    - NULL);
    + NULL,
    + "ipcMsgQTskMain");
    OSA_assert(status == OSA_SOK);

    Vps_printf(" SYSTEM: MSGQ: MsgQ init DONE !!!\n");
    diff --git a/vision_sdk/links_fw/src/hlos/system/system_rpmsg_notify.c b/vision_sdk/links_fw/src/hlos/system/system_rpmsg_notify.c
    index 9363aeb27..b4838aedf 100644
    --- a/vision_sdk/links_fw/src/hlos/system/system_rpmsg_notify.c
    +++ b/vision_sdk/links_fw/src/hlos/system/system_rpmsg_notify.c
    @@ -445,7 +445,8 @@ Int32 System_ipcNotifyInit(void)
    System_ipcNotifyRecvFxn,
    SYSTEM_RPMSG_NOTIFY_TSK_PRI,
    OSA_THR_STACK_SIZE_DEFAULT,
    - NULL);
    + NULL,
    + "ipcNotifyRecv");
    OSA_assertSuccess(status);

    Vps_printf(" SYSTEM: IPC: Notify init DONE !!!\n");

    please find the attachment containing tested results after applying the above patch. 

      Priority  TaskName
      -------   -------
      PRI = 50, RemoteLog
      PRI = 99, ipcNotifyRecv
      PRI = 50, ipcMsgQTskMain
      PRI = 50, IPC_OUT_0
      PRI = 50, IPC_OUT_1
      PRI = 50, IPC_OUT_2
      PRI = 50, IPC_OUT_3
      PRI = 50, IPC_OUT_4
      PRI = 50, IPC_IN_0
      PRI = 50, IPC_IN_1
      PRI = 50, IPC_IN_2
      PRI = 50, IPC_IN_3
      PRI = 50, IPC_IN_4
      PRI = 50, IPC_IN_5
      PRI = 50, IPC_IN_6
      PRI = 50, NULL_0
      PRI = 50, NULL_1
      PRI = 50, NULL_SRC_0
      PRI = 50, DISP_DIST_SRC_0
      PRI = 50, DISP_DIST_SRC_1
      PRI = 50, DISP_DIST_SRC_2
      PRI = 50, DISP_DIST_SRC_3
      PRI = 50, ALGORITHM_0
      PRI = 50, ALGORITHM_1
      PRI = 50, ALGORITHM_2
      PRI = 50, ALGORITHM_3
      PRI = 50, ALGORITHM_4
      PRI = 50, ALGORITHM_5
      PRI = 50, ALGORITHM_6
      PRI = 50, ALGORITHM_7
      PRI = 50, DUP0
      PRI = 50, DUP1
      PRI = 50, DUP2
      PRI = 50, DUP3
      PRI = 50, DUP4
      PRI = 50, SYNC_0
      PRI = 50, SYNC_1
      PRI = 50, SYNC_2
      PRI = 50, SYNC_3
      PRI = 50, MERGE_0
      PRI = 50, MERGE_1
      PRI = 50, MERGE_2
      PRI = 50, MERGE_3
      PRI = 50, MERGE_4
      PRI = 50, SELECT_0
      PRI = 50, SELECT_1
      PRI = 50, GATE_0
      PRI = 50, GATE_1
      PRI = 50, GATE_2
      PRI = 50, GATE_3
      PRI = 50, SGXFRMCPY_0
      PRI = 50, NetworkCtrl
      PRI = 99, DataCollect
      PRI = 99, DataCollect
      PRI = 99, DataCollect
      PRI = 99, DataCollect
      PRI = 50, DispDistSrcLink_workLoop
    -----------------------------------------
    
    
    
      723 root      694m T    {VSDKAPPS_MAIN} ./apps.out
      724 root      694m T    {RemoteLog} ./apps.out
      726 root      694m T    {ipcNotifyRecv} ./apps.out
      727 root      694m T    {ipcMsgQTskMain} ./apps.out
      728 root      694m T    {IPC_OUT_0} ./apps.out
      729 root      694m T    {IPC_OUT_1} ./apps.out
      730 root      694m T    {IPC_OUT_2} ./apps.out
      731 root      694m T    {IPC_OUT_3} ./apps.out
      732 root      694m T    {IPC_OUT_4} ./apps.out
      733 root      694m T    {IPC_IN_0} ./apps.out
      734 root      694m T    {IPC_IN_1} ./apps.out
      735 root      694m T    {IPC_IN_2} ./apps.out
      736 root      694m T    {IPC_IN_3} ./apps.out
      737 root      694m T    {IPC_IN_4} ./apps.out
      738 root      694m T    {IPC_IN_5} ./apps.out
      739 root      694m T    {IPC_IN_6} ./apps.out
      740 root      694m T    {NULL_0} ./apps.out
      742 root      694m T    {NULL_1} ./apps.out
      743 root      694m T    {NULL_SRC_0} ./apps.out
      744 root      694m T    {DISP_DIST_SRC_0} ./apps.out
      745 root      694m T    {DISP_DIST_SRC_1} ./apps.out
      746 root      694m T    {DISP_DIST_SRC_2} ./apps.out
      747 root      694m T    {DISP_DIST_SRC_3} ./apps.out
      748 root      694m T    {ALGORITHM_0} ./apps.out
      749 root      694m T    {ALGORITHM_1} ./apps.out
      750 root      694m T    {ALGORITHM_2} ./apps.out
      751 root      694m T    {ALGORITHM_3} ./apps.out
      752 root      694m T    {ALGORITHM_4} ./apps.out
      753 root      694m T    {ALGORITHM_5} ./apps.out
      754 root      694m T    {ALGORITHM_6} ./apps.out
      755 root      694m T    {ALGORITHM_7} ./apps.out
      756 root      694m T    {DUP0} ./apps.out
      757 root      694m T    {DUP1} ./apps.out
      758 root      694m T    {DUP2} ./apps.out
      759 root      694m T    {DUP3} ./apps.out
      760 root      694m T    {DUP4} ./apps.out
      761 root      694m T    {SYNC_0} ./apps.out
      762 root      694m T    {SYNC_1} ./apps.out
      763 root      694m T    {SYNC_2} ./apps.out
      764 root      694m T    {SYNC_3} ./apps.out
      765 root      694m T    {MERGE_0} ./apps.out
      766 root      694m T    {MERGE_1} ./apps.out
      767 root      694m T    {MERGE_2} ./apps.out
      768 root      694m T    {MERGE_3} ./apps.out
      769 root      694m T    {MERGE_4} ./apps.out
      770 root      694m T    {SELECT_0} ./apps.out
      771 root      694m T    {SELECT_1} ./apps.out
      772 root      694m T    {GATE_0} ./apps.out
      773 root      694m T    {GATE_1} ./apps.out
      774 root      694m T    {GATE_2} ./apps.out
      775 root      694m T    {GATE_3} ./apps.out
      776 root      694m T    {SGXFRMCPY_0} ./apps.out
      777 root      694m T    {NetworkCtrl} ./apps.out
      778 root      694m T    {DataCollect} ./apps.out
      779 root      694m T    {DataCollect} ./apps.out
      780 root      694m T    {DataCollect} ./apps.out
      781 root      694m T    {DataCollect} ./apps.out
      782 root      694m T    {DISP_DIST_SRC_0} ./apps.out
    
    

    3) The macros are defined in the below file to set as a thread priority.

    vision_sdk/links_fw/src/hlos/system/system_priv_common.h

    vision_sdk/links_fw/src/hlos/osa/include/osa_thr.h

    The thread "ipcNotifyRecv" is having the priority of 99 & this having the highest priority because this thread used to receive the IPC message from the other core. 

    Please find which thread is causing the issue & let me know the status.

    Thanks

    Gaviraju

  • Hi GaviRaju,

    The Threads which are running at RR 99 is it absolutely necessary to have highest Priority.

    for example can we reduce the priority of "ipcNotifyRecv" what will be the impact? lets say to RR50 or may be less than that

     

    Regards,
    Raghu

  • Hi,

    I'm not recommending to change the default assigned priority to the "ipcNotifyRecv" thread. First I would like to know which thread is hung-up in the apps.out. Based on this we conclude.

    Thanks

    Gaviraju