On 07/03/2026 11:21, Samuel Thibault wrote:
Hello,

Michael Kelly, le ven. 06 mars 2026 20:10:16 +0000, a ecrit:
Anyway, when the system locks up, a large package is being installed
creating many dirty pages destined for my chroot ext2fs. pageout is
initiated and threads within all 3 ext2fs servers (/, /boot and the chroot)
are blocked waiting free memory. I've attached the relevant kernel debugger
output to illustrate the detail but in summary the cause is related to the
chroot ext2fs process ($task25):

1) thread 21 waits for memory in vm_fault and so has $map25 locked
Locked? Then that's the issue. Having a lock while waiting for memory
would indeed be a sure path to deadlock. pmap_enter notably releases its
PVH and pmap precisely to avoid such deadlocks.

I however didn't see where vm_fault/pmap_enter locks the map?

I made a mistake with that conclusion as I can't see how it could have the map locked now either. It does seem like some thread has possession of the lock though as there are 9 threads awaiting a write lock and 1 for a read.  I can't prove that they are all waiting for the same lock, although it seems likely, and I should have tried to find that out at the time. Similarly it might have also helped to record the bit flags associated with the lock.

Anyway, I can run it again to try and supply more detail.

Thanks,

Mike.


Reply via email to