Process stuck in D state after pin memory and exit

In the case that a process request large amounts of host memory and pinned them using cudaHostRegister, it will stuck in D state when received sigkill, and may cost 30 min before the final exit.

system info:
driver version: 470.42.01
cuda version: 11.4
kernel version: ubuntu 5.4.0-58-generic

the captured system call stack below, it looks like os_acquire_semaphore is stuck due to the lock acquired somewhere else. What’s the behaviour please?