On Tue, Nov 21 2006, Linus Torvalds wrote:Thanks Jens, I'll apply that later tonight and force a few lockups and
> I don't think we use any irq-disable locking in the VM itself, but I could
> imagine some nasty situation with the block device layer getting into a
> deadlock with interrupts disabled when it runs out of queue entries and
> cannot allocate more memory..
Not likely. Request allocation is done with GFP_NOIO and backed by a
memory pool, so as long the vm doesn't go totally nuts because
__GFP_WAIT is set, we should be safe there. If it did go crazy, I
suspect a sysrq-t would still work.
If bouncing is involved for swap, we do have a potential deadlock issue
that isn't fixed yet. I just whipped up this completely untested patch,
it should shed some light on that issue.