Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 5.2.0
Target Operating System
Linux
Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
SDK Manager Version
1.7.0.8846
Host Machine Version
native Ubuntu 18.04
Occasionally, especially when the system load is high, we do not receive any new images from the attached IMX390 GMSL cameras anymore for some time.
Using NSight, I have found that when this is happening, the SIPL_ICP_ISP_0 thread gets stuck in a call to ioctl inside this function:
NvMediaICPGetImageGroup
Begins: 31,4961s
Ends: 31,8883s (+392,239 ms)Call stack:
libnvsipl.so ! 0x7f987dbe10
libpthread-2.27.so ! start_thread
This function does two ioctl calls. The first one returns just fine like it always does:
ioctl
Begins: 31,4961s
Ends: 31,5201s (+24,006 ms)Call stack at 31,4961s :
libc-2.27.so ! ioctl
libnvrm_host1x.so ! NvRmHost1xSyncpointWait
libnvmedia.so [2 Frames]
Nsight Systems frames
libnvsipl.so [4 Frames]
libstdc++.so.6.0.25 ! 0x7fa6fe8e94
libpthread-2.27.so ! start_thread
The second call to ioctl usually is very short
ioctl
Begins: 31,4869s
Ends: 31,487s (+84,064 μs)Call stack at 31,4869s :
libc-2.27.so ! ioctl
libnvmedia.so [2 Frames]
Nsight Systems frames
libnvsipl.so [4 Frames]
libstdc++.so.6.0.25 ! 0x7fa6fe8e94
libpthread-2.27.so ! start_thread
…but when this issue happens, it takes very long to return:
ioctl
Begins: 31,5202s
Ends: 31,8882s (+368,014 ms)Call stack at 31,5202s :
libc-2.27.so ! ioctl
libnvmedia.so [2 Frames]
Nsight Systems frames
libnvsipl.so [4 Frames]
libstdc++.so.6.0.25 ! 0x7fa6fe8e94
libpthread-2.27.so ! start_thread
Here is a screenshot from the collected trace, with the blocking ioctl call highlighted: