Re: Loopback with holes

Pavel Machek (pavel@bug.ucw.cz)
Mon, 19 Jul 1999 23:55:22 +0200


Hi!

> > PS: Of course swapping over nbd does not work. When someone eats all
> > atomic memory (which almost never happens) you don't have enough memory
> > to receive ack for packet you send, and you deadlock. It is reproducible
> > with mem=8M and heavy pingflood, but artifical all-atomicram-eater works
> > much better.
>
> Yes. There _are_ pretty simple ways to fix this, btw, but adding a
> separate clean-page-reaper thread to kswapd is probably too dangerous
> for 2.2.

I don't believe this.

1) our network layer allocates memory for incoming packets.

2) nbd will not work without network stack running.

3) all atomic memory can disappear instantly (improbable but happens)

Therefore:

All memory disappears (3). System decides it wants to swap out. But
there's not enough memory to receive ACK. It even is not enough memory
to respond to ARP requests (1). Therefore our machine looses
networking which means nbd will stop working.

We are "deadlocked". If someone gave us few pages of memory, we could
reply to ARPs, get acks and see that swapouts were successfull. But
nobody is going to give us pages of memory.

Do you see why swapping over nbd (or over nfs) is extremely nasty,
now?

Pavel

-- 
I'm really pavel@ucw.cz. Look at http://195.113.31.123/~pavel.  Pavel
Hi! I'm a .signature virus! Copy me into your ~/.signature, please!

- 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/