On Tue, Jan 06, 2026 at 09:46:30AM +0800, Hillf Danton wrote: > > taking vq mutex in a kill handler is probably not wise. > > we should have a separate lock just for handling worker > > assignment. > > > Better not before showing us the root cause of the hung to > avoid adding a blind lock.
Well I think it's pretty clear but the issue is that just another lock is not enough, we have bigger problems with this mutex. It's held around userspace accesses so if the vhost thread gets into uninterruptible sleep holding that, a userspace thread trying to take it with mutex_lock will be uninterruptible. So it propagates the uninterruptible status between vhost and a userspace thread. It's not a new issue but the new(ish) thread management APIs make it more visible. Here it's the kill handler that got hung but it's not really limited to that, any ioctl can do that, and I do not want to add another lock on data path. -- MST

