Re: MM deadlock [was: Re: arca-vm-8...]

Pavel Machek (pavel@atrey.karlin.mff.cuni.cz)
Mon, 11 Jan 1999 12:20:39 +0100


Hi!

> In fact, to make it really safe we'd need to avoid synchronous swapout
> altogether: otherwise we can have
>
> A kswiod nbd server process
> lock_super();
> bread(ndb device);
> try_to_free_page();
> rw_swap_page_async();
> filemap_write_page();
> lock_super();
> wait_on_buffer();
> try_to_free_page();
> rw_swap_page_sync();
> Oops, kswiod is stalled.
>
> Can we get away without synchronous swapout? Notice that in this case,
> kswiod may be blocked but kswapd itself will not be. As long as the nbd
> server does not try to do a synchronous swap, it won't deadlock on
> kswiod. In other words, it is safe to wait for avaibility of
> another

Is this only matter of nbd? If so, maybe the best solution is to start
claiming: "don't swap over nbd, don't mount localhost drives read
write". [It is bad, but it is probably better than polluting rest of
kernel with nbd workarounds...]

Pavel

-- 
The best software in life is free (not shareware)!		Pavel
GCM d? s-: !g p?:+ au- a--@ w+ v- C++@ UL+++ L++ N++ E++ W--- M- Y- R+

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/